diff --git a/app/Config/App.php b/app/Config/App.php index 52613a86..a7c7b770 100644 --- a/app/Config/App.php +++ b/app/Config/App.php @@ -16,7 +16,7 @@ class App extends BaseConfig * URL to your CodeIgniter root. Typically, this will be your base URL, * WITH a trailing slash: * - * http://example.com/ + * E.g., http://example.com/ */ public string $baseURL = 'http://localhost:8080/'; @@ -24,10 +24,10 @@ class App extends BaseConfig * Allowed Hostnames in the Site URL other than the hostname in the baseURL. * If you want to accept multiple Hostnames, set this. * - * E.g. When your site URL ($baseURL) is 'http://example.com/', and your site - * also accepts 'http://media.example.com/' and - * 'http://accounts.example.com/': - * ['media.example.com', 'accounts.example.com'] + * E.g., + * When your site URL ($baseURL) is 'http://example.com/', and your site + * also accepts 'http://media.example.com/' and 'http://accounts.example.com/': + * ['media.example.com', 'accounts.example.com'] * * @var list */ @@ -38,9 +38,9 @@ class App extends BaseConfig * Index File * -------------------------------------------------------------------------- * - * Typically this will be your index.php file, unless you've renamed it to - * something else. If you are using mod_rewrite to remove the page set this - * variable so that it is blank. + * Typically, this will be your `index.php` file, unless you've renamed it to + * something else. If you have configured your web server to remove this file + * from your site URIs, set this variable to an empty string. */ public string $indexPage = ''; @@ -50,12 +50,12 @@ class App extends BaseConfig * -------------------------------------------------------------------------- * * This item determines which server global should be used to retrieve the - * URI string. The default setting of 'REQUEST_URI' works for most servers. + * URI string. The default setting of 'REQUEST_URI' works for most servers. * If your links do not seem to work, try one of the other delicious flavors: * - * 'REQUEST_URI' Uses $_SERVER['REQUEST_URI'] - * 'QUERY_STRING' Uses $_SERVER['QUERY_STRING'] - * 'PATH_INFO' Uses $_SERVER['PATH_INFO'] + * 'REQUEST_URI': Uses $_SERVER['REQUEST_URI'] + * 'QUERY_STRING': Uses $_SERVER['QUERY_STRING'] + * 'PATH_INFO': Uses $_SERVER['PATH_INFO'] * * WARNING: If you set this to 'PATH_INFO', URIs will always be URL-decoded! */ @@ -96,7 +96,7 @@ class App extends BaseConfig * * IncomingRequest::setLocale() also uses this list. * - * @var string[] + * @var list */ public array $supportedLocales = ['en', 'fr', 'pl', 'de', 'pt-BR', 'nn-NO', 'es', 'zh-Hans', 'ca']; @@ -108,7 +108,8 @@ class App extends BaseConfig * The default timezone that will be used in your application to display * dates with the date helper, and can be retrieved through app_timezone() * - * @see https://www.php.net/manual/en/timezones.php for list of timezones supported by PHP. + * @see https://www.php.net/manual/en/timezones.php for list of timezones + * supported by PHP. */ public string $appTimezone = 'UTC'; @@ -132,7 +133,7 @@ class App extends BaseConfig * If true, this will force every request made to this application to be * made via a secure connection (HTTPS). If the incoming request is not * secure, the user will be redirected to a secure version of the page - * and the HTTP Strict Transport Security header will be set. + * and the HTTP Strict Transport Security (HSTS) header will be set. */ public bool $forceGlobalSecureRequests = true; diff --git a/app/Config/Routing.php b/app/Config/Routing.php index 636f7292..0ed4be40 100644 --- a/app/Config/Routing.php +++ b/app/Config/Routing.php @@ -66,13 +66,12 @@ class Routing extends BaseRouting /** * Sets the class/method that should be called if routing doesn't - * find a match. It can be either a closure or the controller/method - * name exactly like a route is defined: Users::index + * find a match. It can be the controller/method name like: Users::index * * This setting is passed to the Router class and handled there. * * If you want to use a closure, you will have to set it in the - * class constructor or the routes file by calling: + * routes file by calling: * * $routes->set404Override(function() { * // Do something here diff --git a/app/Models/EpisodeModel.php b/app/Models/EpisodeModel.php index b5ef60d2..918bc6d1 100644 --- a/app/Models/EpisodeModel.php +++ b/app/Models/EpisodeModel.php @@ -218,7 +218,6 @@ class EpisodeModel extends UuidModel /** @var LazyUuidFromString $uuid */ $uuid = $this->uuid->{$this->uuidVersion}(); - // @phpstan-ignore-next-line if (! $this->update($episodeId, [ 'preview_id' => $uuid, ])) { diff --git a/app/Validation/FileRules.php b/app/Validation/FileRules.php index 49f5fb38..579ec3ca 100644 --- a/app/Validation/FileRules.php +++ b/app/Validation/FileRules.php @@ -95,4 +95,43 @@ class FileRules extends ValidationFileRules } //-------------------------------------------------------------------- + + /** + * Checks that an uploaded json file's content is valid + */ + public function is_json(string $blank = null, string $params = ''): bool + { + // Grab the file name off the top of the $params + // after we split it. + $params = explode(',', $params); + $name = array_shift($params); + + if (! ($files = $this->request->getFileMultiple($name))) { + $files = [$this->request->getFile($name)]; + } + + foreach ($files as $file) { + if ($file === null) { + return false; + } + + if ($file->getError() === UPLOAD_ERR_NO_FILE) { + return true; + } + + $content = file_get_contents($file->getTempName()); + + if ($content === false) { + return false; + } + + json_decode($content); + + if (json_last_error() !== JSON_ERROR_NONE) { + return false; + } + } + + return true; + } } diff --git a/captainhook.json b/captainhook.json index 0f0dbb9a..84a7fd69 100644 --- a/captainhook.json +++ b/captainhook.json @@ -18,7 +18,7 @@ "enabled": true, "actions": [ { - "action": "composer test -- --no-coverage", + "action": "composer test", "options": [], "conditions": [] }, diff --git a/composer.json b/composer.json index 8793c2c2..189bcbed 100644 --- a/composer.json +++ b/composer.json @@ -9,10 +9,10 @@ "php": "^8.1", "adaures/ipcat-php": "^v1.0.0", "adaures/podcast-persons-taxonomy": "^v1.0.1", - "aws/aws-sdk-php": "^3.299.1", + "aws/aws-sdk-php": "^3.300.8", "chrisjean/php-ico": "^1.0.4", "cocur/slugify": "^v4.5.1", - "codeigniter4/framework": "v4.4.5", + "codeigniter4/framework": "v4.4.6", "codeigniter4/settings": "v2.2.0", "codeigniter4/shield": "v1.0.1", "codeigniter4/tasks": "dev-develop", @@ -24,7 +24,7 @@ "michalsn/codeigniter4-uuid": "v1.0.2", "mpratt/embera": "^2.0.36", "opawg/user-agents-v2-php": "dev-main", - "phpseclib/phpseclib": "~2.0.46", + "phpseclib/phpseclib": "~2.0.47", "vlucas/phpdotenv": "v5.6.0", "whichbrowser/parser": "^v2.1.7", "yassinedoghri/podcast-feed": "dev-main" @@ -34,8 +34,8 @@ "codeigniter/phpstan-codeigniter": "v1.4.3", "mikey179/vfsstream": "^v1.6.11", "phpstan/extension-installer": "^1.3.1", - "phpstan/phpstan": "^1.10.58", - "phpunit/phpunit": "^10.5.10", + "phpstan/phpstan": "^1.10.59", + "phpunit/phpunit": "^10.5.11", "rector/rector": "^1.0.1", "symplify/coding-standard": "^12.0.7", "symplify/easy-coding-standard": "^12.0.13" diff --git a/composer.lock b/composer.lock index ca8eb96e..24b2e80b 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": "4773eb8843b3b60e4e4dbfd1926167d9", + "content-hash": "b5a3103c2712fc40845933bb0de767d3", "packages": [ { "name": "adaures/ipcat-php", @@ -120,16 +120,16 @@ }, { "name": "aws/aws-sdk-php", - "version": "3.299.1", + "version": "3.300.8", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "a0f87b8e8bfb9afd0ffd702fcda556b465eee457" + "reference": "421be99f109a330acd4297abe2f41069eccbf447" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/a0f87b8e8bfb9afd0ffd702fcda556b465eee457", - "reference": "a0f87b8e8bfb9afd0ffd702fcda556b465eee457", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/421be99f109a330acd4297abe2f41069eccbf447", + "reference": "421be99f109a330acd4297abe2f41069eccbf447", "shasum": "" }, "require": { @@ -205,9 +205,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.299.1" + "source": "https://github.com/aws/aws-sdk-php/tree/3.300.8" }, - "time": "2024-02-16T19:08:34+00:00" + "time": "2024-02-29T19:06:50+00:00" }, { "name": "brick/math", @@ -373,16 +373,16 @@ }, { "name": "codeigniter4/framework", - "version": "v4.4.5", + "version": "v4.4.6", "source": { "type": "git", "url": "https://github.com/codeigniter4/framework.git", - "reference": "f5844cb9790d87ff6043203953821740ba3aa592" + "reference": "7d393f85e8410f16654fa9b486694ff68c354c99" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/codeigniter4/framework/zipball/f5844cb9790d87ff6043203953821740ba3aa592", - "reference": "f5844cb9790d87ff6043203953821740ba3aa592", + "url": "https://api.github.com/repos/codeigniter4/framework/zipball/7d393f85e8410f16654fa9b486694ff68c354c99", + "reference": "7d393f85e8410f16654fa9b486694ff68c354c99", "shasum": "" }, "require": { @@ -440,7 +440,7 @@ "slack": "https://codeigniterchat.slack.com", "source": "https://github.com/codeigniter4/CodeIgniter4" }, - "time": "2024-01-27T03:57:48+00:00" + "time": "2024-02-24T02:42:57+00:00" }, { "name": "codeigniter4/settings", @@ -564,12 +564,12 @@ "source": { "type": "git", "url": "https://github.com/codeigniter4/tasks.git", - "reference": "af45180ea8e04a162699bc55d7bed6b883199f38" + "reference": "dbdd8fc32d31d78fdfd559c77240c43faee7ff55" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/codeigniter4/tasks/zipball/af45180ea8e04a162699bc55d7bed6b883199f38", - "reference": "af45180ea8e04a162699bc55d7bed6b883199f38", + "url": "https://api.github.com/repos/codeigniter4/tasks/zipball/dbdd8fc32d31d78fdfd559c77240c43faee7ff55", + "reference": "dbdd8fc32d31d78fdfd559c77240c43faee7ff55", "shasum": "" }, "require": { @@ -580,7 +580,7 @@ "require-dev": { "codeigniter4/devkit": "^1.0", "codeigniter4/framework": "^4.1", - "rector/rector": "0.19.8" + "rector/rector": "1.0.1" }, "default-branch": true, "type": "library", @@ -638,20 +638,20 @@ "source": "https://github.com/codeigniter4/tasks/tree/develop", "issues": "https://github.com/codeigniter4/tasks/issues" }, - "time": "2024-02-05T11:21:42+00:00" + "time": "2024-02-23T11:59:21+00:00" }, { "name": "composer/ca-bundle", - "version": "1.4.0", + "version": "1.4.1", "source": { "type": "git", "url": "https://github.com/composer/ca-bundle.git", - "reference": "b66d11b7479109ab547f9405b97205640b17d385" + "reference": "3ce240142f6d59b808dd65c1f52f7a1c252e6cfd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/b66d11b7479109ab547f9405b97205640b17d385", - "reference": "b66d11b7479109ab547f9405b97205640b17d385", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/3ce240142f6d59b808dd65c1f52f7a1c252e6cfd", + "reference": "3ce240142f6d59b808dd65c1f52f7a1c252e6cfd", "shasum": "" }, "require": { @@ -690,7 +690,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.4.0" + "source": "https://github.com/composer/ca-bundle/tree/1.4.1" }, "funding": [ { @@ -706,7 +706,7 @@ "type": "tidelift" } ], - "time": "2023-12-18T12:05:55+00:00" + "time": "2024-02-23T10:16:52+00:00" }, { "name": "dflydev/dot-access-data", @@ -2166,16 +2166,16 @@ }, { "name": "phpseclib/phpseclib", - "version": "2.0.46", + "version": "2.0.47", "source": { "type": "git", "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "498e67a0c82bd5791fda9b0dd0f4ec8e8aebb02d" + "reference": "b7d7d90ee7df7f33a664b4aea32d50a305d35adb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/498e67a0c82bd5791fda9b0dd0f4ec8e8aebb02d", - "reference": "498e67a0c82bd5791fda9b0dd0f4ec8e8aebb02d", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/b7d7d90ee7df7f33a664b4aea32d50a305d35adb", + "reference": "b7d7d90ee7df7f33a664b4aea32d50a305d35adb", "shasum": "" }, "require": { @@ -2252,7 +2252,7 @@ ], "support": { "issues": "https://github.com/phpseclib/phpseclib/issues", - "source": "https://github.com/phpseclib/phpseclib/tree/2.0.46" + "source": "https://github.com/phpseclib/phpseclib/tree/2.0.47" }, "funding": [ { @@ -2268,7 +2268,7 @@ "type": "tidelift" } ], - "time": "2023-12-29T01:52:43+00:00" + "time": "2024-02-26T04:55:38+00:00" }, { "name": "psr/cache", @@ -3614,16 +3614,16 @@ }, { "name": "friendsofphp/php-cs-fixer", - "version": "v3.49.0", + "version": "v3.51.0", "source": { "type": "git", "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git", - "reference": "8742f7aa6f72a399688b65e4f58992c2d4681fc2" + "reference": "127fa74f010da99053e3f5b62672615b72dd6efd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/8742f7aa6f72a399688b65e4f58992c2d4681fc2", - "reference": "8742f7aa6f72a399688b65e4f58992c2d4681fc2", + "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/127fa74f010da99053e3f5b62672615b72dd6efd", + "reference": "127fa74f010da99053e3f5b62672615b72dd6efd", "shasum": "" }, "require": { @@ -3633,7 +3633,7 @@ "ext-json": "*", "ext-tokenizer": "*", "php": "^7.4 || ^8.0", - "sebastian/diff": "^4.0 || ^5.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", @@ -3654,7 +3654,8 @@ "php-cs-fixer/accessible-object": "^1.1", "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.4", "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.4", - "phpunit/phpunit": "^9.6 || ^10.5.5", + "phpunit/phpunit": "^9.6 || ^10.5.5 || ^11.0.2", + "symfony/var-dumper": "^5.4 || ^6.0 || ^7.0", "symfony/yaml": "^5.4 || ^6.0 || ^7.0" }, "suggest": { @@ -3689,7 +3690,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.49.0" + "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.51.0" }, "funding": [ { @@ -3697,7 +3698,7 @@ "type": "github" } ], - "time": "2024-02-02T00:41:40+00:00" + "time": "2024-02-28T19:50:06+00:00" }, { "name": "mikey179/vfsstream", @@ -3799,16 +3800,16 @@ }, { "name": "nikic/php-parser", - "version": "v5.0.0", + "version": "v5.0.1", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "4a21235f7e56e713259a6f76bf4b5ea08502b9dc" + "reference": "2218c2252c874a4624ab2f613d86ac32d227bc69" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/4a21235f7e56e713259a6f76bf4b5ea08502b9dc", - "reference": "4a21235f7e56e713259a6f76bf4b5ea08502b9dc", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/2218c2252c874a4624ab2f613d86ac32d227bc69", + "reference": "2218c2252c874a4624ab2f613d86ac32d227bc69", "shasum": "" }, "require": { @@ -3844,9 +3845,9 @@ "keywords": ["parser", "php"], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.0" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.1" }, - "time": "2024-01-07T17:17:35+00:00" + "time": "2024-02-21T19:24:10+00:00" }, { "name": "phar-io/manifest", @@ -3995,16 +3996,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.10.58", + "version": "1.10.59", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "a23518379ec4defd9e47cbf81019526861623ec2" + "reference": "e607609388d3a6d418a50a49f7940e8086798281" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/a23518379ec4defd9e47cbf81019526861623ec2", - "reference": "a23518379ec4defd9e47cbf81019526861623ec2", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/e607609388d3a6d418a50a49f7940e8086798281", + "reference": "e607609388d3a6d418a50a49f7940e8086798281", "shasum": "" }, "require": { @@ -4043,7 +4044,7 @@ "type": "tidelift" } ], - "time": "2024-02-12T20:02:57+00:00" + "time": "2024-02-20T13:59:13+00:00" }, { "name": "phpunit/php-code-coverage", @@ -4335,16 +4336,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.5.10", + "version": "10.5.11", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "50b8e314b6d0dd06521dc31d1abffa73f25f850c" + "reference": "0d968f6323deb3dbfeba5bfd4929b9415eb7a9a4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/50b8e314b6d0dd06521dc31d1abffa73f25f850c", - "reference": "50b8e314b6d0dd06521dc31d1abffa73f25f850c", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/0d968f6323deb3dbfeba5bfd4929b9415eb7a9a4", + "reference": "0d968f6323deb3dbfeba5bfd4929b9415eb7a9a4", "shasum": "" }, "require": { @@ -4404,7 +4405,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.10" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.11" }, "funding": [ { @@ -4420,7 +4421,7 @@ "type": "tidelift" } ], - "time": "2024-02-04T09:07:51+00:00" + "time": "2024-02-25T14:05:00+00:00" }, { "name": "psr/container", @@ -5520,16 +5521,16 @@ }, { "name": "symfony/console", - "version": "v6.4.3", + "version": "v6.4.4", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "2aaf83b4de5b9d43b93e4aec6f2f8b676f7c567e" + "reference": "0d9e4eb5ad413075624378f474c4167ea202de78" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/2aaf83b4de5b9d43b93e4aec6f2f8b676f7c567e", - "reference": "2aaf83b4de5b9d43b93e4aec6f2f8b676f7c567e", + "url": "https://api.github.com/repos/symfony/console/zipball/0d9e4eb5ad413075624378f474c4167ea202de78", + "reference": "0d9e4eb5ad413075624378f474c4167ea202de78", "shasum": "" }, "require": { @@ -5585,7 +5586,7 @@ "homepage": "https://symfony.com", "keywords": ["cli", "command-line", "console", "terminal"], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.3" + "source": "https://github.com/symfony/console/tree/v6.4.4" }, "funding": [ { @@ -5601,7 +5602,7 @@ "type": "tidelift" } ], - "time": "2024-01-23T14:51:35+00:00" + "time": "2024-02-22T20:27:10+00:00" }, { "name": "symfony/event-dispatcher", @@ -6147,16 +6148,16 @@ }, { "name": "symfony/process", - "version": "v6.4.3", + "version": "v6.4.4", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "31642b0818bfcff85930344ef93193f8c607e0a3" + "reference": "710e27879e9be3395de2b98da3f52a946039f297" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/31642b0818bfcff85930344ef93193f8c607e0a3", - "reference": "31642b0818bfcff85930344ef93193f8c607e0a3", + "url": "https://api.github.com/repos/symfony/process/zipball/710e27879e9be3395de2b98da3f52a946039f297", + "reference": "710e27879e9be3395de2b98da3f52a946039f297", "shasum": "" }, "require": { @@ -6184,7 +6185,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.4.3" + "source": "https://github.com/symfony/process/tree/v6.4.4" }, "funding": [ { @@ -6200,7 +6201,7 @@ "type": "tidelift" } ], - "time": "2024-01-23T14:51:35+00:00" + "time": "2024-02-20T12:31:00+00:00" }, { "name": "symfony/service-contracts", @@ -6340,16 +6341,16 @@ }, { "name": "symfony/string", - "version": "v6.4.3", + "version": "v6.4.4", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "7a14736fb179876575464e4658fce0c304e8c15b" + "reference": "4e465a95bdc32f49cf4c7f07f751b843bbd6dcd9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/7a14736fb179876575464e4658fce0c304e8c15b", - "reference": "7a14736fb179876575464e4658fce0c304e8c15b", + "url": "https://api.github.com/repos/symfony/string/zipball/4e465a95bdc32f49cf4c7f07f751b843bbd6dcd9", + "reference": "4e465a95bdc32f49cf4c7f07f751b843bbd6dcd9", "shasum": "" }, "require": { @@ -6393,7 +6394,7 @@ "homepage": "https://symfony.com", "keywords": ["grapheme", "i18n", "string", "unicode", "utf-8", "utf8"], "support": { - "source": "https://github.com/symfony/string/tree/v6.4.3" + "source": "https://github.com/symfony/string/tree/v6.4.4" }, "funding": [ { @@ -6409,7 +6410,7 @@ "type": "tidelift" } ], - "time": "2024-01-25T09:26:29+00:00" + "time": "2024-02-01T13:16:41+00:00" }, { "name": "symplify/coding-standard", diff --git a/modules/Admin/Controllers/EpisodeController.php b/modules/Admin/Controllers/EpisodeController.php index fe48391c..6f9ae615 100644 --- a/modules/Admin/Controllers/EpisodeController.php +++ b/modules/Admin/Controllers/EpisodeController.php @@ -161,8 +161,8 @@ class EpisodeController extends BaseController 'slug' => 'required|max_length[128]', 'audio_file' => 'uploaded[audio_file]|ext_in[audio_file,mp3,m4a]', 'cover' => 'is_image[cover]|ext_in[cover,jpg,jpeg,png]|min_dims[cover,1400,1400]|is_image_ratio[cover,1,1]', - 'transcript_file' => 'ext_in[transcript,srt]|permit_empty', - 'chapters_file' => 'ext_in[chapters,json]|permit_empty', + 'transcript_file' => 'ext_in[transcript_file,srt,vtt]', + 'chapters_file' => 'ext_in[chapters_file,json]|is_json[chapters_file]', ]; if ($this->podcast->type === 'serial' && $this->request->getPost('type') === 'full') { @@ -297,10 +297,10 @@ class EpisodeController extends BaseController $rules = [ 'title' => 'required', 'slug' => 'required|max_length[128]', - 'audio_file' => 'uploaded[audio_file]|ext_in[audio_file,mp3,m4a]|permit_empty', + 'audio_file' => 'ext_in[audio_file,mp3,m4a]', 'cover' => 'is_image[cover]|ext_in[cover,jpg,jpeg,png]|min_dims[cover,1400,1400]|is_image_ratio[cover,1,1]', - 'transcript_file' => 'ext_in[transcript_file,txt,html,srt,json]|permit_empty', - 'chapters_file' => 'ext_in[chapters_file,json]|permit_empty', + 'transcript_file' => 'ext_in[transcript_file,srt,vtt]', + 'chapters_file' => 'ext_in[chapters_file,json]|is_json[chapters_file]', ]; if ($this->podcast->type === 'serial' && $this->request->getPost('type') === 'full') { diff --git a/modules/Admin/Language/en/Validation.php b/modules/Admin/Language/en/Validation.php index 3bc78cfe..f76c3163 100644 --- a/modules/Admin/Language/en/Validation.php +++ b/modules/Admin/Language/en/Validation.php @@ -13,4 +13,5 @@ return [ '{field} is either not an image, or it is not wide or tall enough.', 'is_image_ratio' => '{field} is either not an image or not of the right ratio.', + 'is_json' => '{field} contains invalid JSON.', ]; diff --git a/package.json b/package.json index 3cbc8534..87e86edc 100644 --- a/package.json +++ b/package.json @@ -33,8 +33,8 @@ "@codemirror/commands": "^6.3.3", "@codemirror/lang-xml": "^6.0.2", "@codemirror/language": "^6.10.1", - "@codemirror/state": "^6.4.0", - "@codemirror/view": "^6.24.0", + "@codemirror/state": "^6.4.1", + "@codemirror/view": "^6.24.1", "@floating-ui/dom": "^1.6.3", "@github/clipboard-copy-element": "^1.3.0", "@github/hotkey": "^3.1.0", @@ -48,29 +48,29 @@ "leaflet": "^1.9.4", "leaflet.markercluster": "^1.5.3", "lit": "^3.1.2", - "marked": "^11.2.0", + "marked": "^12.0.0", "wavesurfer.js": "^7.7.3", "xml-formatter": "^3.6.2" }, "devDependencies": { - "@commitlint/cli": "^18.6.1", - "@commitlint/config-conventional": "^18.6.2", + "@commitlint/cli": "^19.0.3", + "@commitlint/config-conventional": "^19.0.3", "@csstools/css-tokenizer": "^2.2.3", "@semantic-release/changelog": "^6.0.3", "@semantic-release/exec": "^6.0.3", "@semantic-release/git": "^10.0.1", - "@semantic-release/gitlab": "^13.0.2", + "@semantic-release/gitlab": "^13.0.3", "@tailwindcss/forms": "^0.5.7", "@tailwindcss/typography": "^0.5.10", "@types/leaflet": "^1.9.8", - "@typescript-eslint/eslint-plugin": "^6.21.0", - "@typescript-eslint/parser": "^6.21.0", + "@typescript-eslint/eslint-plugin": "^7.1.0", + "@typescript-eslint/parser": "^7.1.0", "all-contributors-cli": "^6.26.1", "commitizen": "^4.3.0", "cross-env": "^7.0.3", "cssnano": "^6.0.3", "cz-conventional-changelog": "^3.3.0", - "eslint": "^8.56.0", + "eslint": "^8.57.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.1.3", "husky": "^9.0.11", @@ -78,8 +78,8 @@ "lint-staged": "^15.2.2", "postcss": "^8.4.35", "postcss-import": "^16.0.1", - "postcss-nesting": "^12.0.2", - "postcss-preset-env": "^9.3.0", + "postcss-nesting": "^12.0.4", + "postcss-preset-env": "^9.4.0", "postcss-reporter": "^7.1.0", "prettier": "3.2.5", "prettier-plugin-organize-imports": "^3.2.4", @@ -89,8 +89,8 @@ "svgo": "^3.2.0", "tailwindcss": "^3.4.1", "typescript": "^5.3.3", - "vite": "^5.1.3", - "vite-plugin-pwa": "^0.17.5", + "vite": "^5.1.4", + "vite-plugin-pwa": "^0.19.2", "workbox-build": "^7.0.0", "workbox-core": "^7.0.0", "workbox-routing": "^7.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8709afa9..2c66247b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,16 +16,16 @@ dependencies: version: 6.3.3 "@codemirror/lang-xml": specifier: ^6.0.2 - version: 6.0.2(@codemirror/view@6.24.0) + version: 6.0.2(@codemirror/view@6.24.1) "@codemirror/language": specifier: ^6.10.1 version: 6.10.1 "@codemirror/state": - specifier: ^6.4.0 - version: 6.4.0 + specifier: ^6.4.1 + version: 6.4.1 "@codemirror/view": - specifier: ^6.24.0 - version: 6.24.0 + specifier: ^6.24.1 + version: 6.24.1 "@floating-ui/dom": specifier: ^1.6.3 version: 1.6.3 @@ -66,8 +66,8 @@ dependencies: specifier: ^3.1.2 version: 3.1.2 marked: - specifier: ^11.2.0 - version: 11.2.0 + specifier: ^12.0.0 + version: 12.0.0 wavesurfer.js: specifier: ^7.7.3 version: 7.7.3 @@ -77,11 +77,11 @@ dependencies: devDependencies: "@commitlint/cli": - specifier: ^18.6.1 - version: 18.6.1(@types/node@20.10.5)(typescript@5.3.3) + specifier: ^19.0.3 + version: 19.0.3(@types/node@20.10.5)(typescript@5.3.3) "@commitlint/config-conventional": - specifier: ^18.6.2 - version: 18.6.2 + specifier: ^19.0.3 + version: 19.0.3 "@csstools/css-tokenizer": specifier: ^2.2.3 version: 2.2.3 @@ -95,8 +95,8 @@ devDependencies: specifier: ^10.0.1 version: 10.0.1(semantic-release@23.0.2) "@semantic-release/gitlab": - specifier: ^13.0.2 - version: 13.0.2(semantic-release@23.0.2) + specifier: ^13.0.3 + version: 13.0.3(semantic-release@23.0.2) "@tailwindcss/forms": specifier: ^0.5.7 version: 0.5.7(tailwindcss@3.4.1) @@ -107,17 +107,17 @@ devDependencies: specifier: ^1.9.8 version: 1.9.8 "@typescript-eslint/eslint-plugin": - specifier: ^6.21.0 - version: 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.3.3) + specifier: ^7.1.0 + version: 7.1.0(@typescript-eslint/parser@7.1.0)(eslint@8.57.0)(typescript@5.3.3) "@typescript-eslint/parser": - specifier: ^6.21.0 - version: 6.21.0(eslint@8.56.0)(typescript@5.3.3) + specifier: ^7.1.0 + version: 7.1.0(eslint@8.57.0)(typescript@5.3.3) all-contributors-cli: specifier: ^6.26.1 version: 6.26.1 commitizen: specifier: ^4.3.0 - version: 4.3.0(typescript@5.3.3) + version: 4.3.0(@types/node@20.10.5)(typescript@5.3.3) cross-env: specifier: ^7.0.3 version: 7.0.3 @@ -126,16 +126,16 @@ devDependencies: version: 6.0.3(postcss@8.4.35) cz-conventional-changelog: specifier: ^3.3.0 - version: 3.3.0(typescript@5.3.3) + version: 3.3.0(@types/node@20.10.5)(typescript@5.3.3) eslint: - specifier: ^8.56.0 - version: 8.56.0 + specifier: ^8.57.0 + version: 8.57.0 eslint-config-prettier: specifier: ^9.1.0 - version: 9.1.0(eslint@8.56.0) + version: 9.1.0(eslint@8.57.0) eslint-plugin-prettier: specifier: ^5.1.3 - version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.56.0)(prettier@3.2.5) + version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5) husky: specifier: ^9.0.11 version: 9.0.11 @@ -152,11 +152,11 @@ devDependencies: specifier: ^16.0.1 version: 16.0.1(postcss@8.4.35) postcss-nesting: - specifier: ^12.0.2 - version: 12.0.2(postcss@8.4.35) + specifier: ^12.0.4 + version: 12.0.4(postcss@8.4.35) postcss-preset-env: - specifier: ^9.3.0 - version: 9.3.0(postcss@8.4.35) + specifier: ^9.4.0 + version: 9.4.0(postcss@8.4.35) postcss-reporter: specifier: ^7.1.0 version: 7.1.0(postcss@8.4.35) @@ -185,11 +185,11 @@ devDependencies: specifier: ^5.3.3 version: 5.3.3 vite: - specifier: ^5.1.3 - version: 5.1.3(@types/node@20.10.5) + specifier: ^5.1.4 + version: 5.1.4(@types/node@20.10.5) vite-plugin-pwa: - specifier: ^0.17.5 - version: 0.17.5(vite@5.1.3)(workbox-build@7.0.0)(workbox-window@7.0.0) + specifier: ^0.19.2 + version: 0.19.2(vite@5.1.4)(workbox-build@7.0.0)(workbox-window@7.0.0) workbox-build: specifier: ^7.0.0 version: 7.0.0 @@ -1761,7 +1761,7 @@ packages: to-fast-properties: 2.0.0 dev: true - /@codemirror/autocomplete@6.11.1(@codemirror/language@6.10.1)(@codemirror/state@6.4.0)(@codemirror/view@6.24.0)(@lezer/common@1.2.0): + /@codemirror/autocomplete@6.11.1(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.24.1)(@lezer/common@1.2.0): resolution: { integrity: sha512-L5UInv8Ffd6BPw0P3EF7JLYAMeEbclY7+6Q11REt8vhih8RuLreKtPy/xk8wPxs4EQgYqzI7cdgpiYwWlbS/ow==, @@ -1773,8 +1773,8 @@ packages: "@lezer/common": ^1.0.0 dependencies: "@codemirror/language": 6.10.1 - "@codemirror/state": 6.4.0 - "@codemirror/view": 6.24.0 + "@codemirror/state": 6.4.1 + "@codemirror/view": 6.24.1 "@lezer/common": 1.2.0 dev: false @@ -1785,20 +1785,20 @@ packages: } dependencies: "@codemirror/language": 6.10.1 - "@codemirror/state": 6.4.0 - "@codemirror/view": 6.24.0 + "@codemirror/state": 6.4.1 + "@codemirror/view": 6.24.1 "@lezer/common": 1.2.0 dev: false - /@codemirror/lang-xml@6.0.2(@codemirror/view@6.24.0): + /@codemirror/lang-xml@6.0.2(@codemirror/view@6.24.1): resolution: { integrity: sha512-JQYZjHL2LAfpiZI2/qZ/qzDuSqmGKMwyApYmEUUCTxLM4MWS7sATUEfIguZQr9Zjx/7gcdnewb039smF6nC2zw==, } dependencies: - "@codemirror/autocomplete": 6.11.1(@codemirror/language@6.10.1)(@codemirror/state@6.4.0)(@codemirror/view@6.24.0)(@lezer/common@1.2.0) + "@codemirror/autocomplete": 6.11.1(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.24.1)(@lezer/common@1.2.0) "@codemirror/language": 6.10.1 - "@codemirror/state": 6.4.0 + "@codemirror/state": 6.4.1 "@lezer/common": 1.2.0 "@lezer/xml": 1.0.4 transitivePeerDependencies: @@ -1811,8 +1811,8 @@ packages: integrity: sha512-5GrXzrhq6k+gL5fjkAwt90nYDmjlzTIJV8THnxNFtNKWotMIlzzN+CpqxqwXOECnUdOndmSeWntVrVcv5axWRQ==, } dependencies: - "@codemirror/state": 6.4.0 - "@codemirror/view": 6.24.0 + "@codemirror/state": 6.4.1 + "@codemirror/view": 6.24.1 "@lezer/common": 1.2.0 "@lezer/highlight": 1.2.0 "@lezer/lr": 1.3.14 @@ -1825,8 +1825,8 @@ packages: integrity: sha512-wzRkluWb1ptPKdzlsrbwwjYCPLgzU6N88YBAmlZi8WFyuiEduSd05MnJYNogzyc8rPK7pj6m95ptUApc8sHKVA==, } dependencies: - "@codemirror/state": 6.4.0 - "@codemirror/view": 6.24.0 + "@codemirror/state": 6.4.1 + "@codemirror/view": 6.24.1 crelt: 1.0.6 dev: false @@ -1836,25 +1836,25 @@ packages: integrity: sha512-PIEN3Ke1buPod2EHbJsoQwlbpkz30qGZKcnmH1eihq9+bPQx8gelauUwLYaY4vBOuBAuEhmpDLii4rj/uO0yMA==, } dependencies: - "@codemirror/state": 6.4.0 - "@codemirror/view": 6.24.0 + "@codemirror/state": 6.4.1 + "@codemirror/view": 6.24.1 crelt: 1.0.6 dev: false - /@codemirror/state@6.4.0: + /@codemirror/state@6.4.1: resolution: { - integrity: sha512-hm8XshYj5Fo30Bb922QX9hXB/bxOAVH+qaqHBzw5TKa72vOeslyGwd4X8M0c1dJ9JqxlaMceOQ8RsL9tC7gU0A==, + integrity: sha512-QkEyUiLhsJoZkbumGZlswmAhA7CBU02Wrz7zvH4SrcifbsqwlXShVXg65f3v/ts57W3dqyamEriMhij1Z3Zz4A==, } dev: false - /@codemirror/view@6.24.0: + /@codemirror/view@6.24.1: resolution: { - integrity: sha512-zK6m5pNkdhdJl8idPP1gA4N8JKTiSsOz8U/Iw+C1ChMwyLG7+MLiNXnH/wFuAk6KeGEe33/adOiAh5jMqee03w==, + integrity: sha512-sBfP4rniPBRQzNakwuQEqjEuiJDWJyF2kqLLqij4WXRoVwPPJfjx966Eq3F7+OPQxDtMt/Q9MWLoZLWjeveBlg==, } dependencies: - "@codemirror/state": 6.4.0 + "@codemirror/state": 6.4.1 style-mod: 4.1.0 w3c-keyname: 2.2.8 dev: false @@ -1869,72 +1869,69 @@ packages: dev: true optional: true - /@commitlint/cli@18.6.1(@types/node@20.10.5)(typescript@5.3.3): + /@commitlint/cli@19.0.3(@types/node@20.10.5)(typescript@5.3.3): resolution: { - integrity: sha512-5IDE0a+lWGdkOvKH892HHAZgbAjcj1mT5QrfA/SVbLJV/BbBMGyKN0W5mhgjekPJJwEQdVNvhl9PwUacY58Usw==, + integrity: sha512-mGhh/aYPib4Vy4h+AGRloMY+CqkmtdeKPV9poMcZeImF5e3knQ5VYaSeAM0mEzps1dbKsHvABwaDpafLUuM96g==, } engines: { node: ">=v18" } hasBin: true dependencies: - "@commitlint/format": 18.6.1 - "@commitlint/lint": 18.6.1 - "@commitlint/load": 18.6.1(@types/node@20.10.5)(typescript@5.3.3) - "@commitlint/read": 18.6.1 - "@commitlint/types": 18.6.1 - execa: 5.1.1 - lodash.isfunction: 3.0.9 - resolve-from: 5.0.0 - resolve-global: 1.0.0 + "@commitlint/format": 19.0.3 + "@commitlint/lint": 19.0.3 + "@commitlint/load": 19.0.3(@types/node@20.10.5)(typescript@5.3.3) + "@commitlint/read": 19.0.3 + "@commitlint/types": 19.0.3 + execa: 8.0.1 yargs: 17.7.2 transitivePeerDependencies: - "@types/node" - typescript dev: true - /@commitlint/config-conventional@18.6.2: + /@commitlint/config-conventional@19.0.3: resolution: { - integrity: sha512-PcgSYg1AKGQIwDQKbaHtJsfqYy4uJTC7crLVZ83lfjcPaec4Pry2vLeaWej7ao2KsT20l9dWoMPpEGg8LWdUuA==, + integrity: sha512-vh0L8XeLaEzTe8VCxSd0gAFvfTK0RFolrzw4o431bIuWJfi/yRCHJlsDwus7wW2eJaFFDR0VFXJyjGyDQhi4vA==, } engines: { node: ">=v18" } dependencies: - "@commitlint/types": 18.6.1 + "@commitlint/types": 19.0.3 conventional-changelog-conventionalcommits: 7.0.2 dev: true - /@commitlint/config-validator@18.4.3: - resolution: - { - integrity: sha512-FPZZmTJBARPCyef9ohRC9EANiQEKSWIdatx5OlgeHKu878dWwpyeFauVkhzuBRJFcCA4Uvz/FDtlDKs008IHcA==, - } - engines: { node: ">=v18" } - requiresBuild: true - dependencies: - "@commitlint/types": 18.4.3 - ajv: 8.12.0 - dev: true - optional: true - /@commitlint/config-validator@18.6.1: resolution: { integrity: sha512-05uiToBVfPhepcQWE1ZQBR/Io3+tb3gEotZjnI4tTzzPk16NffN6YABgwFQCLmzZefbDcmwWqJWc2XT47q7Znw==, } engines: { node: ">=v18" } + requiresBuild: true dependencies: "@commitlint/types": 18.6.1 ajv: 8.12.0 dev: true + optional: true - /@commitlint/ensure@18.6.1: + /@commitlint/config-validator@19.0.3: resolution: { - integrity: sha512-BPm6+SspyxQ7ZTsZwXc7TRQL5kh5YWt3euKmEIBZnocMFkJevqs3fbLRb8+8I/cfbVcAo4mxRlpTPfz8zX7SnQ==, + integrity: sha512-2D3r4PKjoo59zBc2auodrSCaUnCSALCx54yveOFwwP/i2kfEAQrygwOleFWswLqK0UL/F9r07MFi5ev2ohyM4Q==, } engines: { node: ">=v18" } dependencies: - "@commitlint/types": 18.6.1 + "@commitlint/types": 19.0.3 + ajv: 8.12.0 + dev: true + + /@commitlint/ensure@19.0.3: + resolution: + { + integrity: sha512-SZEpa/VvBLoT+EFZVb91YWbmaZ/9rPH3ESrINOl0HD2kMYsjvl0tF7nMHh0EpTcv4+gTtZBAe1y/SS6/OhfZzQ==, + } + engines: { node: ">=v18" } + dependencies: + "@commitlint/types": 19.0.3 lodash.camelcase: 4.3.0 lodash.kebabcase: 4.1.1 lodash.snakecase: 4.1.1 @@ -1942,90 +1939,66 @@ packages: lodash.upperfirst: 4.3.1 dev: true - /@commitlint/execute-rule@18.4.3: - resolution: - { - integrity: sha512-t7FM4c+BdX9WWZCPrrbV5+0SWLgT3kCq7e7/GhHCreYifg3V8qyvO127HF796vyFql75n4TFF+5v1asOOWkV1Q==, - } - engines: { node: ">=v18" } - requiresBuild: true - dev: true - optional: true - /@commitlint/execute-rule@18.6.1: resolution: { integrity: sha512-7s37a+iWyJiGUeMFF6qBlyZciUkF8odSAnHijbD36YDctLhGKoYltdvuJ/AFfRm6cBLRtRk9cCVPdsEFtt/2rg==, } engines: { node: ">=v18" } + requiresBuild: true dev: true + optional: true - /@commitlint/format@18.6.1: + /@commitlint/execute-rule@19.0.0: resolution: { - integrity: sha512-K8mNcfU/JEFCharj2xVjxGSF+My+FbUHoqR+4GqPGrHNqXOGNio47ziiR4HQUPKtiNs05o8/WyLBoIpMVOP7wg==, + integrity: sha512-mtsdpY1qyWgAO/iOK0L6gSGeR7GFcdW7tIjcNFxcWkfLDF5qVbPHKuGATFqRMsxcO8OUKNj0+3WOHB7EHm4Jdw==, + } + engines: { node: ">=v18" } + dev: true + + /@commitlint/format@19.0.3: + resolution: + { + integrity: sha512-QjjyGyoiVWzx1f5xOteKHNLFyhyweVifMgopozSgx1fGNrGV8+wp7k6n1t6StHdJ6maQJ+UUtO2TcEiBFRyR6Q==, } engines: { node: ">=v18" } dependencies: - "@commitlint/types": 18.6.1 - chalk: 4.1.2 + "@commitlint/types": 19.0.3 + chalk: 5.3.0 dev: true - /@commitlint/is-ignored@18.6.1: + /@commitlint/is-ignored@19.0.3: resolution: { - integrity: sha512-MOfJjkEJj/wOaPBw5jFjTtfnx72RGwqYIROABudOtJKW7isVjFe9j0t8xhceA02QebtYf4P/zea4HIwnXg8rvA==, + integrity: sha512-MqDrxJaRSVSzCbPsV6iOKG/Lt52Y+PVwFVexqImmYYFhe51iVJjK2hRhOG2jUAGiUHk4jpdFr0cZPzcBkSzXDQ==, } engines: { node: ">=v18" } dependencies: - "@commitlint/types": 18.6.1 + "@commitlint/types": 19.0.3 semver: 7.6.0 dev: true - /@commitlint/lint@18.6.1: + /@commitlint/lint@19.0.3: resolution: { - integrity: sha512-8WwIFo3jAuU+h1PkYe5SfnIOzp+TtBHpFr4S8oJWhu44IWKuVx6GOPux3+9H1iHOan/rGBaiacicZkMZuluhfQ==, + integrity: sha512-uHPyRqIn57iIplYa5xBr6oNu5aPXKGC4WLeuHfqQHclwIqbJ33g3yA5fIA+/NYnp5ZM2EFiujqHFaVUYj6HlKA==, } engines: { node: ">=v18" } dependencies: - "@commitlint/is-ignored": 18.6.1 - "@commitlint/parse": 18.6.1 - "@commitlint/rules": 18.6.1 - "@commitlint/types": 18.6.1 + "@commitlint/is-ignored": 19.0.3 + "@commitlint/parse": 19.0.3 + "@commitlint/rules": 19.0.3 + "@commitlint/types": 19.0.3 dev: true - /@commitlint/load@18.4.3(typescript@5.3.3): - resolution: - { - integrity: sha512-v6j2WhvRQJrcJaj5D+EyES2WKTxPpxENmNpNG3Ww8MZGik3jWRXtph0QTzia5ZJyPh2ib5aC/6BIDymkUUM58Q==, - } - engines: { node: ">=v18" } - requiresBuild: true - dependencies: - "@commitlint/config-validator": 18.4.3 - "@commitlint/execute-rule": 18.4.3 - "@commitlint/resolve-extends": 18.4.3 - "@commitlint/types": 18.4.3 - "@types/node": 18.19.3 - chalk: 4.1.2 - cosmiconfig: 8.3.6(typescript@5.3.3) - cosmiconfig-typescript-loader: 5.0.0(@types/node@18.19.3)(cosmiconfig@8.3.6)(typescript@5.3.3) - lodash.isplainobject: 4.0.6 - lodash.merge: 4.6.2 - lodash.uniq: 4.5.0 - resolve-from: 5.0.0 - transitivePeerDependencies: - - typescript - dev: true - optional: true - /@commitlint/load@18.6.1(@types/node@20.10.5)(typescript@5.3.3): resolution: { integrity: sha512-p26x8734tSXUHoAw0ERIiHyW4RaI4Bj99D8YgUlVV9SedLf8hlWAfyIFhHRIhfPngLlCe0QYOdRKYFt8gy56TA==, } engines: { node: ">=v18" } + requiresBuild: true dependencies: "@commitlint/config-validator": 18.6.1 "@commitlint/execute-rule": 18.6.1 @@ -2042,63 +2015,70 @@ packages: - "@types/node" - typescript dev: true + optional: true - /@commitlint/message@18.6.1: + /@commitlint/load@19.0.3(@types/node@20.10.5)(typescript@5.3.3): resolution: { - integrity: sha512-VKC10UTMLcpVjMIaHHsY1KwhuTQtdIKPkIdVEwWV+YuzKkzhlI3aNy6oo1eAN6b/D2LTtZkJe2enHmX0corYRw==, + integrity: sha512-18Tk/ZcDFRKIoKfEcl7kC+bYkEQ055iyKmGsYDoYWpKf6FUvBrP9bIWapuy/MB+kYiltmP9ITiUx6UXtqC9IRw==, + } + engines: { node: ">=v18" } + dependencies: + "@commitlint/config-validator": 19.0.3 + "@commitlint/execute-rule": 19.0.0 + "@commitlint/resolve-extends": 19.0.3 + "@commitlint/types": 19.0.3 + chalk: 5.3.0 + cosmiconfig: 8.3.6(typescript@5.3.3) + cosmiconfig-typescript-loader: 5.0.0(@types/node@20.10.5)(cosmiconfig@8.3.6)(typescript@5.3.3) + lodash.isplainobject: 4.0.6 + lodash.merge: 4.6.2 + lodash.uniq: 4.5.0 + transitivePeerDependencies: + - "@types/node" + - typescript + dev: true + + /@commitlint/message@19.0.0: + resolution: + { + integrity: sha512-c9czf6lU+9oF9gVVa2lmKaOARJvt4soRsVmbR7Njwp9FpbBgste5i7l/2l5o8MmbwGh4yE1snfnsy2qyA2r/Fw==, } engines: { node: ">=v18" } dev: true - /@commitlint/parse@18.6.1: + /@commitlint/parse@19.0.3: resolution: { - integrity: sha512-eS/3GREtvVJqGZrwAGRwR9Gdno3YcZ6Xvuaa+vUF8j++wsmxrA2En3n0ccfVO2qVOLJC41ni7jSZhQiJpMPGOQ==, + integrity: sha512-Il+tNyOb8VDxN3P6XoBBwWJtKKGzHlitEuXA5BP6ir/3loWlsSqDr5aecl6hZcC/spjq4pHqNh0qPlfeWu38QA==, } engines: { node: ">=v18" } dependencies: - "@commitlint/types": 18.6.1 + "@commitlint/types": 19.0.3 conventional-changelog-angular: 7.0.0 conventional-commits-parser: 5.0.0 dev: true - /@commitlint/read@18.6.1: + /@commitlint/read@19.0.3: resolution: { - integrity: sha512-ia6ODaQFzXrVul07ffSgbZGFajpe8xhnDeLIprLeyfz3ivQU1dIoHp7yz0QIorZ6yuf4nlzg4ZUkluDrGN/J/w==, + integrity: sha512-b5AflTyAXkUx5qKw4TkjjcOccXZHql3JqMi522knTQktq2AubKXFz60Sws+K4FsefwPws6fGz9mqiI/NvsvxFA==, } engines: { node: ">=v18" } dependencies: - "@commitlint/top-level": 18.6.1 - "@commitlint/types": 18.6.1 - git-raw-commits: 2.0.11 + "@commitlint/top-level": 19.0.0 + "@commitlint/types": 19.0.3 + git-raw-commits: 4.0.0 minimist: 1.2.8 dev: true - /@commitlint/resolve-extends@18.4.3: - resolution: - { - integrity: sha512-30sk04LZWf8+SDgJrbJCjM90gTg2LxsD9cykCFeFu+JFHvBFq5ugzp2eO/DJGylAdVaqxej3c7eTSE64hR/lnw==, - } - engines: { node: ">=v18" } - requiresBuild: true - dependencies: - "@commitlint/config-validator": 18.4.3 - "@commitlint/types": 18.4.3 - import-fresh: 3.3.0 - lodash.mergewith: 4.6.2 - resolve-from: 5.0.0 - resolve-global: 1.0.0 - dev: true - optional: true - /@commitlint/resolve-extends@18.6.1: resolution: { integrity: sha512-ifRAQtHwK+Gj3Bxj/5chhc4L2LIc3s30lpsyW67yyjsETR6ctHAHRu1FSpt0KqahK5xESqoJ92v6XxoDRtjwEQ==, } engines: { node: ">=v18" } + requiresBuild: true dependencies: "@commitlint/config-validator": 18.6.1 "@commitlint/types": 18.6.1 @@ -2107,43 +2087,59 @@ packages: resolve-from: 5.0.0 resolve-global: 1.0.0 dev: true + optional: true - /@commitlint/rules@18.6.1: + /@commitlint/resolve-extends@19.0.3: resolution: { - integrity: sha512-kguM6HxZDtz60v/zQYOe0voAtTdGybWXefA1iidjWYmyUUspO1zBPQEmJZ05/plIAqCVyNUTAiRPWIBKLCrGew==, + integrity: sha512-18BKmta8OC8+Ub+Q3QGM9l27VjQaXobloVXOrMvu8CpEwJYv62vC/t7Ka5kJnsW0tU9q1eMqJFZ/nN9T/cOaIA==, } engines: { node: ">=v18" } dependencies: - "@commitlint/ensure": 18.6.1 - "@commitlint/message": 18.6.1 - "@commitlint/to-lines": 18.6.1 - "@commitlint/types": 18.6.1 - execa: 5.1.1 + "@commitlint/config-validator": 19.0.3 + "@commitlint/types": 19.0.3 + global-directory: 4.0.1 + import-meta-resolve: 4.0.0 + lodash.mergewith: 4.6.2 + resolve-from: 5.0.0 dev: true - /@commitlint/to-lines@18.6.1: + /@commitlint/rules@19.0.3: resolution: { - integrity: sha512-Gl+orGBxYSNphx1+83GYeNy5N0dQsHBQ9PJMriaLQDB51UQHCVLBT/HBdOx5VaYksivSf5Os55TLePbRLlW50Q==, - } - engines: { node: ">=v18" } - dev: true - - /@commitlint/top-level@18.6.1: - resolution: - { - integrity: sha512-HyiHQZUTf0+r0goTCDs/bbVv/LiiQ7AVtz6KIar+8ZrseB9+YJAIo8HQ2IC2QT1y3N1lbW6OqVEsTHjbT6hGSw==, + integrity: sha512-TspKb9VB6svklxNCKKwxhELn7qhtY1rFF8ls58DcFd0F97XoG07xugPjjbVnLqmMkRjZDbDIwBKt9bddOfLaPw==, } engines: { node: ">=v18" } dependencies: - find-up: 5.0.0 + "@commitlint/ensure": 19.0.3 + "@commitlint/message": 19.0.0 + "@commitlint/to-lines": 19.0.0 + "@commitlint/types": 19.0.3 + execa: 8.0.1 dev: true - /@commitlint/types@18.4.3: + /@commitlint/to-lines@19.0.0: resolution: { - integrity: sha512-cvzx+vtY/I2hVBZHCLrpoh+sA0hfuzHwDc+BAFPimYLjJkpHnghQM+z8W/KyLGkygJh3BtI3xXXq+dKjnSWEmA==, + integrity: sha512-vkxWo+VQU5wFhiP9Ub9Sre0FYe019JxFikrALVoD5UGa8/t3yOJEpEhxC5xKiENKKhUkTpEItMTRAjHw2SCpZw==, + } + engines: { node: ">=v18" } + dev: true + + /@commitlint/top-level@19.0.0: + resolution: + { + integrity: sha512-KKjShd6u1aMGNkCkaX4aG1jOGdn7f8ZI8TR1VEuNqUOjWTOdcDSsmglinglJ18JTjuBX5I1PtjrhQCRcixRVFQ==, + } + engines: { node: ">=v18" } + dependencies: + find-up: 7.0.0 + dev: true + + /@commitlint/types@18.6.1: + resolution: + { + integrity: sha512-gwRLBLra/Dozj2OywopeuHj2ac26gjGkz2cZ+86cTJOdtWfiRRr4+e77ZDAGc6MDWxaWheI+mAV5TLWWRwqrFg==, } engines: { node: ">=v18" } requiresBuild: true @@ -2152,27 +2148,28 @@ packages: dev: true optional: true - /@commitlint/types@18.6.1: + /@commitlint/types@19.0.3: resolution: { - integrity: sha512-gwRLBLra/Dozj2OywopeuHj2ac26gjGkz2cZ+86cTJOdtWfiRRr4+e77ZDAGc6MDWxaWheI+mAV5TLWWRwqrFg==, + integrity: sha512-tpyc+7i6bPG9mvaBbtKUeghfyZSDgWquIDfMgqYtTbmZ9Y9VzEm2je9EYcQ0aoz5o7NvGS+rcDec93yO08MHYA==, } engines: { node: ">=v18" } dependencies: - chalk: 4.1.2 + "@types/conventional-commits-parser": 5.0.0 + chalk: 5.3.0 dev: true - /@csstools/cascade-layer-name-parser@1.0.6(@csstools/css-parser-algorithms@2.4.0)(@csstools/css-tokenizer@2.2.3): + /@csstools/cascade-layer-name-parser@1.0.8(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3): resolution: { - integrity: sha512-HkxRNs6ZIV0VjLFw6k5G8K35vd9r+O8B1Vr+QVD8M5Y44eQxyHtc42BdF74FQatXACPnitOR1+sRx2oWdnKTQw==, + integrity: sha512-xHxXavWvXB5nAA9IvZtjEzkONM3hPXpxqYK4cEw60LcqPiFjq7ZlEFxOyYFPrG4UdANKtnucNtRVDy7frjq6AA==, } engines: { node: ^14 || ^16 || >=18 } peerDependencies: - "@csstools/css-parser-algorithms": ^2.4.0 - "@csstools/css-tokenizer": ^2.2.2 + "@csstools/css-parser-algorithms": ^2.6.0 + "@csstools/css-tokenizer": ^2.2.3 dependencies: - "@csstools/css-parser-algorithms": 2.4.0(@csstools/css-tokenizer@2.2.3) + "@csstools/css-parser-algorithms": 2.6.0(@csstools/css-tokenizer@2.2.3) "@csstools/css-tokenizer": 2.2.3 dev: true @@ -2184,45 +2181,33 @@ packages: engines: { node: ^14 || ^16 || >=18 } dev: true - /@csstools/css-calc@1.1.5(@csstools/css-parser-algorithms@2.4.0)(@csstools/css-tokenizer@2.2.3): + /@csstools/css-calc@1.1.7(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3): resolution: { - integrity: sha512-UhI5oSRAUtTHY3MyGahqn0ZzQOHVoPpfvUcOmYipAZ1rILAvCBoyiLSsa/clv1Xxct0SMKIq93KO5Bfl1cb6tQ==, + integrity: sha512-+7bUzB5I4cI97tKmBJA8ilTl/YRo6VAOdlrnd/4x2NyK60nvYurGKa5TZpE1zcgIrTC97iJRE0/V65feyFytuw==, } engines: { node: ^14 || ^16 || >=18 } peerDependencies: - "@csstools/css-parser-algorithms": ^2.4.0 - "@csstools/css-tokenizer": ^2.2.2 + "@csstools/css-parser-algorithms": ^2.6.0 + "@csstools/css-tokenizer": ^2.2.3 dependencies: - "@csstools/css-parser-algorithms": 2.4.0(@csstools/css-tokenizer@2.2.3) + "@csstools/css-parser-algorithms": 2.6.0(@csstools/css-tokenizer@2.2.3) "@csstools/css-tokenizer": 2.2.3 dev: true - /@csstools/css-color-parser@1.5.0(@csstools/css-parser-algorithms@2.4.0)(@csstools/css-tokenizer@2.2.3): + /@csstools/css-color-parser@1.5.2(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3): resolution: { - integrity: sha512-PUhSg1MgU2sjYhA6moOmxYesqVqYTJwcVw12boTNbDX7Af+VK02MkgvmBBY2Z2qU6UN5HOQ+wrF0qQJGsTFY7w==, + integrity: sha512-5GEkuuUxD5dael3xoWjyf7gAPAi4pwm8X8JW/nUMhxntGY4Wo4Lp7vKlex4V5ZgTfAoov14rZFsZyOantdTatg==, } engines: { node: ^14 || ^16 || >=18 } peerDependencies: - "@csstools/css-parser-algorithms": ^2.4.0 - "@csstools/css-tokenizer": ^2.2.2 + "@csstools/css-parser-algorithms": ^2.6.0 + "@csstools/css-tokenizer": ^2.2.3 dependencies: "@csstools/color-helpers": 4.0.0 - "@csstools/css-calc": 1.1.5(@csstools/css-parser-algorithms@2.4.0)(@csstools/css-tokenizer@2.2.3) - "@csstools/css-parser-algorithms": 2.4.0(@csstools/css-tokenizer@2.2.3) - "@csstools/css-tokenizer": 2.2.3 - dev: true - - /@csstools/css-parser-algorithms@2.4.0(@csstools/css-tokenizer@2.2.3): - resolution: - { - integrity: sha512-/PPLr2g5PAUCKAPEbfyk6/baZA+WJHQtUhPkoCQMpyRE8I0lXrG1QFRN8e5s3ZYxM8d/g5BZc6lH3s8Op7/VEg==, - } - engines: { node: ^14 || ^16 || >=18 } - peerDependencies: - "@csstools/css-tokenizer": ^2.2.2 - dependencies: + "@csstools/css-calc": 1.1.7(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) + "@csstools/css-parser-algorithms": 2.6.0(@csstools/css-tokenizer@2.2.3) "@csstools/css-tokenizer": 2.2.3 dev: true @@ -2238,6 +2223,18 @@ packages: "@csstools/css-tokenizer": 2.2.3 dev: true + /@csstools/css-parser-algorithms@2.6.0(@csstools/css-tokenizer@2.2.3): + resolution: + { + integrity: sha512-YfEHq0eRH98ffb5/EsrrDspVWAuph6gDggAE74ZtjecsmyyWpW768hOyiONa8zwWGbIWYfa2Xp4tRTrpQQ00CQ==, + } + engines: { node: ^14 || ^16 || >=18 } + peerDependencies: + "@csstools/css-tokenizer": ^2.2.3 + dependencies: + "@csstools/css-tokenizer": 2.2.3 + dev: true + /@csstools/css-tokenizer@2.2.3: resolution: { @@ -2246,20 +2243,6 @@ packages: engines: { node: ^14 || ^16 || >=18 } dev: true - /@csstools/media-query-list-parser@2.1.6(@csstools/css-parser-algorithms@2.4.0)(@csstools/css-tokenizer@2.2.3): - resolution: - { - integrity: sha512-R6AKl9vaU0It7D7TR2lQn0pre5aQfdeqHRePlaRCY8rHL3l9eVlNRpsEVDKFi/zAjzv68CxH2M5kqbhPFPKjvw==, - } - engines: { node: ^14 || ^16 || >=18 } - peerDependencies: - "@csstools/css-parser-algorithms": ^2.4.0 - "@csstools/css-tokenizer": ^2.2.2 - dependencies: - "@csstools/css-parser-algorithms": 2.4.0(@csstools/css-tokenizer@2.2.3) - "@csstools/css-tokenizer": 2.2.3 - dev: true - /@csstools/media-query-list-parser@2.1.7(@csstools/css-parser-algorithms@2.5.0)(@csstools/css-tokenizer@2.2.3): resolution: { @@ -2274,136 +2257,157 @@ packages: "@csstools/css-tokenizer": 2.2.3 dev: true - /@csstools/postcss-cascade-layers@4.0.2(postcss@8.4.35): + /@csstools/media-query-list-parser@2.1.8(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3): resolution: { - integrity: sha512-PqM+jvg5T2tB4FHX+akrMGNWAygLupD4FNUjcv4PSvtVuWZ6ISxuo37m4jFGU7Jg3rCfloGzKd0+xfr5Ec3vZQ==, + integrity: sha512-DiD3vG5ciNzeuTEoh74S+JMjQDs50R3zlxHnBnfd04YYfA/kh2KiBCGhzqLxlJcNq+7yNQ3stuZZYLX6wK/U2g==, } engines: { node: ^14 || ^16 || >=18 } peerDependencies: - postcss: ^8.4 + "@csstools/css-parser-algorithms": ^2.6.0 + "@csstools/css-tokenizer": ^2.2.3 dependencies: - "@csstools/selector-specificity": 3.0.1(postcss-selector-parser@6.0.14) - postcss: 8.4.35 - postcss-selector-parser: 6.0.14 - dev: true - - /@csstools/postcss-color-function@3.0.8(postcss@8.4.35): - resolution: - { - integrity: sha512-jvbF7eCRbIcxWqby0kk2Mt85QtGzRRpFFYdlJCJ80Tuiv43PY+auS/nBl8pDQQ4Ndm4vsm4IC/wCZDcJUmpJmg==, - } - engines: { node: ^14 || ^16 || >=18 } - peerDependencies: - postcss: ^8.4 - dependencies: - "@csstools/css-color-parser": 1.5.0(@csstools/css-parser-algorithms@2.4.0)(@csstools/css-tokenizer@2.2.3) - "@csstools/css-parser-algorithms": 2.4.0(@csstools/css-tokenizer@2.2.3) + "@csstools/css-parser-algorithms": 2.6.0(@csstools/css-tokenizer@2.2.3) "@csstools/css-tokenizer": 2.2.3 - "@csstools/postcss-progressive-custom-properties": 3.0.3(postcss@8.4.35) - postcss: 8.4.35 dev: true - /@csstools/postcss-color-mix-function@2.0.8(postcss@8.4.35): + /@csstools/postcss-cascade-layers@4.0.3(postcss@8.4.35): resolution: { - integrity: sha512-sGhk+TdZ2TeXspc6LSYSYC8WgzLlxoknUaObKgB0mk+dNjRQgSSIeCU+qrCwvHmwM+uTNKtiS8mntDzyQLHTTA==, + integrity: sha512-RbkQoOH23yGhWVetgBTwFgIOHEyU2tKMN7blTz/YAKKabR6tr9pP7mYS23Q9snFY2hr8WSaV8Le64KdM9BtUSA==, } engines: { node: ^14 || ^16 || >=18 } peerDependencies: postcss: ^8.4 dependencies: - "@csstools/css-color-parser": 1.5.0(@csstools/css-parser-algorithms@2.4.0)(@csstools/css-tokenizer@2.2.3) - "@csstools/css-parser-algorithms": 2.4.0(@csstools/css-tokenizer@2.2.3) + "@csstools/selector-specificity": 3.0.2(postcss-selector-parser@6.0.15) + postcss: 8.4.35 + postcss-selector-parser: 6.0.15 + dev: true + + /@csstools/postcss-color-function@3.0.10(postcss@8.4.35): + resolution: + { + integrity: sha512-jxiXmSl4ZYX8KewFjL5ef6of9uW73VkaHeDb2tqb5q4ZDPYxjusNX1KJ8UXY8+7ydqS5QBo42tVMrSMGy+rDmw==, + } + engines: { node: ^14 || ^16 || >=18 } + peerDependencies: + postcss: ^8.4 + dependencies: + "@csstools/css-color-parser": 1.5.2(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) + "@csstools/css-parser-algorithms": 2.6.0(@csstools/css-tokenizer@2.2.3) "@csstools/css-tokenizer": 2.2.3 - "@csstools/postcss-progressive-custom-properties": 3.0.3(postcss@8.4.35) + "@csstools/postcss-progressive-custom-properties": 3.1.0(postcss@8.4.35) + "@csstools/utilities": 1.0.0(postcss@8.4.35) postcss: 8.4.35 dev: true - /@csstools/postcss-exponential-functions@1.0.2(postcss@8.4.35): + /@csstools/postcss-color-mix-function@2.0.10(postcss@8.4.35): resolution: { - integrity: sha512-VRIYrwNCkZRqzsGB4jGT+XcNXsoiwyqy0Vf7C3I/5OPcf7WcWK3G1sBYFqqgWLGtpwc7m1m8TcorGY1xdh5abg==, + integrity: sha512-zeD856+FDCUjB077pPS+Z9OnTQnqpiJrao3TW+sasCb/gJ3vZCX7sRSRFsRUo0/MntTtJu9hkKv9eMkFmfjydA==, } engines: { node: ^14 || ^16 || >=18 } peerDependencies: postcss: ^8.4 dependencies: - "@csstools/css-calc": 1.1.5(@csstools/css-parser-algorithms@2.4.0)(@csstools/css-tokenizer@2.2.3) - "@csstools/css-parser-algorithms": 2.4.0(@csstools/css-tokenizer@2.2.3) + "@csstools/css-color-parser": 1.5.2(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) + "@csstools/css-parser-algorithms": 2.6.0(@csstools/css-tokenizer@2.2.3) + "@csstools/css-tokenizer": 2.2.3 + "@csstools/postcss-progressive-custom-properties": 3.1.0(postcss@8.4.35) + "@csstools/utilities": 1.0.0(postcss@8.4.35) + postcss: 8.4.35 + dev: true + + /@csstools/postcss-exponential-functions@1.0.4(postcss@8.4.35): + resolution: + { + integrity: sha512-frMf0CFVnZoGEKAHlxLy3s4g/tpjyFn5+A+h895UJNm9Uc+ewGT7+EeK7Kh9IHH4pD4FkaGW1vOQtER00PLurQ==, + } + engines: { node: ^14 || ^16 || >=18 } + peerDependencies: + postcss: ^8.4 + dependencies: + "@csstools/css-calc": 1.1.7(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) + "@csstools/css-parser-algorithms": 2.6.0(@csstools/css-tokenizer@2.2.3) "@csstools/css-tokenizer": 2.2.3 postcss: 8.4.35 dev: true - /@csstools/postcss-font-format-keywords@3.0.1(postcss@8.4.35): + /@csstools/postcss-font-format-keywords@3.0.2(postcss@8.4.35): resolution: { - integrity: sha512-D1lcG2sfotTq6yBEOMV3myFxJLT10F3DLYZJMbiny5YToqzHWodZen8WId3UTimm0mEHitXqAUNL5jdd6RzVdA==, + integrity: sha512-E0xz2sjm4AMCkXLCFvI/lyl4XO6aN1NCSMMVEOngFDJ+k2rDwfr6NDjWljk1li42jiLNChVX+YFnmfGCigZKXw==, } engines: { node: ^14 || ^16 || >=18 } peerDependencies: postcss: ^8.4 dependencies: + "@csstools/utilities": 1.0.0(postcss@8.4.35) postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-gamut-mapping@1.0.1(postcss@8.4.35): + /@csstools/postcss-gamut-mapping@1.0.3(postcss@8.4.35): resolution: { - integrity: sha512-GDVzfNbnc7x3GusFklvt0mYXIWVzxEtEtTFEW664NgZh/5V7Z89hZKBMl9piOAHXuxijfHtE+kul/ShfeLUvcA==, + integrity: sha512-P0+ude1KyCy9LXOe2pHJmpcXK4q/OQbr2Sn2wQSssMw0rALGmny2MfHiCqEu8n6mf2cN6lWDZdzY8enBk8WHXQ==, } engines: { node: ^14 || ^16 || >=18 } peerDependencies: postcss: ^8.4 dependencies: - "@csstools/css-color-parser": 1.5.0(@csstools/css-parser-algorithms@2.4.0)(@csstools/css-tokenizer@2.2.3) - "@csstools/css-parser-algorithms": 2.4.0(@csstools/css-tokenizer@2.2.3) + "@csstools/css-color-parser": 1.5.2(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) + "@csstools/css-parser-algorithms": 2.6.0(@csstools/css-tokenizer@2.2.3) "@csstools/css-tokenizer": 2.2.3 postcss: 8.4.35 dev: true - /@csstools/postcss-gradients-interpolation-method@4.0.8(postcss@8.4.35): + /@csstools/postcss-gradients-interpolation-method@4.0.11(postcss@8.4.35): resolution: { - integrity: sha512-bmvCNzuUvWPPdgASh0T14ffTay/FdzXsXfp0wXT1pYoUPmkH9M6yyxwPEkHq5djjzSb2jiLl4Ta3XM1uOREQ2w==, + integrity: sha512-LFom5jCVUfzF+iuiOZvhvX7RRN8vc+tKpcKo9s4keEBAU2mPwV5/Fgz5iylEfXP/DZbEdq2C0At20urMi/lupw==, } engines: { node: ^14 || ^16 || >=18 } peerDependencies: postcss: ^8.4 dependencies: - "@csstools/css-color-parser": 1.5.0(@csstools/css-parser-algorithms@2.4.0)(@csstools/css-tokenizer@2.2.3) - "@csstools/css-parser-algorithms": 2.4.0(@csstools/css-tokenizer@2.2.3) + "@csstools/css-color-parser": 1.5.2(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) + "@csstools/css-parser-algorithms": 2.6.0(@csstools/css-tokenizer@2.2.3) "@csstools/css-tokenizer": 2.2.3 - "@csstools/postcss-progressive-custom-properties": 3.0.3(postcss@8.4.35) + "@csstools/postcss-progressive-custom-properties": 3.1.0(postcss@8.4.35) + "@csstools/utilities": 1.0.0(postcss@8.4.35) postcss: 8.4.35 dev: true - /@csstools/postcss-hwb-function@3.0.7(postcss@8.4.35): + /@csstools/postcss-hwb-function@3.0.9(postcss@8.4.35): resolution: { - integrity: sha512-iXs1gxKtev8YNP5bOF26TAsnMfcxnCRLpKItQ067RphYECKEK/xWm4Z0r4ChmV1U1eq+lbdH5ZIb2cju4o5akA==, + integrity: sha512-S3/Z+mGHWIKAex7DLsHFDiku5lBEK34avT2My6sGPNCXB38TZjrKI0rd7JdN9oulem5sn+CU7oONyIftui24oQ==, } engines: { node: ^14 || ^16 || >=18 } peerDependencies: postcss: ^8.4 dependencies: - "@csstools/css-color-parser": 1.5.0(@csstools/css-parser-algorithms@2.4.0)(@csstools/css-tokenizer@2.2.3) - "@csstools/css-parser-algorithms": 2.4.0(@csstools/css-tokenizer@2.2.3) + "@csstools/css-color-parser": 1.5.2(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) + "@csstools/css-parser-algorithms": 2.6.0(@csstools/css-tokenizer@2.2.3) "@csstools/css-tokenizer": 2.2.3 + "@csstools/postcss-progressive-custom-properties": 3.1.0(postcss@8.4.35) + "@csstools/utilities": 1.0.0(postcss@8.4.35) postcss: 8.4.35 dev: true - /@csstools/postcss-ic-unit@3.0.3(postcss@8.4.35): + /@csstools/postcss-ic-unit@3.0.4(postcss@8.4.35): resolution: { - integrity: sha512-MpcmIL0/uMm/cFWh5V/9nbKKJ7jRr2qTYW5Q6zoE6HZ6uzOBJr2KRERv5/x8xzEBQ1MthDT7iP1EBp9luSQy7g==, + integrity: sha512-OB6ojl33/TQHhjVx1NI+n3EnYbdUM6Q/mSUv3WFATdcz7IrH/CmBaZt7P1R6j1Xdp58thIa6jm4Je7saGs+2AA==, } engines: { node: ^14 || ^16 || >=18 } peerDependencies: postcss: ^8.4 dependencies: - "@csstools/postcss-progressive-custom-properties": 3.0.3(postcss@8.4.35) + "@csstools/postcss-progressive-custom-properties": 3.1.0(postcss@8.4.35) + "@csstools/utilities": 1.0.0(postcss@8.4.35) postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true @@ -2420,18 +2424,34 @@ packages: postcss: 8.4.35 dev: true - /@csstools/postcss-is-pseudo-class@4.0.4(postcss@8.4.35): + /@csstools/postcss-is-pseudo-class@4.0.5(postcss@8.4.35): resolution: { - integrity: sha512-vTVO/uZixpTVAOQt3qZRUFJ/K1L03OfNkeJ8sFNDVNdVy/zW0h1L5WT7HIPMDUkvSrxQkFaCCybTZkUP7UESlQ==, + integrity: sha512-qG3MI7IN3KY9UwdaE9E7G7sFydscVW7nAj5OGwaBP9tQPEEVdxXTGI+l1ZW5EUpZFSj+u3q/22fH5+8HI72+Bg==, } engines: { node: ^14 || ^16 || >=18 } peerDependencies: postcss: ^8.4 dependencies: - "@csstools/selector-specificity": 3.0.1(postcss-selector-parser@6.0.14) + "@csstools/selector-specificity": 3.0.2(postcss-selector-parser@6.0.15) + postcss: 8.4.35 + postcss-selector-parser: 6.0.15 + dev: true + + /@csstools/postcss-light-dark-function@1.0.0(postcss@8.4.35): + resolution: + { + integrity: sha512-KHo633V16DGo6tmpr1ARAwO73CPBNmDI3PfSQYe7ZBMiv60WEizbcEroK75fHjxKYJ4tj9uCCzp5sYG4cEUqqw==, + } + engines: { node: ^14 || ^16 || >=18 } + peerDependencies: + postcss: ^8.4 + dependencies: + "@csstools/css-parser-algorithms": 2.6.0(@csstools/css-tokenizer@2.2.3) + "@csstools/css-tokenizer": 2.2.3 + "@csstools/postcss-progressive-custom-properties": 3.1.0(postcss@8.4.35) + "@csstools/utilities": 1.0.0(postcss@8.4.35) postcss: 8.4.35 - postcss-selector-parser: 6.0.14 dev: true /@csstools/postcss-logical-float-and-clear@2.0.1(postcss@8.4.35): @@ -2483,59 +2503,61 @@ packages: postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-logical-viewport-units@2.0.4(postcss@8.4.35): + /@csstools/postcss-logical-viewport-units@2.0.6(postcss@8.4.35): resolution: { - integrity: sha512-jetp/ArGAniWbjWBh5UQ07ztawfSbqCFd0QelX4R4pVIxrXahUEhz5VZHebMPVCg02J8GsQn0br6fdRpY6t7lw==, + integrity: sha512-6hV0ngZh8J7HqNY3kyt+z5ABN/XE18qvrU7ne4YSkKfltrWDnQgGiW/Q+h7bdQz8/W5juAefcdCCAJUIBE7erg==, } engines: { node: ^14 || ^16 || >=18 } peerDependencies: postcss: ^8.4 dependencies: "@csstools/css-tokenizer": 2.2.3 + "@csstools/utilities": 1.0.0(postcss@8.4.35) postcss: 8.4.35 dev: true - /@csstools/postcss-media-minmax@1.1.1(postcss@8.4.35): + /@csstools/postcss-media-minmax@1.1.3(postcss@8.4.35): resolution: { - integrity: sha512-mBY46/Hr+A8cDjoX0OoPRBOVrkANym9540dSB9rN3dllPZdM1E112i/tVxWsrR1s1yE9gfF0pk+7lf9l+qSeHA==, + integrity: sha512-W9AFRQSLvT+Dxtp20AewzGTUxzkJ21XSKzqRALwQdAv0uJGXkR76qgdhkoX0L/tcV4gXtgDfVtGYL/x2Nz/M5Q==, } engines: { node: ^14 || ^16 || >=18 } peerDependencies: postcss: ^8.4 dependencies: - "@csstools/css-calc": 1.1.5(@csstools/css-parser-algorithms@2.4.0)(@csstools/css-tokenizer@2.2.3) - "@csstools/css-parser-algorithms": 2.4.0(@csstools/css-tokenizer@2.2.3) + "@csstools/css-calc": 1.1.7(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) + "@csstools/css-parser-algorithms": 2.6.0(@csstools/css-tokenizer@2.2.3) "@csstools/css-tokenizer": 2.2.3 - "@csstools/media-query-list-parser": 2.1.6(@csstools/css-parser-algorithms@2.4.0)(@csstools/css-tokenizer@2.2.3) + "@csstools/media-query-list-parser": 2.1.8(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) postcss: 8.4.35 dev: true - /@csstools/postcss-media-queries-aspect-ratio-number-values@2.0.4(postcss@8.4.35): + /@csstools/postcss-media-queries-aspect-ratio-number-values@2.0.6(postcss@8.4.35): resolution: { - integrity: sha512-IaIZZhH0Qy9UDn7u+N3cuwwPG0Po3ZKOdDh+ClR7xvisSqniG+PuVrOEWYJrFKOt2//UHLhd7KHDqr2u9LKS9Q==, + integrity: sha512-awc2qenSDvx6r+w6G9xxENp+LsbvHC8mMMV23KYmk4pR3YL8JxeKPDSiDhmqd93FQ9nNNDc/CaCQEcvP+GV4rw==, } engines: { node: ^14 || ^16 || >=18 } peerDependencies: postcss: ^8.4 dependencies: - "@csstools/css-parser-algorithms": 2.4.0(@csstools/css-tokenizer@2.2.3) + "@csstools/css-parser-algorithms": 2.6.0(@csstools/css-tokenizer@2.2.3) "@csstools/css-tokenizer": 2.2.3 - "@csstools/media-query-list-parser": 2.1.6(@csstools/css-parser-algorithms@2.4.0)(@csstools/css-tokenizer@2.2.3) + "@csstools/media-query-list-parser": 2.1.8(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) postcss: 8.4.35 dev: true - /@csstools/postcss-nested-calc@3.0.1(postcss@8.4.35): + /@csstools/postcss-nested-calc@3.0.2(postcss@8.4.35): resolution: { - integrity: sha512-bwwababZpWRm0ByHaWBxTsDGTMhZKmtUNl3Wt0Eom8AY7ORgXx5qF9SSk1vEFrCi+HOfJT6M6W5KPgzXuQNRwQ==, + integrity: sha512-ySUmPyawiHSmBW/VI44+IObcKH0v88LqFe0d09Sb3w4B1qjkaROc6d5IA3ll9kjD46IIX/dbO5bwFN/swyoyZA==, } engines: { node: ^14 || ^16 || >=18 } peerDependencies: postcss: ^8.4 dependencies: + "@csstools/utilities": 1.0.0(postcss@8.4.35) postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true @@ -2553,26 +2575,27 @@ packages: postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-oklab-function@3.0.8(postcss@8.4.35): + /@csstools/postcss-oklab-function@3.0.10(postcss@8.4.35): resolution: { - integrity: sha512-L4xrwbgg+k08v+a88LDxJeIM6+kqaBJlYb/QgmEMfQpUbrfXTp87DuRc7utcRdDvY+qWK5vqz3h1xUtceB5LJQ==, + integrity: sha512-s9trs1c+gUMtaTtwrrIpdVQkUbRuwi6bQ9rBHaqwt4kd3kEnEYfP85uLY1inFx6Rt8OM2XVg3PSYbfnFSAO51A==, } engines: { node: ^14 || ^16 || >=18 } peerDependencies: postcss: ^8.4 dependencies: - "@csstools/css-color-parser": 1.5.0(@csstools/css-parser-algorithms@2.4.0)(@csstools/css-tokenizer@2.2.3) - "@csstools/css-parser-algorithms": 2.4.0(@csstools/css-tokenizer@2.2.3) + "@csstools/css-color-parser": 1.5.2(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) + "@csstools/css-parser-algorithms": 2.6.0(@csstools/css-tokenizer@2.2.3) "@csstools/css-tokenizer": 2.2.3 - "@csstools/postcss-progressive-custom-properties": 3.0.3(postcss@8.4.35) + "@csstools/postcss-progressive-custom-properties": 3.1.0(postcss@8.4.35) + "@csstools/utilities": 1.0.0(postcss@8.4.35) postcss: 8.4.35 dev: true - /@csstools/postcss-progressive-custom-properties@3.0.3(postcss@8.4.35): + /@csstools/postcss-progressive-custom-properties@3.1.0(postcss@8.4.35): resolution: { - integrity: sha512-WipTVh6JTMQfeIrzDV4wEPsV9NTzMK2jwXxyH6CGBktuWdivHnkioP/smp1x/0QDPQyx7NTS14RB+GV3zZZYEw==, + integrity: sha512-Mfb1T1BHa6pktLI+poMEHI7Q+VYvAsdwJZPFsSkIB2ZUsawCiPxXLw06BKSVPITxFlaY/FEUzfpyOTfX9YCE2w==, } engines: { node: ^14 || ^16 || >=18 } peerDependencies: @@ -2582,19 +2605,20 @@ packages: postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-relative-color-syntax@2.0.8(postcss@8.4.35): + /@csstools/postcss-relative-color-syntax@2.0.10(postcss@8.4.35): resolution: { - integrity: sha512-wu/Oh7QKINpRXnmLMUbObVNlqwr843PSF4a3x3fMC0I+vUeoGqMfZuSPFtT+NnYYxfzUjEZ091GURPxee22VLQ==, + integrity: sha512-IkTIk9Eq2VegSN4lgsljGY8boyfX3l3Pw58e+R9oyPe/Ye7r3NwuiQ3w0nkXoQ+RC+d240V6n7eZme2mEPqQvg==, } engines: { node: ^14 || ^16 || >=18 } peerDependencies: postcss: ^8.4 dependencies: - "@csstools/css-color-parser": 1.5.0(@csstools/css-parser-algorithms@2.4.0)(@csstools/css-tokenizer@2.2.3) - "@csstools/css-parser-algorithms": 2.4.0(@csstools/css-tokenizer@2.2.3) + "@csstools/css-color-parser": 1.5.2(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) + "@csstools/css-parser-algorithms": 2.6.0(@csstools/css-tokenizer@2.2.3) "@csstools/css-tokenizer": 2.2.3 - "@csstools/postcss-progressive-custom-properties": 3.0.3(postcss@8.4.35) + "@csstools/postcss-progressive-custom-properties": 3.1.0(postcss@8.4.35) + "@csstools/utilities": 1.0.0(postcss@8.4.35) postcss: 8.4.35 dev: true @@ -2608,20 +2632,20 @@ packages: postcss: ^8.4 dependencies: postcss: 8.4.35 - postcss-selector-parser: 6.0.14 + postcss-selector-parser: 6.0.15 dev: true - /@csstools/postcss-stepped-value-functions@3.0.3(postcss@8.4.35): + /@csstools/postcss-stepped-value-functions@3.0.5(postcss@8.4.35): resolution: { - integrity: sha512-hzo9Wr3u7JJiM65/EyHgE/gJpBzhDwBSGOobFs2YQ0ZNTywUliYQoYJud1KKlByMRuhqvDLh9V95eIkLf/fZTQ==, + integrity: sha512-B8K8RaTrYVZLxbNzVUvFO3SlCDJDaUTAO7KRth05fa7f01ufPvb6ztdBuxSoRwOtmNp8iROxPJHOemWo2kBBtA==, } engines: { node: ^14 || ^16 || >=18 } peerDependencies: postcss: ^8.4 dependencies: - "@csstools/css-calc": 1.1.5(@csstools/css-parser-algorithms@2.4.0)(@csstools/css-tokenizer@2.2.3) - "@csstools/css-parser-algorithms": 2.4.0(@csstools/css-tokenizer@2.2.3) + "@csstools/css-calc": 1.1.7(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) + "@csstools/css-parser-algorithms": 2.6.0(@csstools/css-tokenizer@2.2.3) "@csstools/css-tokenizer": 2.2.3 postcss: 8.4.35 dev: true @@ -2640,17 +2664,17 @@ packages: postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-trigonometric-functions@3.0.3(postcss@8.4.35): + /@csstools/postcss-trigonometric-functions@3.0.5(postcss@8.4.35): resolution: { - integrity: sha512-T/npTbDuMZ3vktEMuA05p1oeVd12Sy47qZP1vFhzNMUOdXGCK9vlm0tUSIlV5DdlbTJqKqq9FhGitZH9VTKrfQ==, + integrity: sha512-RhBfQ0TsBudyPuoo8pXKdfQuUiQxMU/Sc5GyV57bWk93JbUHXq6b4CdPx+B/tHUeFKvocVJn/e2jbu96rh0d3Q==, } engines: { node: ^14 || ^16 || >=18 } peerDependencies: postcss: ^8.4 dependencies: - "@csstools/css-calc": 1.1.5(@csstools/css-parser-algorithms@2.4.0)(@csstools/css-tokenizer@2.2.3) - "@csstools/css-parser-algorithms": 2.4.0(@csstools/css-tokenizer@2.2.3) + "@csstools/css-calc": 1.1.7(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) + "@csstools/css-parser-algorithms": 2.6.0(@csstools/css-tokenizer@2.2.3) "@csstools/css-tokenizer": 2.2.3 postcss: 8.4.35 dev: true @@ -2667,18 +2691,6 @@ packages: postcss: 8.4.35 dev: true - /@csstools/selector-specificity@3.0.1(postcss-selector-parser@6.0.14): - resolution: - { - integrity: sha512-NPljRHkq4a14YzZ3YD406uaxh7s0g6eAq3L9aLOWywoqe8PkYamAvtsh7KNX6c++ihDrJ0RiU+/z7rGnhlZ5ww==, - } - engines: { node: ^14 || ^16 || >=18 } - peerDependencies: - postcss-selector-parser: ^6.0.13 - dependencies: - postcss-selector-parser: 6.0.14 - dev: true - /@csstools/selector-specificity@3.0.1(postcss-selector-parser@6.0.15): resolution: { @@ -2691,6 +2703,30 @@ packages: postcss-selector-parser: 6.0.15 dev: true + /@csstools/selector-specificity@3.0.2(postcss-selector-parser@6.0.15): + resolution: + { + integrity: sha512-RpHaZ1h9LE7aALeQXmXrJkRG84ZxIsctEN2biEUmFyKpzFM3zZ35eUMcIzZFsw/2olQE6v69+esEqU2f1MKycg==, + } + engines: { node: ^14 || ^16 || >=18 } + peerDependencies: + postcss-selector-parser: ^6.0.13 + dependencies: + postcss-selector-parser: 6.0.15 + dev: true + + /@csstools/utilities@1.0.0(postcss@8.4.35): + resolution: + { + integrity: sha512-tAgvZQe/t2mlvpNosA4+CkMiZ2azISW5WPAcdSalZlEjQvUfghHxfQcrCiK/7/CrfAWVxyM88kGFYO82heIGDg==, + } + engines: { node: ^14 || ^16 || >=18 } + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.35 + dev: true + /@esbuild/aix-ppc64@0.19.10: resolution: { @@ -2967,7 +3003,7 @@ packages: dev: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): resolution: { integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==, @@ -2976,7 +3012,7 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.56.0 + eslint: 8.57.0 eslint-visitor-keys: 3.4.3 dev: true @@ -3008,10 +3044,10 @@ packages: - supports-color dev: true - /@eslint/js@8.56.0: + /@eslint/js@8.57.0: resolution: { - integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==, + integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==, } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dev: true @@ -3125,14 +3161,14 @@ packages: } dev: false - /@humanwhocodes/config-array@0.11.13: + /@humanwhocodes/config-array@0.11.14: resolution: { - integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==, + integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==, } engines: { node: ">=10.10.0" } dependencies: - "@humanwhocodes/object-schema": 2.0.1 + "@humanwhocodes/object-schema": 2.0.2 debug: 4.3.4 minimatch: 3.1.2 transitivePeerDependencies: @@ -3147,10 +3183,10 @@ packages: engines: { node: ">=12.22" } dev: true - /@humanwhocodes/object-schema@2.0.1: + /@humanwhocodes/object-schema@2.0.2: resolution: { - integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==, + integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==, } dev: true @@ -3818,10 +3854,10 @@ packages: - supports-color dev: true - /@semantic-release/gitlab@13.0.2(semantic-release@23.0.2): + /@semantic-release/gitlab@13.0.3(semantic-release@23.0.2): resolution: { - integrity: sha512-od5lvSUysZxIHgUC1Wnq85tiPPv7xiOEVsZHSaYdtF+OwJ13S97BL+0DTElSwzJkgzNdrbwjcr399b62XNrvXg==, + integrity: sha512-tup9XW+c3TAQ01l7snBroEXVBaSmXydmLVTmsSeCZ+AN+D60AuA4aSqAF8YdMLQLiYLXrGNZkq+vdBxR/rQm6A==, } engines: { node: ">=20.8.1" } peerDependencies: @@ -3866,7 +3902,7 @@ packages: read-pkg: 9.0.1 registry-auth-token: 5.0.2 semantic-release: 23.0.2(typescript@5.3.3) - semver: 7.5.4 + semver: 7.6.0 tempy: 3.1.0 dev: true @@ -3996,6 +4032,15 @@ packages: engines: { node: ">=10.13.0" } dev: true + /@types/conventional-commits-parser@5.0.0: + resolution: + { + integrity: sha512-loB369iXNmAZglwWATL+WRe+CRMmmBPtpolYzIebFaX4YA3x+BEfLqhUAV9WanycKI3TG1IMr5bMJDajDKLlUQ==, + } + dependencies: + "@types/node": 20.10.5 + dev: true + /@types/estree@0.0.39: resolution: { @@ -4040,24 +4085,6 @@ packages: "@types/geojson": 7946.0.13 dev: true - /@types/minimist@1.2.5: - resolution: - { - integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==, - } - dev: true - - /@types/node@18.19.3: - resolution: - { - integrity: sha512-k5fggr14DwAytoA/t8rPrIz++lXK7/DqckthCmoZOKNsEbJkId4Z//BqgApXBUGrGddrigYa1oqheo/7YmW4rg==, - } - requiresBuild: true - dependencies: - undici-types: 5.26.5 - dev: true - optional: true - /@types/node@20.10.5: resolution: { @@ -4103,108 +4130,108 @@ packages: integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==, } - /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.3.3): + /@typescript-eslint/eslint-plugin@7.1.0(@typescript-eslint/parser@7.1.0)(eslint@8.57.0)(typescript@5.3.3): resolution: { - integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==, + integrity: sha512-j6vT/kCulhG5wBmGtstKeiVr1rdXE4nk+DT1k6trYkwlrvW9eOF5ZbgKnd/YR6PcM4uTEXa0h6Fcvf6X7Dxl0w==, } engines: { node: ^16.0.0 || >=18.0.0 } peerDependencies: - "@typescript-eslint/parser": ^6.0.0 || ^6.0.0-alpha - eslint: ^7.0.0 || ^8.0.0 + "@typescript-eslint/parser": ^7.0.0 + eslint: ^8.56.0 typescript: "*" peerDependenciesMeta: typescript: optional: true dependencies: "@eslint-community/regexpp": 4.10.0 - "@typescript-eslint/parser": 6.21.0(eslint@8.56.0)(typescript@5.3.3) - "@typescript-eslint/scope-manager": 6.21.0 - "@typescript-eslint/type-utils": 6.21.0(eslint@8.56.0)(typescript@5.3.3) - "@typescript-eslint/utils": 6.21.0(eslint@8.56.0)(typescript@5.3.3) - "@typescript-eslint/visitor-keys": 6.21.0 + "@typescript-eslint/parser": 7.1.0(eslint@8.57.0)(typescript@5.3.3) + "@typescript-eslint/scope-manager": 7.1.0 + "@typescript-eslint/type-utils": 7.1.0(eslint@8.57.0)(typescript@5.3.3) + "@typescript-eslint/utils": 7.1.0(eslint@8.57.0)(typescript@5.3.3) + "@typescript-eslint/visitor-keys": 7.1.0 debug: 4.3.4 - eslint: 8.56.0 + eslint: 8.57.0 graphemer: 1.4.0 ignore: 5.3.0 natural-compare: 1.4.0 - semver: 7.5.4 + semver: 7.6.0 ts-api-utils: 1.0.3(typescript@5.3.3) typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@6.21.0(eslint@8.56.0)(typescript@5.3.3): + /@typescript-eslint/parser@7.1.0(eslint@8.57.0)(typescript@5.3.3): resolution: { - integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==, + integrity: sha512-V1EknKUubZ1gWFjiOZhDSNToOjs63/9O0puCgGS8aDOgpZY326fzFu15QAUjwaXzRZjf/qdsdBrckYdv9YxB8w==, } engines: { node: ^16.0.0 || >=18.0.0 } peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^8.56.0 typescript: "*" peerDependenciesMeta: typescript: optional: true dependencies: - "@typescript-eslint/scope-manager": 6.21.0 - "@typescript-eslint/types": 6.21.0 - "@typescript-eslint/typescript-estree": 6.21.0(typescript@5.3.3) - "@typescript-eslint/visitor-keys": 6.21.0 + "@typescript-eslint/scope-manager": 7.1.0 + "@typescript-eslint/types": 7.1.0 + "@typescript-eslint/typescript-estree": 7.1.0(typescript@5.3.3) + "@typescript-eslint/visitor-keys": 7.1.0 debug: 4.3.4 - eslint: 8.56.0 + eslint: 8.57.0 typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager@6.21.0: + /@typescript-eslint/scope-manager@7.1.0: resolution: { - integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==, + integrity: sha512-6TmN4OJiohHfoOdGZ3huuLhpiUgOGTpgXNUPJgeZOZR3DnIpdSgtt83RS35OYNNXxM4TScVlpVKC9jyQSETR1A==, } engines: { node: ^16.0.0 || >=18.0.0 } dependencies: - "@typescript-eslint/types": 6.21.0 - "@typescript-eslint/visitor-keys": 6.21.0 + "@typescript-eslint/types": 7.1.0 + "@typescript-eslint/visitor-keys": 7.1.0 dev: true - /@typescript-eslint/type-utils@6.21.0(eslint@8.56.0)(typescript@5.3.3): + /@typescript-eslint/type-utils@7.1.0(eslint@8.57.0)(typescript@5.3.3): resolution: { - integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==, + integrity: sha512-UZIhv8G+5b5skkcuhgvxYWHjk7FW7/JP5lPASMEUoliAPwIH/rxoUSQPia2cuOj9AmDZmwUl1usKm85t5VUMew==, } engines: { node: ^16.0.0 || >=18.0.0 } peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^8.56.0 typescript: "*" peerDependenciesMeta: typescript: optional: true dependencies: - "@typescript-eslint/typescript-estree": 6.21.0(typescript@5.3.3) - "@typescript-eslint/utils": 6.21.0(eslint@8.56.0)(typescript@5.3.3) + "@typescript-eslint/typescript-estree": 7.1.0(typescript@5.3.3) + "@typescript-eslint/utils": 7.1.0(eslint@8.57.0)(typescript@5.3.3) debug: 4.3.4 - eslint: 8.56.0 + eslint: 8.57.0 ts-api-utils: 1.0.3(typescript@5.3.3) typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types@6.21.0: + /@typescript-eslint/types@7.1.0: resolution: { - integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==, + integrity: sha512-qTWjWieJ1tRJkxgZYXx6WUYtWlBc48YRxgY2JN1aGeVpkhmnopq+SUC8UEVGNXIvWH7XyuTjwALfG6bFEgCkQA==, } engines: { node: ^16.0.0 || >=18.0.0 } dev: true - /@typescript-eslint/typescript-estree@6.21.0(typescript@5.3.3): + /@typescript-eslint/typescript-estree@7.1.0(typescript@5.3.3): resolution: { - integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==, + integrity: sha512-k7MyrbD6E463CBbSpcOnwa8oXRdHzH1WiVzOipK3L5KSML92ZKgUBrTlehdi7PEIMT8k0bQixHUGXggPAlKnOQ==, } engines: { node: ^16.0.0 || >=18.0.0 } peerDependencies: @@ -4213,49 +4240,49 @@ packages: typescript: optional: true dependencies: - "@typescript-eslint/types": 6.21.0 - "@typescript-eslint/visitor-keys": 6.21.0 + "@typescript-eslint/types": 7.1.0 + "@typescript-eslint/visitor-keys": 7.1.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 - semver: 7.5.4 + semver: 7.6.0 ts-api-utils: 1.0.3(typescript@5.3.3) typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@6.21.0(eslint@8.56.0)(typescript@5.3.3): + /@typescript-eslint/utils@7.1.0(eslint@8.57.0)(typescript@5.3.3): resolution: { - integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==, + integrity: sha512-WUFba6PZC5OCGEmbweGpnNJytJiLG7ZvDBJJoUcX4qZYf1mGZ97mO2Mps6O2efxJcJdRNpqweCistDbZMwIVHw==, } engines: { node: ^16.0.0 || >=18.0.0 } peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^8.56.0 dependencies: - "@eslint-community/eslint-utils": 4.4.0(eslint@8.56.0) + "@eslint-community/eslint-utils": 4.4.0(eslint@8.57.0) "@types/json-schema": 7.0.15 "@types/semver": 7.5.6 - "@typescript-eslint/scope-manager": 6.21.0 - "@typescript-eslint/types": 6.21.0 - "@typescript-eslint/typescript-estree": 6.21.0(typescript@5.3.3) - eslint: 8.56.0 - semver: 7.5.4 + "@typescript-eslint/scope-manager": 7.1.0 + "@typescript-eslint/types": 7.1.0 + "@typescript-eslint/typescript-estree": 7.1.0(typescript@5.3.3) + eslint: 8.57.0 + semver: 7.6.0 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys@6.21.0: + /@typescript-eslint/visitor-keys@7.1.0: resolution: { - integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==, + integrity: sha512-FhUqNWluiGNzlvnDZiXad4mZRhtghdoKW6e98GoEOYSu5cND+E39rG5KwJMUzeENwm1ztYBRqof8wMLP+wNPIA==, } engines: { node: ^16.0.0 || >=18.0.0 } dependencies: - "@typescript-eslint/types": 6.21.0 + "@typescript-eslint/types": 7.1.0 eslint-visitor-keys: 3.4.3 dev: true @@ -4581,14 +4608,6 @@ packages: is-shared-array-buffer: 1.0.2 dev: true - /arrify@1.0.1: - resolution: - { - integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==, - } - engines: { node: ">=0.10.0" } - dev: true - /ast-transform@0.0.0: resolution: { @@ -4631,18 +4650,18 @@ packages: engines: { node: ">= 4.0.0" } dev: true - /autoprefixer@10.4.16(postcss@8.4.35): + /autoprefixer@10.4.17(postcss@8.4.35): resolution: { - integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==, + integrity: sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==, } engines: { node: ^10 || ^12 || >=14 } hasBin: true peerDependencies: postcss: ^8.1.0 dependencies: - browserslist: 4.22.2 - caniuse-lite: 1.0.30001572 + browserslist: 4.23.0 + caniuse-lite: 1.0.30001591 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.0 @@ -4855,6 +4874,20 @@ packages: update-browserslist-db: 1.0.13(browserslist@4.22.2) dev: true + /browserslist@4.23.0: + resolution: + { + integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==, + } + engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } + hasBin: true + dependencies: + caniuse-lite: 1.0.30001591 + electron-to-chromium: 1.4.689 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.23.0) + dev: true + /buffer-equal@0.0.1: resolution: { @@ -4945,18 +4978,6 @@ packages: engines: { node: ">= 6" } dev: true - /camelcase-keys@6.2.2: - resolution: - { - integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==, - } - engines: { node: ">=8" } - dependencies: - camelcase: 5.3.1 - map-obj: 4.3.0 - quick-lru: 4.0.1 - dev: true - /camelcase@5.3.1: resolution: { @@ -4984,6 +5005,13 @@ packages: } dev: true + /caniuse-lite@1.0.30001591: + resolution: + { + integrity: sha512-PCzRMei/vXjJyL5mJtzNiUCKP59dm8Apqc3PH8gJkMnMXZGox93RbE76jHsmLwmIo6/3nsYIpJtx0O7u5PqFuQ==, + } + dev: true + /chalk@2.4.2: resolution: { @@ -5207,13 +5235,13 @@ packages: integrity: sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==, } dependencies: - "@codemirror/autocomplete": 6.11.1(@codemirror/language@6.10.1)(@codemirror/state@6.4.0)(@codemirror/view@6.24.0)(@lezer/common@1.2.0) + "@codemirror/autocomplete": 6.11.1(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.24.1)(@lezer/common@1.2.0) "@codemirror/commands": 6.3.3 "@codemirror/language": 6.10.1 "@codemirror/lint": 6.4.2 "@codemirror/search": 6.5.5 - "@codemirror/state": 6.4.0 - "@codemirror/view": 6.24.0 + "@codemirror/state": 6.4.1 + "@codemirror/view": 6.24.1 transitivePeerDependencies: - "@lezer/common" dev: false @@ -5295,7 +5323,7 @@ packages: } engines: { node: ">= 10" } - /commitizen@4.3.0(typescript@5.3.3): + /commitizen@4.3.0(@types/node@20.10.5)(typescript@5.3.3): resolution: { integrity: sha512-H0iNtClNEhT0fotHvGV3E9tDejDeS04sN1veIebsKYGMuGscFaswRoYJKmT3eW85eIJAs0F28bG2+a/9wCOfPw==, @@ -5304,7 +5332,7 @@ packages: hasBin: true dependencies: cachedir: 2.3.0 - cz-conventional-changelog: 3.3.0(typescript@5.3.3) + cz-conventional-changelog: 3.3.0(@types/node@20.10.5)(typescript@5.3.3) dedent: 0.7.0 detect-indent: 6.1.0 find-node-modules: 2.1.3 @@ -5318,6 +5346,7 @@ packages: strip-bom: 4.0.0 strip-json-comments: 3.1.1 transitivePeerDependencies: + - "@types/node" - typescript dev: true @@ -5401,7 +5430,7 @@ packages: handlebars: 4.7.8 json-stringify-safe: 5.0.1 meow: 12.1.1 - semver: 7.5.4 + semver: 7.6.0 split2: 4.2.0 dev: true @@ -5471,25 +5500,6 @@ packages: integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==, } - /cosmiconfig-typescript-loader@5.0.0(@types/node@18.19.3)(cosmiconfig@8.3.6)(typescript@5.3.3): - resolution: - { - integrity: sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA==, - } - engines: { node: ">=v16" } - requiresBuild: true - peerDependencies: - "@types/node": "*" - cosmiconfig: ">=8.2" - typescript: ">=4" - dependencies: - "@types/node": 18.19.3 - cosmiconfig: 8.3.6(typescript@5.3.3) - jiti: 1.21.0 - typescript: 5.3.3 - dev: true - optional: true - /cosmiconfig-typescript-loader@5.0.0(@types/node@20.10.5)(cosmiconfig@8.3.6)(typescript@5.3.3): resolution: { @@ -5611,7 +5621,7 @@ packages: postcss: ^8.4 dependencies: postcss: 8.4.35 - postcss-selector-parser: 6.0.14 + postcss-selector-parser: 6.0.15 dev: true /css-declaration-sorter@7.1.1(postcss@8.4.35): @@ -5634,18 +5644,18 @@ packages: engines: { node: ">=12 || >=16" } dev: true - /css-has-pseudo@6.0.1(postcss@8.4.35): + /css-has-pseudo@6.0.2(postcss@8.4.35): resolution: { - integrity: sha512-WwoVKqNxApfEI7dWFyaHoeFCcUPD+lPyjL6lNpRUNX7IyIUuVpawOTwwA5D0ZR6V2xQZonNPVj8kEcxzEaAQfQ==, + integrity: sha512-Z2Qm5yyOvJRTy6THdUlnGIX6PW/1wOc4FHWlfkcBkfkpZ3oz6lPdG+h+J7t1HZHT4uSSVR8XatXiMpqMUADXow==, } engines: { node: ^14 || ^16 || >=18 } peerDependencies: postcss: ^8.4 dependencies: - "@csstools/selector-specificity": 3.0.1(postcss-selector-parser@6.0.14) + "@csstools/selector-specificity": 3.0.2(postcss-selector-parser@6.0.15) postcss: 8.4.35 - postcss-selector-parser: 6.0.14 + postcss-selector-parser: 6.0.15 postcss-value-parser: 4.2.0 dev: true @@ -5704,10 +5714,10 @@ packages: engines: { node: ">= 6" } dev: true - /cssdb@7.10.0: + /cssdb@7.11.1: resolution: { - integrity: sha512-yGZ5tmA57gWh/uvdQBHs45wwFY0IBh3ypABk5sEubPBPSzXzkNgsWReqx7gdx6uhC+QoFBe+V8JwBB9/hQ6cIA==, + integrity: sha512-F0nEoX/Rv8ENTHsjMPGHd9opdjGfXkgRBafSUGnQKPzGZFB7Lm0BbT10x21TMOCrKLbVsJ0NoCDMk6AfKqw8/A==, } dev: true @@ -5796,7 +5806,7 @@ packages: css-tree: 2.2.1 dev: true - /cz-conventional-changelog@3.3.0(typescript@5.3.3): + /cz-conventional-changelog@3.3.0(@types/node@20.10.5)(typescript@5.3.3): resolution: { integrity: sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==, @@ -5804,14 +5814,15 @@ packages: engines: { node: ">= 10" } dependencies: chalk: 2.4.2 - commitizen: 4.3.0(typescript@5.3.3) + commitizen: 4.3.0(@types/node@20.10.5)(typescript@5.3.3) conventional-commit-types: 3.0.0 lodash.map: 4.6.0 longest: 2.0.1 word-wrap: 1.2.5 optionalDependencies: - "@commitlint/load": 18.4.3(typescript@5.3.3) + "@commitlint/load": 18.6.1(@types/node@20.10.5)(typescript@5.3.3) transitivePeerDependencies: + - "@types/node" - typescript dev: true @@ -5945,12 +5956,12 @@ packages: type: 1.2.0 dev: false - /dargs@7.0.0: + /dargs@8.1.0: resolution: { - integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==, + integrity: sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw==, } - engines: { node: ">=8" } + engines: { node: ">=12" } dev: true /dash-ast@2.0.1: @@ -5975,17 +5986,6 @@ packages: ms: 2.1.2 dev: true - /decamelize-keys@1.1.1: - resolution: - { - integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==, - } - engines: { node: ">=0.10.0" } - dependencies: - decamelize: 1.2.0 - map-obj: 1.0.1 - dev: true - /decamelize@1.2.0: resolution: { @@ -6232,6 +6232,13 @@ packages: } dev: true + /electron-to-chromium@1.4.689: + resolution: + { + integrity: sha512-GatzRKnGPS1go29ep25reM94xxd1Wj8ritU0yRhCJ/tr1Bg8gKnm6R9O/yPOhGQBoLMZ9ezfrpghNaTw97C/PQ==, + } + dev: true + /emoji-regex@10.3.0: resolution: { @@ -6528,7 +6535,7 @@ packages: source-map: 0.1.43 dev: false - /eslint-config-prettier@9.1.0(eslint@8.56.0): + /eslint-config-prettier@9.1.0(eslint@8.57.0): resolution: { integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==, @@ -6537,10 +6544,10 @@ packages: peerDependencies: eslint: ">=7.0.0" dependencies: - eslint: 8.56.0 + eslint: 8.57.0 dev: true - /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.56.0)(prettier@3.2.5): + /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5): resolution: { integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==, @@ -6557,8 +6564,8 @@ packages: eslint-config-prettier: optional: true dependencies: - eslint: 8.56.0 - eslint-config-prettier: 9.1.0(eslint@8.56.0) + eslint: 8.57.0 + eslint-config-prettier: 9.1.0(eslint@8.57.0) prettier: 3.2.5 prettier-linter-helpers: 1.0.0 synckit: 0.8.8 @@ -6583,19 +6590,19 @@ packages: engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dev: true - /eslint@8.56.0: + /eslint@8.57.0: resolution: { - integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==, + integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==, } engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } hasBin: true dependencies: - "@eslint-community/eslint-utils": 4.4.0(eslint@8.56.0) + "@eslint-community/eslint-utils": 4.4.0(eslint@8.57.0) "@eslint-community/regexpp": 4.10.0 "@eslint/eslintrc": 2.1.4 - "@eslint/js": 8.56.0 - "@humanwhocodes/config-array": 0.11.13 + "@eslint/js": 8.57.0 + "@humanwhocodes/config-array": 0.11.14 "@humanwhocodes/module-importer": 1.0.1 "@nodelib/fs.walk": 1.2.8 "@ungap/structured-clone": 1.2.0 @@ -7004,6 +7011,18 @@ packages: path-exists: 4.0.0 dev: true + /find-up@7.0.0: + resolution: + { + integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==, + } + engines: { node: ">=18" } + dependencies: + locate-path: 7.2.0 + path-exists: 5.0.0 + unicorn-magic: 0.1.0 + dev: true + /find-versions@5.1.0: resolution: { @@ -7299,19 +7318,17 @@ packages: traverse: 0.6.8 dev: true - /git-raw-commits@2.0.11: + /git-raw-commits@4.0.0: resolution: { - integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==, + integrity: sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ==, } - engines: { node: ">=10" } + engines: { node: ">=16" } hasBin: true dependencies: - dargs: 7.0.0 - lodash: 4.17.21 - meow: 8.1.2 - split2: 3.2.2 - through2: 4.0.2 + dargs: 8.1.0 + meow: 12.1.1 + split2: 4.2.0 dev: true /glob-parent@5.1.2: @@ -7363,15 +7380,27 @@ packages: path-is-absolute: 1.0.1 dev: true + /global-directory@4.0.1: + resolution: + { + integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==, + } + engines: { node: ">=18" } + dependencies: + ini: 4.1.1 + dev: true + /global-dirs@0.1.1: resolution: { integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==, } engines: { node: ">=4" } + requiresBuild: true dependencies: ini: 1.3.8 dev: true + optional: true /global-modules@1.0.0: resolution: @@ -7551,14 +7580,6 @@ packages: uglify-js: 3.17.4 dev: true - /hard-rejection@2.1.0: - resolution: - { - integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==, - } - engines: { node: ">=6" } - dev: true - /has-bigints@1.0.2: resolution: { @@ -7655,23 +7676,6 @@ packages: engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dev: true - /hosted-git-info@2.8.9: - resolution: - { - integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==, - } - dev: true - - /hosted-git-info@4.1.0: - resolution: - { - integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==, - } - engines: { node: ">=10" } - dependencies: - lru-cache: 6.0.0 - dev: true - /hosted-git-info@7.0.1: resolution: { @@ -7895,6 +7899,14 @@ packages: } dev: true + /ini@4.1.1: + resolution: + { + integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + dev: true + /inquirer@7.3.3: resolution: { @@ -8175,14 +8187,6 @@ packages: engines: { node: ">=8" } dev: true - /is-plain-obj@1.1.0: - resolution: - { - integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==, - } - engines: { node: ">=0.10.0" } - dev: true - /is-plain-object@5.0.0: resolution: { @@ -8747,6 +8751,16 @@ packages: p-locate: 5.0.0 dev: true + /locate-path@7.2.0: + resolution: + { + integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + dependencies: + p-locate: 6.0.0 + dev: true + /lodash-es@4.17.21: resolution: { @@ -8789,13 +8803,6 @@ packages: } dev: true - /lodash.isfunction@3.0.9: - resolution: - { - integrity: sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==, - } - dev: true - /lodash.isplainobject@4.0.6: resolution: { @@ -8988,22 +8995,6 @@ packages: sourcemap-codec: 1.4.8 dev: true - /map-obj@1.0.1: - resolution: - { - integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==, - } - engines: { node: ">=0.10.0" } - dev: true - - /map-obj@4.3.0: - resolution: - { - integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==, - } - engines: { node: ">=8" } - dev: true - /marked-terminal@7.0.0(marked@12.0.0): resolution: { @@ -9022,15 +9013,6 @@ packages: supports-hyperlinks: 3.0.0 dev: true - /marked@11.2.0: - resolution: - { - integrity: sha512-HR0m3bvu0jAPYiIvLUUQtdg1g6D247//lvcekpHO1WMvbwDlwSkZAX9Lw4F4YHE1T0HaaNve0tuAWuV1UJ6vtw==, - } - engines: { node: ">= 18" } - hasBin: true - dev: false - /marked@12.0.0: resolution: { @@ -9038,7 +9020,6 @@ packages: } engines: { node: ">= 18" } hasBin: true - dev: true /mathml-tag-names@2.1.3: resolution: @@ -9077,26 +9058,6 @@ packages: engines: { node: ">=18" } dev: true - /meow@8.1.2: - resolution: - { - integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==, - } - engines: { node: ">=10" } - dependencies: - "@types/minimist": 1.2.5 - camelcase-keys: 6.2.2 - decamelize-keys: 1.1.1 - hard-rejection: 2.1.0 - minimist-options: 4.1.0 - normalize-package-data: 3.0.3 - read-pkg-up: 7.0.1 - redent: 3.0.0 - trim-newlines: 3.0.1 - type-fest: 0.18.1 - yargs-parser: 20.2.9 - dev: true - /merge-source-map@1.0.4: resolution: { @@ -9180,14 +9141,6 @@ packages: engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dev: true - /min-indent@1.0.1: - resolution: - { - integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==, - } - engines: { node: ">=4" } - dev: true - /mini-svg-data-uri@1.4.4: resolution: { @@ -9225,18 +9178,6 @@ packages: brace-expansion: 2.0.1 dev: true - /minimist-options@4.1.0: - resolution: - { - integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==, - } - engines: { node: ">= 6" } - dependencies: - arrify: 1.0.1 - is-plain-obj: 1.1.0 - kind-of: 6.0.3 - dev: true - /minimist@1.2.7: resolution: { @@ -9361,31 +9302,6 @@ packages: } dev: true - /normalize-package-data@2.5.0: - resolution: - { - integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==, - } - dependencies: - hosted-git-info: 2.8.9 - resolve: 1.22.8 - semver: 5.7.2 - validate-npm-package-license: 3.0.4 - dev: true - - /normalize-package-data@3.0.3: - resolution: - { - integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==, - } - engines: { node: ">=10" } - dependencies: - hosted-git-info: 4.1.0 - is-core-module: 2.13.1 - semver: 7.5.4 - validate-npm-package-license: 3.0.4 - dev: true - /normalize-package-data@6.0.0: resolution: { @@ -9395,7 +9311,7 @@ packages: dependencies: hosted-git-info: 7.0.1 is-core-module: 2.13.1 - semver: 7.5.4 + semver: 7.6.0 validate-npm-package-license: 3.0.4 dev: true @@ -9735,6 +9651,16 @@ packages: yocto-queue: 0.1.0 dev: true + /p-limit@4.0.0: + resolution: + { + integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + dependencies: + yocto-queue: 1.0.0 + dev: true + /p-locate@2.0.0: resolution: { @@ -9765,6 +9691,16 @@ packages: p-limit: 3.1.0 dev: true + /p-locate@6.0.0: + resolution: + { + integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + dependencies: + p-limit: 4.0.0 + dev: true + /p-map@7.0.1: resolution: { @@ -9925,6 +9861,14 @@ packages: engines: { node: ">=8" } dev: true + /path-exists@5.0.0: + resolution: + { + integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + dev: true + /path-is-absolute@1.0.1: resolution: { @@ -10093,17 +10037,17 @@ packages: tinyqueue: 2.0.3 dev: false - /postcss-attribute-case-insensitive@6.0.2(postcss@8.4.35): + /postcss-attribute-case-insensitive@6.0.3(postcss@8.4.35): resolution: { - integrity: sha512-IRuCwwAAQbgaLhxQdQcIIK0dCVXg3XDUnzgKD8iwdiYdwU4rMWRWyl/W9/0nA4ihVpq5pyALiHB2veBJ0292pw==, + integrity: sha512-KHkmCILThWBRtg+Jn1owTnHPnFit4OkqS+eKiGEOPIGke54DCeYGJ6r0Fx/HjfE9M9kznApCLcU0DvnPchazMQ==, } engines: { node: ^14 || ^16 || >=18 } peerDependencies: postcss: ^8.4 dependencies: postcss: 8.4.35 - postcss-selector-parser: 6.0.14 + postcss-selector-parser: 6.0.15 dev: true /postcss-calc@9.0.1(postcss@8.4.35): @@ -10133,44 +10077,47 @@ packages: postcss-value-parser: 4.2.0 dev: true - /postcss-color-functional-notation@6.0.3(postcss@8.4.35): + /postcss-color-functional-notation@6.0.5(postcss@8.4.35): resolution: { - integrity: sha512-2jBr3H0sk3qGh/3BkmLsOKcYyVfSlM1K2QQYVU7eW5mkg7ZOQ4aU/Rtbh7vJ9FxAfgf8iHRwXBsQkHqUxzTkXw==, + integrity: sha512-aTFsIy89ftjyclwUHRwvz1IxucLzVrzmmcXmtbPWT9GdyYeaJEKeAwbaZzOZn7AQlXg4xfwgkYhKsofC4aLIwg==, } engines: { node: ^14 || ^16 || >=18 } peerDependencies: postcss: ^8.4 dependencies: - "@csstools/css-color-parser": 1.5.0(@csstools/css-parser-algorithms@2.4.0)(@csstools/css-tokenizer@2.2.3) - "@csstools/css-parser-algorithms": 2.4.0(@csstools/css-tokenizer@2.2.3) + "@csstools/css-color-parser": 1.5.2(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) + "@csstools/css-parser-algorithms": 2.6.0(@csstools/css-tokenizer@2.2.3) "@csstools/css-tokenizer": 2.2.3 - "@csstools/postcss-progressive-custom-properties": 3.0.3(postcss@8.4.35) + "@csstools/postcss-progressive-custom-properties": 3.1.0(postcss@8.4.35) + "@csstools/utilities": 1.0.0(postcss@8.4.35) postcss: 8.4.35 dev: true - /postcss-color-hex-alpha@9.0.3(postcss@8.4.35): + /postcss-color-hex-alpha@9.0.4(postcss@8.4.35): resolution: { - integrity: sha512-7sEHU4tAS6htlxun8AB9LDrCXoljxaC34tFVRlYKcvO+18r5fvGiXgv5bQzN40+4gXLCyWSMRK5FK31244WcCA==, + integrity: sha512-XQZm4q4fNFqVCYMGPiBjcqDhuG7Ey2xrl99AnDJMyr5eDASsAGalndVgHZF8i97VFNy1GQeZc4q2ydagGmhelQ==, } engines: { node: ^14 || ^16 || >=18 } peerDependencies: postcss: ^8.4 dependencies: + "@csstools/utilities": 1.0.0(postcss@8.4.35) postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true - /postcss-color-rebeccapurple@9.0.2(postcss@8.4.35): + /postcss-color-rebeccapurple@9.0.3(postcss@8.4.35): resolution: { - integrity: sha512-f+RDEAPW2m8UbJWkSpRfV+QxhSaQhDMihI75DVGJJh4oRIoegjheeRtINFJum9D8BqGJcvD4GLjggTvCwZ4zuA==, + integrity: sha512-ruBqzEFDYHrcVq3FnW3XHgwRqVMrtEPLBtD7K2YmsLKVc2jbkxzzNEctJKsPCpDZ+LeMHLKRDoSShVefGc+CkQ==, } engines: { node: ^14 || ^16 || >=18 } peerDependencies: postcss: ^8.4 dependencies: + "@csstools/utilities": 1.0.0(postcss@8.4.35) postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true @@ -10205,52 +10152,53 @@ packages: postcss-value-parser: 4.2.0 dev: true - /postcss-custom-media@10.0.2(postcss@8.4.35): + /postcss-custom-media@10.0.3(postcss@8.4.35): resolution: { - integrity: sha512-zcEFNRmDm2fZvTPdI1pIW3W//UruMcLosmMiCdpQnrCsTRzWlKQPYMa1ud9auL0BmrryKK1+JjIGn19K0UjO/w==, + integrity: sha512-wfJ9nKpLn/Qy7LASKu0Rj9Iq2uMzlRt27P4FAE1889IKRMdYUgy8SqvdXfAOs7LJLQX9Fjm0mZ+TSFphD/mKwA==, } engines: { node: ^14 || ^16 || >=18 } peerDependencies: postcss: ^8.4 dependencies: - "@csstools/cascade-layer-name-parser": 1.0.6(@csstools/css-parser-algorithms@2.4.0)(@csstools/css-tokenizer@2.2.3) - "@csstools/css-parser-algorithms": 2.4.0(@csstools/css-tokenizer@2.2.3) + "@csstools/cascade-layer-name-parser": 1.0.8(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) + "@csstools/css-parser-algorithms": 2.6.0(@csstools/css-tokenizer@2.2.3) "@csstools/css-tokenizer": 2.2.3 - "@csstools/media-query-list-parser": 2.1.6(@csstools/css-parser-algorithms@2.4.0)(@csstools/css-tokenizer@2.2.3) + "@csstools/media-query-list-parser": 2.1.8(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) postcss: 8.4.35 dev: true - /postcss-custom-properties@13.3.3(postcss@8.4.35): + /postcss-custom-properties@13.3.5(postcss@8.4.35): resolution: { - integrity: sha512-xLmILb2R83aG4X++iVFg8TWadOlc45xiyFHRZD6Yhhu2igrTHXL6C75AEWqx6k9lxrr9sK5rcfUI9JvTCxBTvA==, + integrity: sha512-xHg8DTCMfN2nrqs2CQTF+0m5jgnzKL5zrW5Y05KF6xBRO0uDPxiplBm/xcr1o49SLbyJXkMuaRJKhRzkrquKnQ==, } engines: { node: ^14 || ^16 || >=18 } peerDependencies: postcss: ^8.4 dependencies: - "@csstools/cascade-layer-name-parser": 1.0.6(@csstools/css-parser-algorithms@2.4.0)(@csstools/css-tokenizer@2.2.3) - "@csstools/css-parser-algorithms": 2.4.0(@csstools/css-tokenizer@2.2.3) + "@csstools/cascade-layer-name-parser": 1.0.8(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) + "@csstools/css-parser-algorithms": 2.6.0(@csstools/css-tokenizer@2.2.3) "@csstools/css-tokenizer": 2.2.3 + "@csstools/utilities": 1.0.0(postcss@8.4.35) postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true - /postcss-custom-selectors@7.1.6(postcss@8.4.35): + /postcss-custom-selectors@7.1.7(postcss@8.4.35): resolution: { - integrity: sha512-svsjWRaxqL3vAzv71dV0/65P24/FB8TbPX+lWyyf9SZ7aZm4S4NhCn7N3Bg+Z5sZunG3FS8xQ80LrCU9hb37cw==, + integrity: sha512-N19MpExaR+hYTXU59VO02xE42zLoAUYSVcupwkKlWWLteOb+sWCWHw5FhV7u7gVLTzaGULy7nZP3DNTHgOZAPA==, } engines: { node: ^14 || ^16 || >=18 } peerDependencies: postcss: ^8.4 dependencies: - "@csstools/cascade-layer-name-parser": 1.0.6(@csstools/css-parser-algorithms@2.4.0)(@csstools/css-tokenizer@2.2.3) - "@csstools/css-parser-algorithms": 2.4.0(@csstools/css-tokenizer@2.2.3) + "@csstools/cascade-layer-name-parser": 1.0.8(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) + "@csstools/css-parser-algorithms": 2.6.0(@csstools/css-tokenizer@2.2.3) "@csstools/css-tokenizer": 2.2.3 postcss: 8.4.35 - postcss-selector-parser: 6.0.14 + postcss-selector-parser: 6.0.15 dev: true /postcss-dir-pseudo-class@8.0.1(postcss@8.4.35): @@ -10263,7 +10211,7 @@ packages: postcss: ^8.4 dependencies: postcss: 8.4.35 - postcss-selector-parser: 6.0.14 + postcss-selector-parser: 6.0.15 dev: true /postcss-discard-comments@6.0.1(postcss@8.4.35): @@ -10314,16 +10262,17 @@ packages: postcss: 8.4.35 dev: true - /postcss-double-position-gradients@5.0.3(postcss@8.4.35): + /postcss-double-position-gradients@5.0.4(postcss@8.4.35): resolution: { - integrity: sha512-QKYpwmaSm6HcdS0ndAuWSNNMv78R1oSySoh3mYBmctHWr2KWcwPJVakdOyU4lvFVW0GRu9wfIQwGeM4p3xU9ow==, + integrity: sha512-xOH2QhazCPeYR+ziYaDcGlpo7Bpw8PVoggOFfU/xPkmBRUQH8MR2eWoPY1CZM93CB0WKs2mxq3ORo83QGIooLw==, } engines: { node: ^14 || ^16 || >=18 } peerDependencies: postcss: ^8.4 dependencies: - "@csstools/postcss-progressive-custom-properties": 3.0.3(postcss@8.4.35) + "@csstools/postcss-progressive-custom-properties": 3.1.0(postcss@8.4.35) + "@csstools/utilities": 1.0.0(postcss@8.4.35) postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true @@ -10338,7 +10287,7 @@ packages: postcss: ^8.4 dependencies: postcss: 8.4.35 - postcss-selector-parser: 6.0.14 + postcss-selector-parser: 6.0.15 dev: true /postcss-focus-within@8.0.1(postcss@8.4.35): @@ -10351,7 +10300,7 @@ packages: postcss: ^8.4 dependencies: postcss: 8.4.35 - postcss-selector-parser: 6.0.14 + postcss-selector-parser: 6.0.15 dev: true /postcss-font-variant@5.0.0(postcss@8.4.35): @@ -10377,15 +10326,16 @@ packages: postcss: 8.4.35 dev: true - /postcss-image-set-function@6.0.2(postcss@8.4.35): + /postcss-image-set-function@6.0.3(postcss@8.4.35): resolution: { - integrity: sha512-/O1xwqpJiz/apxGQi7UUfv1xUcorvkHZfvCYHPpRxxZj2WvjD0rg0+/+c+u5/Do5CpUg3XvfYxMrhcnjW1ArDQ==, + integrity: sha512-i2bXrBYzfbRzFnm+pVuxVePSTCRiNmlfssGI4H0tJQvDue+yywXwUxe68VyzXs7cGtMaH6MCLY6IbCShrSroCw==, } engines: { node: ^14 || ^16 || >=18 } peerDependencies: postcss: ^8.4 dependencies: + "@csstools/utilities": 1.0.0(postcss@8.4.35) postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: true @@ -10433,19 +10383,20 @@ packages: postcss: 8.4.35 dev: true - /postcss-lab-function@6.0.8(postcss@8.4.35): + /postcss-lab-function@6.0.10(postcss@8.4.35): resolution: { - integrity: sha512-agYs7R9Z5gnX837fCkH8TEQIHdhyDsMPPnpuuENt/dxoDVAykBaqbdxIN4DagOj+ZQo20iRNNJeY3MsFcdI6Sg==, + integrity: sha512-Csvw/CwwuwTojK2O3Ad0SvYKrfnAKy+uvT+1Fjk6igR+n8gHuJHIwdj1A2s46EZZojg3RkibdMBuv1vMvR6Sng==, } engines: { node: ^14 || ^16 || >=18 } peerDependencies: postcss: ^8.4 dependencies: - "@csstools/css-color-parser": 1.5.0(@csstools/css-parser-algorithms@2.4.0)(@csstools/css-tokenizer@2.2.3) - "@csstools/css-parser-algorithms": 2.4.0(@csstools/css-tokenizer@2.2.3) + "@csstools/css-color-parser": 1.5.2(@csstools/css-parser-algorithms@2.6.0)(@csstools/css-tokenizer@2.2.3) + "@csstools/css-parser-algorithms": 2.6.0(@csstools/css-tokenizer@2.2.3) "@csstools/css-tokenizer": 2.2.3 - "@csstools/postcss-progressive-custom-properties": 3.0.3(postcss@8.4.35) + "@csstools/postcss-progressive-custom-properties": 3.1.0(postcss@8.4.35) + "@csstools/utilities": 1.0.0(postcss@8.4.35) postcss: 8.4.35 dev: true @@ -10594,18 +10545,18 @@ packages: postcss-selector-parser: 6.0.14 dev: true - /postcss-nesting@12.0.2(postcss@8.4.35): + /postcss-nesting@12.0.4(postcss@8.4.35): resolution: { - integrity: sha512-63PpJHSeNs93S3ZUIyi+7kKx4JqOIEJ6QYtG3x+0qA4J03+4n0iwsyA1GAHyWxsHYljQS4/4ZK1o2sMi70b5wQ==, + integrity: sha512-WuCe0KnP4vKjLZK8VNoUWKL8ZLOv/5jiM94mHcI3VszLropHwmjotdUyP/ObzqZpXuQKP2Jf9R12vIHKFSStKw==, } engines: { node: ^14 || ^16 || >=18 } peerDependencies: postcss: ^8.4 dependencies: - "@csstools/selector-specificity": 3.0.1(postcss-selector-parser@6.0.14) + "@csstools/selector-specificity": 3.0.2(postcss-selector-parser@6.0.15) postcss: 8.4.35 - postcss-selector-parser: 6.0.14 + postcss-selector-parser: 6.0.15 dev: true /postcss-normalize-charset@6.0.1(postcss@8.4.35): @@ -10788,76 +10739,76 @@ packages: postcss-value-parser: 4.2.0 dev: true - /postcss-preset-env@9.3.0(postcss@8.4.35): + /postcss-preset-env@9.4.0(postcss@8.4.35): resolution: { - integrity: sha512-ycw6doPrqV6QxDCtgiyGDef61bEfiSc59HGM4gOw/wxQxmKnhuEery61oOC/5ViENz/ycpRsuhTexs1kUBTvVw==, + integrity: sha512-5X2UA4Dn4xo7sJFCxlzW/dAGo71Oxh/K5DVls33hd2e3j06OKnW5FJQTw2hB0wTnGv0f6WcMaVBGFqcEfAgwlw==, } engines: { node: ^14 || ^16 || >=18 } peerDependencies: postcss: ^8.4 dependencies: - "@csstools/postcss-cascade-layers": 4.0.2(postcss@8.4.35) - "@csstools/postcss-color-function": 3.0.8(postcss@8.4.35) - "@csstools/postcss-color-mix-function": 2.0.8(postcss@8.4.35) - "@csstools/postcss-exponential-functions": 1.0.2(postcss@8.4.35) - "@csstools/postcss-font-format-keywords": 3.0.1(postcss@8.4.35) - "@csstools/postcss-gamut-mapping": 1.0.1(postcss@8.4.35) - "@csstools/postcss-gradients-interpolation-method": 4.0.8(postcss@8.4.35) - "@csstools/postcss-hwb-function": 3.0.7(postcss@8.4.35) - "@csstools/postcss-ic-unit": 3.0.3(postcss@8.4.35) + "@csstools/postcss-cascade-layers": 4.0.3(postcss@8.4.35) + "@csstools/postcss-color-function": 3.0.10(postcss@8.4.35) + "@csstools/postcss-color-mix-function": 2.0.10(postcss@8.4.35) + "@csstools/postcss-exponential-functions": 1.0.4(postcss@8.4.35) + "@csstools/postcss-font-format-keywords": 3.0.2(postcss@8.4.35) + "@csstools/postcss-gamut-mapping": 1.0.3(postcss@8.4.35) + "@csstools/postcss-gradients-interpolation-method": 4.0.11(postcss@8.4.35) + "@csstools/postcss-hwb-function": 3.0.9(postcss@8.4.35) + "@csstools/postcss-ic-unit": 3.0.4(postcss@8.4.35) "@csstools/postcss-initial": 1.0.1(postcss@8.4.35) - "@csstools/postcss-is-pseudo-class": 4.0.4(postcss@8.4.35) + "@csstools/postcss-is-pseudo-class": 4.0.5(postcss@8.4.35) + "@csstools/postcss-light-dark-function": 1.0.0(postcss@8.4.35) "@csstools/postcss-logical-float-and-clear": 2.0.1(postcss@8.4.35) "@csstools/postcss-logical-overflow": 1.0.1(postcss@8.4.35) "@csstools/postcss-logical-overscroll-behavior": 1.0.1(postcss@8.4.35) "@csstools/postcss-logical-resize": 2.0.1(postcss@8.4.35) - "@csstools/postcss-logical-viewport-units": 2.0.4(postcss@8.4.35) - "@csstools/postcss-media-minmax": 1.1.1(postcss@8.4.35) - "@csstools/postcss-media-queries-aspect-ratio-number-values": 2.0.4(postcss@8.4.35) - "@csstools/postcss-nested-calc": 3.0.1(postcss@8.4.35) + "@csstools/postcss-logical-viewport-units": 2.0.6(postcss@8.4.35) + "@csstools/postcss-media-minmax": 1.1.3(postcss@8.4.35) + "@csstools/postcss-media-queries-aspect-ratio-number-values": 2.0.6(postcss@8.4.35) + "@csstools/postcss-nested-calc": 3.0.2(postcss@8.4.35) "@csstools/postcss-normalize-display-values": 3.0.2(postcss@8.4.35) - "@csstools/postcss-oklab-function": 3.0.8(postcss@8.4.35) - "@csstools/postcss-progressive-custom-properties": 3.0.3(postcss@8.4.35) - "@csstools/postcss-relative-color-syntax": 2.0.8(postcss@8.4.35) + "@csstools/postcss-oklab-function": 3.0.10(postcss@8.4.35) + "@csstools/postcss-progressive-custom-properties": 3.1.0(postcss@8.4.35) + "@csstools/postcss-relative-color-syntax": 2.0.10(postcss@8.4.35) "@csstools/postcss-scope-pseudo-class": 3.0.1(postcss@8.4.35) - "@csstools/postcss-stepped-value-functions": 3.0.3(postcss@8.4.35) + "@csstools/postcss-stepped-value-functions": 3.0.5(postcss@8.4.35) "@csstools/postcss-text-decoration-shorthand": 3.0.4(postcss@8.4.35) - "@csstools/postcss-trigonometric-functions": 3.0.3(postcss@8.4.35) + "@csstools/postcss-trigonometric-functions": 3.0.5(postcss@8.4.35) "@csstools/postcss-unset-value": 3.0.1(postcss@8.4.35) - autoprefixer: 10.4.16(postcss@8.4.35) - browserslist: 4.22.2 + autoprefixer: 10.4.17(postcss@8.4.35) + browserslist: 4.23.0 css-blank-pseudo: 6.0.1(postcss@8.4.35) - css-has-pseudo: 6.0.1(postcss@8.4.35) + css-has-pseudo: 6.0.2(postcss@8.4.35) css-prefers-color-scheme: 9.0.1(postcss@8.4.35) - cssdb: 7.10.0 + cssdb: 7.11.1 postcss: 8.4.35 - postcss-attribute-case-insensitive: 6.0.2(postcss@8.4.35) + postcss-attribute-case-insensitive: 6.0.3(postcss@8.4.35) postcss-clamp: 4.1.0(postcss@8.4.35) - postcss-color-functional-notation: 6.0.3(postcss@8.4.35) - postcss-color-hex-alpha: 9.0.3(postcss@8.4.35) - postcss-color-rebeccapurple: 9.0.2(postcss@8.4.35) - postcss-custom-media: 10.0.2(postcss@8.4.35) - postcss-custom-properties: 13.3.3(postcss@8.4.35) - postcss-custom-selectors: 7.1.6(postcss@8.4.35) + postcss-color-functional-notation: 6.0.5(postcss@8.4.35) + postcss-color-hex-alpha: 9.0.4(postcss@8.4.35) + postcss-color-rebeccapurple: 9.0.3(postcss@8.4.35) + postcss-custom-media: 10.0.3(postcss@8.4.35) + postcss-custom-properties: 13.3.5(postcss@8.4.35) + postcss-custom-selectors: 7.1.7(postcss@8.4.35) postcss-dir-pseudo-class: 8.0.1(postcss@8.4.35) - postcss-double-position-gradients: 5.0.3(postcss@8.4.35) + postcss-double-position-gradients: 5.0.4(postcss@8.4.35) postcss-focus-visible: 9.0.1(postcss@8.4.35) postcss-focus-within: 8.0.1(postcss@8.4.35) postcss-font-variant: 5.0.0(postcss@8.4.35) postcss-gap-properties: 5.0.1(postcss@8.4.35) - postcss-image-set-function: 6.0.2(postcss@8.4.35) - postcss-lab-function: 6.0.8(postcss@8.4.35) + postcss-image-set-function: 6.0.3(postcss@8.4.35) + postcss-lab-function: 6.0.10(postcss@8.4.35) postcss-logical: 7.0.1(postcss@8.4.35) - postcss-nesting: 12.0.2(postcss@8.4.35) + postcss-nesting: 12.0.4(postcss@8.4.35) postcss-opacity-percentage: 2.0.0(postcss@8.4.35) postcss-overflow-shorthand: 5.0.1(postcss@8.4.35) postcss-page-break: 3.0.4(postcss@8.4.35) postcss-place: 9.0.1(postcss@8.4.35) postcss-pseudo-class-any-link: 9.0.1(postcss@8.4.35) postcss-replace-overflow-wrap: 4.0.0(postcss@8.4.35) - postcss-selector-not: 7.0.1(postcss@8.4.35) - postcss-value-parser: 4.2.0 + postcss-selector-not: 7.0.2(postcss@8.4.35) dev: true /postcss-pseudo-class-any-link@9.0.1(postcss@8.4.35): @@ -10870,7 +10821,7 @@ packages: postcss: ^8.4 dependencies: postcss: 8.4.35 - postcss-selector-parser: 6.0.14 + postcss-selector-parser: 6.0.15 dev: true /postcss-reduce-initial@6.0.2(postcss@8.4.35): @@ -10944,17 +10895,17 @@ packages: postcss: 8.4.35 dev: true - /postcss-selector-not@7.0.1(postcss@8.4.35): + /postcss-selector-not@7.0.2(postcss@8.4.35): resolution: { - integrity: sha512-1zT5C27b/zeJhchN7fP0kBr16Cc61mu7Si9uWWLoA3Px/D9tIJPKchJCkUH3tPO5D0pCFmGeApAv8XpXBQJ8SQ==, + integrity: sha512-/SSxf/90Obye49VZIfc0ls4H0P6i6V1iHv0pzZH8SdgvZOPFkF37ef1r5cyWcMflJSFJ5bfuoluTnFnBBFiuSA==, } engines: { node: ^14 || ^16 || >=18 } peerDependencies: postcss: ^8.4 dependencies: postcss: 8.4.35 - postcss-selector-parser: 6.0.14 + postcss-selector-parser: 6.0.15 dev: true /postcss-selector-parser@6.0.10: @@ -11151,14 +11102,6 @@ packages: } dev: true - /quick-lru@4.0.1: - resolution: - { - integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==, - } - engines: { node: ">=8" } - dev: true - /quick-lru@5.1.1: resolution: { @@ -11232,31 +11175,6 @@ packages: type-fest: 4.9.0 dev: true - /read-pkg-up@7.0.1: - resolution: - { - integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==, - } - engines: { node: ">=8" } - dependencies: - find-up: 4.1.0 - read-pkg: 5.2.0 - type-fest: 0.8.1 - dev: true - - /read-pkg@5.2.0: - resolution: - { - integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==, - } - engines: { node: ">=8" } - dependencies: - "@types/normalize-package-data": 2.4.4 - normalize-package-data: 2.5.0 - parse-json: 5.2.0 - type-fest: 0.6.0 - dev: true - /read-pkg@9.0.1: resolution: { @@ -11307,17 +11225,6 @@ packages: picomatch: 2.3.1 dev: true - /redent@3.0.0: - resolution: - { - integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==, - } - engines: { node: ">=8" } - dependencies: - indent-string: 4.0.0 - strip-indent: 3.0.0 - dev: true - /redux@4.2.1: resolution: { @@ -11475,9 +11382,11 @@ packages: integrity: sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==, } engines: { node: ">=8" } + requiresBuild: true dependencies: global-dirs: 0.1.1 dev: true + optional: true /resolve@1.1.7: resolution: @@ -11774,7 +11683,7 @@ packages: } engines: { node: ">=12" } dependencies: - semver: 7.5.4 + semver: 7.6.0 dev: true /semver-regex@4.0.5: @@ -11785,14 +11694,6 @@ packages: engines: { node: ">=12" } dev: true - /semver@5.7.2: - resolution: - { - integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==, - } - hasBin: true - dev: true - /semver@6.3.1: resolution: { @@ -12096,15 +11997,6 @@ packages: through2: 2.0.5 dev: true - /split2@3.2.2: - resolution: - { - integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==, - } - dependencies: - readable-stream: 3.6.2 - dev: true - /split2@4.2.0: resolution: { @@ -12353,16 +12245,6 @@ packages: engines: { node: ">=12" } dev: true - /strip-indent@3.0.0: - resolution: - { - integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==, - } - engines: { node: ">=8" } - dependencies: - min-indent: 1.0.1 - dev: true - /strip-json-comments@2.0.1: resolution: { @@ -12720,15 +12602,6 @@ packages: readable-stream: 2.3.8 xtend: 4.0.2 - /through2@4.0.2: - resolution: - { - integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==, - } - dependencies: - readable-stream: 3.6.2 - dev: true - /through@2.3.8: resolution: { @@ -12801,14 +12674,6 @@ packages: engines: { node: ">= 0.4" } dev: true - /trim-newlines@3.0.1: - resolution: - { - integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==, - } - engines: { node: ">=8" } - dev: true - /ts-api-utils@1.0.3(typescript@5.3.3): resolution: { @@ -12869,14 +12734,6 @@ packages: engines: { node: ">=10" } dev: true - /type-fest@0.18.1: - resolution: - { - integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==, - } - engines: { node: ">=10" } - dev: true - /type-fest@0.20.2: resolution: { @@ -12893,22 +12750,6 @@ packages: engines: { node: ">=10" } dev: true - /type-fest@0.6.0: - resolution: - { - integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==, - } - engines: { node: ">=8" } - dev: true - - /type-fest@0.8.1: - resolution: - { - integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==, - } - engines: { node: ">=8" } - dev: true - /type-fest@1.4.0: resolution: { @@ -13180,6 +13021,20 @@ packages: picocolors: 1.0.0 dev: true + /update-browserslist-db@1.0.13(browserslist@4.23.0): + resolution: + { + integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==, + } + hasBin: true + peerDependencies: + browserslist: ">= 4.21.0" + dependencies: + browserslist: 4.23.0 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: true + /uri-js@4.4.1: resolution: { @@ -13220,31 +13075,35 @@ packages: spdx-expression-parse: 3.0.1 dev: true - /vite-plugin-pwa@0.17.5(vite@5.1.3)(workbox-build@7.0.0)(workbox-window@7.0.0): + /vite-plugin-pwa@0.19.2(vite@5.1.4)(workbox-build@7.0.0)(workbox-window@7.0.0): resolution: { - integrity: sha512-UxRNPiJBzh4tqU/vc8G2TxmrUTzT6BqvSzhszLk62uKsf+npXdvLxGDz9C675f4BJi6MbD2tPnJhi5txlMzxbQ==, + integrity: sha512-LSQJFPxCAQYbRuSyc9EbRLRqLpaBA9onIZuQFomfUYjWSgHuQLonahetDlPSC9zsxmkSEhQH8dXZN8yL978h3w==, } engines: { node: ">=16.0.0" } peerDependencies: + "@vite-pwa/assets-generator": ^0.2.4 vite: ^3.1.0 || ^4.0.0 || ^5.0.0 workbox-build: ^7.0.0 workbox-window: ^7.0.0 + peerDependenciesMeta: + "@vite-pwa/assets-generator": + optional: true dependencies: debug: 4.3.4 fast-glob: 3.3.2 pretty-bytes: 6.1.1 - vite: 5.1.3(@types/node@20.10.5) + vite: 5.1.4(@types/node@20.10.5) workbox-build: 7.0.0 workbox-window: 7.0.0 transitivePeerDependencies: - supports-color dev: true - /vite@5.1.3(@types/node@20.10.5): + /vite@5.1.4(@types/node@20.10.5): resolution: { - integrity: sha512-UfmUD36DKkqhi/F75RrxvPpry+9+tTkrXfMNZD+SboZqBCMsxKtO52XeGzzuh7ioz+Eo/SYDBbdb0Z7vgcDJew==, + integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==, } engines: { node: ^18.0.0 || >=20.0.0 } hasBin: true @@ -13824,3 +13683,11 @@ packages: } engines: { node: ">=10" } dev: true + + /yocto-queue@1.0.0: + resolution: + { + integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==, + } + engines: { node: ">=12.20" } + dev: true diff --git a/tests/README.md b/tests/README.md index c9ab19cb..d4224da6 100644 --- a/tests/README.md +++ b/tests/README.md @@ -7,14 +7,14 @@ test your application. Those details can be found in the documentation. ## Resources -- [CodeIgniter 4 User Guide on Testing](https://codeigniter4.github.io/userguide/testing/index.html) +- [CodeIgniter 4 User Guide on Testing](https://codeigniter.com/user_guide/testing/index.html) - [PHPUnit docs](https://phpunit.de/documentation.html) - [Any tutorials on Unit testing in CI4?](https://forum.codeigniter.com/showthread.php?tid=81830) ## Requirements It is recommended to use the latest version of PHPUnit. At the time of this -writing we are running version 9.x. Support for this has been built into the +writing, we are running version 9.x. Support for this has been built into the **composer.json** file that ships with CodeIgniter and can easily be installed via [Composer](https://getcomposer.org/) if you don't already have it installed globally. @@ -38,9 +38,9 @@ add `xdebug.mode=coverage` in the **php.ini** file to enable code coverage. A number of the tests use a running database. In order to set up the database edit the details for the `tests` group in **app/Config/Database.php** or -**phpunit.xml**. Make sure that you provide a database engine that is currently -running on your machine. More details on a test database setup are in the -[Testing Your Database](https://codeigniter4.github.io/userguide/testing/database.html) +**.env**. Make sure that you provide a database engine that is currently running +on your machine. More details on a test database setup are in the +[Testing Your Database](https://codeigniter.com/user_guide/testing/database.html) section of the documentation. ## Running the tests @@ -96,14 +96,12 @@ to exclude database tests, or automatically generate HTML code coverage reports. ## Test Cases Every test needs a _test case_, or class that your tests extend. CodeIgniter 4 -provides a few that you may use directly: +provides one class that you may use directly: -- `CodeIgniter\Test\CIUnitTestCase` - for basic tests with no other service - needs -- `CodeIgniter\Test\DatabaseTestTrait` - for tests that need database access +- `CodeIgniter\Test\CIUnitTestCase` -Most of the time you will want to write your own test cases to hold functions -and services common to your test suites. +Most of the time you will want to write your own test cases that extend +`CIUnitTestCase` to hold functions and services common to your test suites. ## Creating Tests @@ -118,13 +116,9 @@ how. Review the links above and always pay attention to your code coverage. ### Database Tests -Tests can include migrating, seeding, and testing against a mock or -live1 database. Be sure to modify the test case (or create your own) -to point to your seed and migrations and include any additional steps to be run -before tests in the `setUp()` method. - -1 Note: If you are using database tests that require a live database -connection you will need to rename **phpunit.xml.dist** to **phpunit.xml**, -uncomment the database configuration lines and add your connection details. -Prevent **phpunit.xml** from being tracked in your repo by adding it to -**.gitignore**. +Tests can include migrating, seeding, and testing against a mock or live +database. Be sure to modify the test case (or create your own) to point to your +seed and migrations and include any additional steps to be run before tests in +the `setUp()` method. See +[Testing Your Database](https://codeigniter.com/user_guide/testing/database.html) +for details.