fix(file-uploads): validate chapters json content + remove permit_empty rule to uploaded files

refs #445
This commit is contained in:
Yassine Doghri 2024-03-01 11:32:26 +00:00
commit 6289c42b11
12 changed files with 792 additions and 891 deletions

View file

@ -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<string>
*/
@ -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<string>
*/
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;

View file

@ -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

View file

@ -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,
])) {

View file

@ -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;
}
}

View file

@ -18,7 +18,7 @@
"enabled": true,
"actions": [
{
"action": "composer test -- --no-coverage",
"action": "composer test",
"options": [],
"conditions": []
},

View file

@ -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"

145
composer.lock generated
View file

@ -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",

View file

@ -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') {

View file

@ -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.',
];

View file

@ -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",

1511
pnpm-lock.yaml generated
View file

@ -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

View file

@ -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
live<sup>1</sup> 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.
<sup>1</sup> 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.