From 3e335d4edf9ab1067c0c77c3d93511d382be8777 Mon Sep 17 00:00:00 2001 From: neoan Date: Sun, 7 Aug 2022 22:40:53 -0400 Subject: [PATCH 1/3] rename fo sqlite --- composer.json | 2 +- src/Cli/Application.php | 2 +- ...ateCommand.php => MySqlMigrateCommand.php} | 2 +- src/Database/SqLiteAdapter.php | 147 ++++++++++++++++++ 4 files changed, 150 insertions(+), 3 deletions(-) rename src/Cli/{MigrateCommand.php => MySqlMigrateCommand.php} (98%) create mode 100644 src/Database/SqLiteAdapter.php diff --git a/composer.json b/composer.json index cae037c..8a92f1b 100644 --- a/composer.json +++ b/composer.json @@ -2,7 +2,7 @@ "name": "neoan.io/core", "description": "Neoan.io Lenkrad Framework", "type": "package", - "minimum-stability": "dev", + "minimum-stability": "stable", "license": "MIT", "authors": [ { diff --git a/src/Cli/Application.php b/src/Cli/Application.php index 557e509..15af6c9 100644 --- a/src/Cli/Application.php +++ b/src/Cli/Application.php @@ -14,7 +14,7 @@ class Application function __construct(NeoanApp $app) { $this->app = new SymfonyApplication(); - $this->app->add(new MigrateCommand($app)); + $this->app->add(new MySqlMigrateCommand($app)); $this->app->add(new CreateControllerCommand($app)); $this->app->add(new CreateModelCommand($app)); } diff --git a/src/Cli/MigrateCommand.php b/src/Cli/MySqlMigrateCommand.php similarity index 98% rename from src/Cli/MigrateCommand.php rename to src/Cli/MySqlMigrateCommand.php index 25c6212..ac570a5 100644 --- a/src/Cli/MigrateCommand.php +++ b/src/Cli/MySqlMigrateCommand.php @@ -13,7 +13,7 @@ use Symfony\Component\Console\Output\OutputInterface; #[AsCommand(name: 'migrate:mysql', description: 'Syncs a model declaration to the database')] -class MigrateCommand extends Command +class MySqlMigrateCommand extends Command { protected static $defaultName = 'migrate:mysql'; protected static $defaultDescription = 'Syncs a model declaration to the database'; diff --git a/src/Database/SqLiteAdapter.php b/src/Database/SqLiteAdapter.php new file mode 100644 index 0000000..113fa14 --- /dev/null +++ b/src/Database/SqLiteAdapter.php @@ -0,0 +1,147 @@ + __DIR__.'/database.db']) + { + $this->db = new PDO('sqlite:'.$credentials['location']); + } + + private function removeVars(string $sqlString):string + { + return preg_replace('/{{[a-z.]}}/i','?', $sqlString); + } + private function parseConditions(array $conditions = [], $mode = 'update'):array + { + match($mode){ + 'select' => $sql = ' WHERE ', + 'update', + 'insert' => $sql = '' + }; + $params = []; + $columns = ''; + if(!empty($conditions)){ + $sql .= ''; + $i = 0; + foreach ($conditions as $key => $condition){ + $sql .= ($i>0? ', ': '') . "$key = ? "; + $columns .= ($i>0? ', ': '') . "$key"; + + $params[] = $key; + $i++; + } + } + return [ + 'conditionSql' => $sql, + 'params' => $params, + 'columns' => $columns + ]; + } + private function stripCondition(array $allowedKeys = [], array $conditionsArray = []):array + { + $params = []; + foreach ($allowedKeys as $allowed){ + + if(isset($conditionsArray[$allowed])){ + $params[] = $conditionsArray[$allowed]; + } + } + return $params; + } + + /** + * @inheritDoc + */ + public function raw(string $sql, array $conditions, mixed $extra = null) + { + if($this->nextMockedResult){ + $store = $this->nextMockedResult; + $this->nextMockedResult = null; + return $store; + } + $exec = $this->db->prepare($this->removeVars($sql)); + if(empty($conditions)){ + $exec->execute(); + } else { + $exec->execute(array_values($conditions)); + } + return $exec->fetchAll(PDO::FETCH_ASSOC); + } + + /** + * @inheritDoc + */ + public function easy(string $selectorString, array $conditions = [], mixed $extra = null) + { + $selections = explode(' ', $selectorString); + $sql = 'SELECT '; + $from = []; + foreach ($selections as $i => $selection) { + preg_match('/([^.]+)\.([^$]+)/',$selection, $matches); + if(!in_array($matches[1], $from)){ + $from[] = $matches[1]; + } + $sql .= ($i>0? ', ': '') . "`$matches[1]`.`$matches[2]`"; + } + $sql .= ' FROM ' . $from[0]; + [ + 'conditionSql' => $conditionSql, + 'params' => $allowedParams + ] = $this->parseConditions($conditions, 'select'); + return $this->raw($sql . $conditionSql, $this->stripCondition($allowedParams, $conditions)); + + } + + /** + * @inheritDoc + */ + public function insert($table, array $content) + { + $sql = "INSERT INTO `$table` ("; + [ + 'params' => $allowedParams, + 'columns' => $columns + ] = $this->parseConditions($content, 'insert'); + $question = array_fill(0, count($content),'?'); + + $sql .= $columns . ') VALUES (' . implode(', ', $question) . ')'; + + $this->raw($sql, $this->stripCondition($allowedParams, $content)); + return $this->db->lastInsertId(); + + } + + /** + * @inheritDoc + */ + public function update($table, array $values, array $where) + { + $sql = "UPDATE `$table` SET "; + [ + 'params' => $allowedParams, + 'conditionSql' => $conditionSql + ] = $this->parseConditions($values, 'update'); + $sql .= $conditionSql; + $setParams = $this->stripCondition($allowedParams, $values); + [ + 'params' => $allowedParams, + 'conditionSql' => $conditionSql + ] = $this->parseConditions($where, 'select'); + $sql .= $conditionSql; + $whereParams = $this->stripCondition($allowedParams, $values); + return $this->raw($sql, array_merge($setParams,$whereParams)); + } + + /** + * @inheritDoc + */ + public function delete($table, string $id, bool $hard = false) + { + return $this->raw("DELETE FROM `$table` WHERE id = ?",['id'=>$id]); + } +} \ No newline at end of file From 5b074fe3da8c89fce767e00b4850ac1217df29fb Mon Sep 17 00:00:00 2001 From: neoan Date: Sun, 7 Aug 2022 22:42:01 -0400 Subject: [PATCH 2/3] webpath fix --- src/NeoanApp.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/NeoanApp.php b/src/NeoanApp.php index 6816b84..dfa0842 100644 --- a/src/NeoanApp.php +++ b/src/NeoanApp.php @@ -17,13 +17,13 @@ public function __construct(string $appPath, string $publicPath) Env::initialize($appPath); $this->appPath = $appPath; $this->publicPath = $publicPath; - $this->webPath = $this->findWebPath(); if(isset($_SERVER["SERVER_PROTOCOL"])){ $protocol = strtolower(substr($_SERVER["SERVER_PROTOCOL"],0,strpos( $_SERVER["SERVER_PROTOCOL"],'/'))).'://'; if(!defined('base')){ define('base',$protocol . $_SERVER['HTTP_HOST']); } } + $this->webPath = $this->findWebPath(); } @@ -44,7 +44,7 @@ private function findWebPath(): string unset($publicPathParts[$i]); } } - return '/' . implode('/', $publicPathParts); + return base . '/' . implode('/', $publicPathParts); } public function run(): void From bf205b83bab76c1de1d373d248a862a9010e2fbb Mon Sep 17 00:00:00 2001 From: neoan Date: Sun, 7 Aug 2022 22:43:46 -0400 Subject: [PATCH 3/3] composer-lock fix --- composer.lock | 298 +++++++++++++++++++++++--------------------------- 1 file changed, 135 insertions(+), 163 deletions(-) diff --git a/composer.lock b/composer.lock index 57dcbcd..645b04d 100644 --- a/composer.lock +++ b/composer.lock @@ -4,11 +4,11 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "c97eb7aa5a1f9f22b19229352ba1678f", + "content-hash": "971d6fa20b8d344150391a12634d58e9", "packages": [ { "name": "graham-campbell/result-type", - "version": "1.1.x-dev", + "version": "v1.1.0", "source": { "type": "git", "url": "https://github.com/GrahamCampbell/Result-Type.git", @@ -27,7 +27,6 @@ "require-dev": { "phpunit/phpunit": "^8.5.28 || ^9.5.21" }, - "default-branch": true, "type": "library", "autoload": { "psr-4": { @@ -157,7 +156,7 @@ }, { "name": "phpoption/phpoption", - "version": "dev-master", + "version": "1.9.0", "source": { "type": "git", "url": "https://github.com/schmittjoh/php-option.git", @@ -176,7 +175,6 @@ "bamarni/composer-bin-plugin": "^1.8", "phpunit/phpunit": "^8.5.28 || ^9.5.21" }, - "default-branch": true, "type": "library", "extra": { "bamarni-bin": { @@ -233,22 +231,21 @@ }, { "name": "psr/container", - "version": "dev-master", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/php-fig/container.git", - "reference": "90db7b9ac2a2c5b849fcb69dde58f3ae182c68f5" + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/90db7b9ac2a2c5b849fcb69dde58f3ae182c68f5", - "reference": "90db7b9ac2a2c5b849fcb69dde58f3ae182c68f5", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", "shasum": "" }, "require": { "php": ">=7.4.0" }, - "default-branch": true, "type": "library", "extra": { "branch-alias": { @@ -281,22 +278,22 @@ ], "support": { "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/master" + "source": "https://github.com/php-fig/container/tree/2.0.2" }, - "time": "2022-07-19T17:36:59+00:00" + "time": "2021-11-05T16:47:00+00:00" }, { "name": "symfony/console", - "version": "6.2.x-dev", + "version": "v6.1.3", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "24cb54f151f8134d1ae735c465aa338761ca8fce" + "reference": "43fcb5c5966b43c56bcfa481368d90d748936ab8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/24cb54f151f8134d1ae735c465aa338761ca8fce", - "reference": "24cb54f151f8134d1ae735c465aa338761ca8fce", + "url": "https://api.github.com/repos/symfony/console/zipball/43fcb5c5966b43c56bcfa481368d90d748936ab8", + "reference": "43fcb5c5966b43c56bcfa481368d90d748936ab8", "shasum": "" }, "require": { @@ -363,7 +360,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/6.2" + "source": "https://github.com/symfony/console/tree/v6.1.3" }, "funding": [ { @@ -379,30 +376,29 @@ "type": "tidelift" } ], - "time": "2022-08-05T15:59:14+00:00" + "time": "2022-07-22T14:17:57+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "dev-main", + "version": "v3.1.1", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "4912000e79dc2d6df029d35d8755be1ed79b6691" + "reference": "07f1b9cc2ffee6aaafcf4b710fbc38ff736bd918" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/4912000e79dc2d6df029d35d8755be1ed79b6691", - "reference": "4912000e79dc2d6df029d35d8755be1ed79b6691", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/07f1b9cc2ffee6aaafcf4b710fbc38ff736bd918", + "reference": "07f1b9cc2ffee6aaafcf4b710fbc38ff736bd918", "shasum": "" }, "require": { "php": ">=8.1" }, - "default-branch": true, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.2-dev" + "dev-main": "3.1-dev" }, "thanks": { "name": "symfony/contracts", @@ -431,7 +427,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/main" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.1.1" }, "funding": [ { @@ -447,11 +443,11 @@ "type": "tidelift" } ], - "time": "2022-05-20T13:56:22+00:00" + "time": "2022-02-25T11:15:52+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "dev-main", + "version": "v1.26.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", @@ -472,7 +468,6 @@ "suggest": { "ext-ctype": "For best performance" }, - "default-branch": true, "type": "library", "extra": { "branch-alias": { @@ -534,7 +529,7 @@ }, { "name": "symfony/polyfill-intl-grapheme", - "version": "dev-main", + "version": "v1.26.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", @@ -552,7 +547,6 @@ "suggest": { "ext-intl": "For best performance" }, - "default-branch": true, "type": "library", "extra": { "branch-alias": { @@ -616,7 +610,7 @@ }, { "name": "symfony/polyfill-intl-normalizer", - "version": "dev-main", + "version": "v1.26.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", @@ -634,7 +628,6 @@ "suggest": { "ext-intl": "For best performance" }, - "default-branch": true, "type": "library", "extra": { "branch-alias": { @@ -701,7 +694,7 @@ }, { "name": "symfony/polyfill-mbstring", - "version": "dev-main", + "version": "v1.26.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", @@ -722,7 +715,6 @@ "suggest": { "ext-mbstring": "For best performance" }, - "default-branch": true, "type": "library", "extra": { "branch-alias": { @@ -785,7 +777,7 @@ }, { "name": "symfony/polyfill-php80", - "version": "dev-main", + "version": "v1.26.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", @@ -800,7 +792,6 @@ "require": { "php": ">=7.1" }, - "default-branch": true, "type": "library", "extra": { "branch-alias": { @@ -869,16 +860,16 @@ }, { "name": "symfony/service-contracts", - "version": "dev-main", + "version": "v3.1.1", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "cb82f217a2029131afbcbd220c511d0d77ebed19" + "reference": "925e713fe8fcacf6bc05e936edd8dd5441a21239" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/cb82f217a2029131afbcbd220c511d0d77ebed19", - "reference": "cb82f217a2029131afbcbd220c511d0d77ebed19", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/925e713fe8fcacf6bc05e936edd8dd5441a21239", + "reference": "925e713fe8fcacf6bc05e936edd8dd5441a21239", "shasum": "" }, "require": { @@ -891,11 +882,10 @@ "suggest": { "symfony/service-implementation": "" }, - "default-branch": true, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.2-dev" + "dev-main": "3.1-dev" }, "thanks": { "name": "symfony/contracts", @@ -935,7 +925,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/main" + "source": "https://github.com/symfony/service-contracts/tree/v3.1.1" }, "funding": [ { @@ -951,20 +941,20 @@ "type": "tidelift" } ], - "time": "2022-05-30T19:19:18+00:00" + "time": "2022-05-30T19:18:58+00:00" }, { "name": "symfony/string", - "version": "6.2.x-dev", + "version": "v6.1.3", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "102fd1bc064b62a9ea1b5f90101f0cdd462229de" + "reference": "f35241f45c30bcd9046af2bb200a7086f70e1d6b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/102fd1bc064b62a9ea1b5f90101f0cdd462229de", - "reference": "102fd1bc064b62a9ea1b5f90101f0cdd462229de", + "url": "https://api.github.com/repos/symfony/string/zipball/f35241f45c30bcd9046af2bb200a7086f70e1d6b", + "reference": "f35241f45c30bcd9046af2bb200a7086f70e1d6b", "shasum": "" }, "require": { @@ -1020,7 +1010,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/6.2" + "source": "https://github.com/symfony/string/tree/v6.1.3" }, "funding": [ { @@ -1036,20 +1026,20 @@ "type": "tidelift" } ], - "time": "2022-08-04T19:19:24+00:00" + "time": "2022-07-27T15:50:51+00:00" }, { "name": "vlucas/phpdotenv", - "version": "dev-master", + "version": "v5.4.1", "source": { "type": "git", "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "dd46c263f277573244c517bac125a78f67b83a98" + "reference": "264dce589e7ce37a7ba99cb901eed8249fbec92f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/dd46c263f277573244c517bac125a78f67b83a98", - "reference": "dd46c263f277573244c517bac125a78f67b83a98", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/264dce589e7ce37a7ba99cb901eed8249fbec92f", + "reference": "264dce589e7ce37a7ba99cb901eed8249fbec92f", "shasum": "" }, "require": { @@ -1069,7 +1059,6 @@ "suggest": { "ext-filter": "Required to use the boolean validator." }, - "default-branch": true, "type": "library", "extra": { "branch-alias": { @@ -1105,7 +1094,7 @@ ], "support": { "issues": "https://github.com/vlucas/phpdotenv/issues", - "source": "https://github.com/vlucas/phpdotenv/tree/master" + "source": "https://github.com/vlucas/phpdotenv/tree/v5.4.1" }, "funding": [ { @@ -1117,13 +1106,13 @@ "type": "tidelift" } ], - "time": "2021-12-17T00:42:26+00:00" + "time": "2021-12-12T23:22:04+00:00" } ], "packages-dev": [ { "name": "doctrine/instantiator", - "version": "1.5.x-dev", + "version": "1.4.1", "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", @@ -1173,7 +1162,7 @@ ], "support": { "issues": "https://github.com/doctrine/instantiator/issues", - "source": "https://github.com/doctrine/instantiator/tree/1.4.x" + "source": "https://github.com/doctrine/instantiator/tree/1.4.1" }, "funding": [ { @@ -1193,7 +1182,7 @@ }, { "name": "myclabs/deep-copy", - "version": "1.x-dev", + "version": "1.11.0", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", @@ -1217,7 +1206,6 @@ "doctrine/common": "^2.13.3 || ^3.2.2", "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" }, - "default-branch": true, "type": "library", "autoload": { "files": [ @@ -1253,16 +1241,16 @@ }, { "name": "nikic/php-parser", - "version": "4.x-dev", + "version": "v4.14.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "2d589921f23d869846a52c541247e0bafca61ab3" + "reference": "34bea19b6e03d8153165d8f30bba4c3be86184c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/2d589921f23d869846a52c541247e0bafca61ab3", - "reference": "2d589921f23d869846a52c541247e0bafca61ab3", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/34bea19b6e03d8153165d8f30bba4c3be86184c1", + "reference": "34bea19b6e03d8153165d8f30bba4c3be86184c1", "shasum": "" }, "require": { @@ -1303,33 +1291,31 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/4.x" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.14.0" }, - "time": "2022-06-04T10:44:36+00:00" + "time": "2022-05-31T20:59:12+00:00" }, { "name": "phar-io/manifest", - "version": "dev-master", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/phar-io/manifest.git", - "reference": "36d8a21e851a9512db2b086dc5ac2c61308f0138" + "reference": "97803eca37d319dfa7826cc2437fc020857acb53" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/36d8a21e851a9512db2b086dc5ac2c61308f0138", - "reference": "36d8a21e851a9512db2b086dc5ac2c61308f0138", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", + "reference": "97803eca37d319dfa7826cc2437fc020857acb53", "shasum": "" }, "require": { "ext-dom": "*", - "ext-libxml": "*", "ext-phar": "*", "ext-xmlwriter": "*", "phar-io/version": "^3.0.1", "php": "^7.2 || ^8.0" }, - "default-branch": true, "type": "library", "extra": { "branch-alias": { @@ -1365,15 +1351,9 @@ "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", "support": { "issues": "https://github.com/phar-io/manifest/issues", - "source": "https://github.com/phar-io/manifest/tree/master" + "source": "https://github.com/phar-io/manifest/tree/2.0.3" }, - "funding": [ - { - "url": "https://github.com/theseer", - "type": "github" - } - ], - "time": "2022-02-21T19:55:33+00:00" + "time": "2021-07-20T11:28:43+00:00" }, { "name": "phar-io/version", @@ -1428,25 +1408,25 @@ }, { "name": "phpdocumentor/reflection-common", - "version": "dev-master", + "version": "2.2.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "a0eeab580cbdf4414fef6978732510a36ed0a9d6" + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/a0eeab580cbdf4414fef6978732510a36ed0a9d6", - "reference": "a0eeab580cbdf4414fef6978732510a36ed0a9d6", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b", + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b", "shasum": "" }, "require": { - "php": ">=7.1" + "php": "^7.2 || ^8.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.x-dev" + "dev-2.x": "2.x-dev" } }, "autoload": { @@ -1475,22 +1455,22 @@ ], "support": { "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", - "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/master" + "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x" }, - "time": "2021-06-25T13:47:51+00:00" + "time": "2020-06-27T09:03:43+00:00" }, { "name": "phpdocumentor/reflection-docblock", - "version": "dev-master", + "version": "5.3.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "407c40dcfb0250d015a6996c99db4bf3194aaca9" + "reference": "622548b623e81ca6d78b721c5e029f4ce664f170" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/407c40dcfb0250d015a6996c99db4bf3194aaca9", - "reference": "407c40dcfb0250d015a6996c99db4bf3194aaca9", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170", + "reference": "622548b623e81ca6d78b721c5e029f4ce664f170", "shasum": "" }, "require": { @@ -1501,10 +1481,9 @@ "webmozart/assert": "^1.9.1" }, "require-dev": { - "mockery/mockery": "~1.3.5", + "mockery/mockery": "~1.3.2", "psalm/phar": "^4.8" }, - "default-branch": true, "type": "library", "extra": { "branch-alias": { @@ -1533,38 +1512,32 @@ "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", "support": { "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", - "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/master" + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0" }, - "time": "2022-07-27T20:03:43+00:00" + "time": "2021-10-19T17:43:47+00:00" }, { "name": "phpdocumentor/type-resolver", - "version": "1.x-dev", + "version": "1.6.1", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "b84eadb189e2b0586d50e4acd202ddbe2321c742" + "reference": "77a32518733312af16a44300404e945338981de3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/b84eadb189e2b0586d50e4acd202ddbe2321c742", - "reference": "b84eadb189e2b0586d50e4acd202ddbe2321c742", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/77a32518733312af16a44300404e945338981de3", + "reference": "77a32518733312af16a44300404e945338981de3", "shasum": "" }, "require": { - "php": "^7.4 || ^8.0", + "php": "^7.2 || ^8.0", "phpdocumentor/reflection-common": "^2.0" }, "require-dev": { "ext-tokenizer": "*", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan": "^1.8", - "phpstan/phpstan-phpunit": "^1.1", - "phpunit/phpunit": "^9.5", - "rector/rector": "^0.13.9", - "vimeo/psalm": "^4.25" - }, - "default-branch": true, + "psalm/phar": "^4.8" + }, "type": "library", "extra": { "branch-alias": { @@ -1589,13 +1562,13 @@ "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", "support": { "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.x" + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.6.1" }, - "time": "2022-07-29T17:55:23+00:00" + "time": "2022-03-15T21:29:03+00:00" }, { "name": "phpspec/prophecy", - "version": "dev-master", + "version": "v1.15.0", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", @@ -1618,7 +1591,6 @@ "phpspec/phpspec": "^6.0 || ^7.0", "phpunit/phpunit": "^8.0 || ^9.0" }, - "default-branch": true, "type": "library", "extra": { "branch-alias": { @@ -1663,23 +1635,23 @@ }, { "name": "phpunit/php-code-coverage", - "version": "9.2.x-dev", + "version": "9.2.15", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "c450db218429fa4ff4af01f034c3fb54ea5b2600" + "reference": "2e9da11878c4202f97915c1cb4bb1ca318a63f5f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/c450db218429fa4ff4af01f034c3fb54ea5b2600", - "reference": "c450db218429fa4ff4af01f034c3fb54ea5b2600", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2e9da11878c4202f97915c1cb4bb1ca318a63f5f", + "reference": "2e9da11878c4202f97915c1cb4bb1ca318a63f5f", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^4.14", + "nikic/php-parser": "^4.13.0", "php": ">=7.3", "phpunit/php-file-iterator": "^3.0.3", "phpunit/php-text-template": "^2.0.2", @@ -1728,7 +1700,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.15" }, "funding": [ { @@ -1736,20 +1708,20 @@ "type": "github" } ], - "time": "2022-08-03T06:19:15+00:00" + "time": "2022-03-07T09:28:20+00:00" }, { "name": "phpunit/php-file-iterator", - "version": "3.0.x-dev", + "version": "3.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "38b24367e1b340aa78b96d7cab042942d917bb84" + "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/38b24367e1b340aa78b96d7cab042942d917bb84", - "reference": "38b24367e1b340aa78b96d7cab042942d917bb84", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", + "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", "shasum": "" }, "require": { @@ -1788,7 +1760,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0" + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6" }, "funding": [ { @@ -1796,7 +1768,7 @@ "type": "github" } ], - "time": "2022-02-11T16:23:04+00:00" + "time": "2021-12-02T12:48:52+00:00" }, { "name": "phpunit/php-invoker", @@ -2448,16 +2420,16 @@ }, { "name": "sebastian/environment", - "version": "5.1.x-dev", + "version": "5.1.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "3fade0c8462024d0426a00dc1ad0a2fda0df733f" + "reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/3fade0c8462024d0426a00dc1ad0a2fda0df733f", - "reference": "3fade0c8462024d0426a00dc1ad0a2fda0df733f", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/1b5dff7bb151a4db11d49d90e5408e4e938270f7", + "reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7", "shasum": "" }, "require": { @@ -2499,7 +2471,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/environment/issues", - "source": "https://github.com/sebastianbergmann/environment/tree/5.1" + "source": "https://github.com/sebastianbergmann/environment/tree/5.1.4" }, "funding": [ { @@ -2507,20 +2479,20 @@ "type": "github" } ], - "time": "2022-04-14T11:24:33+00:00" + "time": "2022-04-03T09:37:03+00:00" }, { "name": "sebastian/exporter", - "version": "4.0.x-dev", + "version": "4.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "428c31e2ea8b292aa814bc460cf28d58eba4d2ba" + "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/428c31e2ea8b292aa814bc460cf28d58eba4d2ba", - "reference": "428c31e2ea8b292aa814bc460cf28d58eba4d2ba", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/65e8b7db476c5dd267e65eea9cab77584d3cfff9", + "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9", "shasum": "" }, "require": { @@ -2576,7 +2548,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", - "source": "https://github.com/sebastianbergmann/exporter/tree/4.0" + "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.4" }, "funding": [ { @@ -2584,11 +2556,11 @@ "type": "github" } ], - "time": "2022-03-06T06:59:32+00:00" + "time": "2021-11-11T14:18:36+00:00" }, { "name": "sebastian/global-state", - "version": "5.0.x-dev", + "version": "5.0.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", @@ -2821,16 +2793,16 @@ }, { "name": "sebastian/recursion-context", - "version": "4.0.x-dev", + "version": "4.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "e3a614438af7f71eaa6fc8e406be8a3aa5c34595" + "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e3a614438af7f71eaa6fc8e406be8a3aa5c34595", - "reference": "e3a614438af7f71eaa6fc8e406be8a3aa5c34595", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172", + "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172", "shasum": "" }, "require": { @@ -2869,10 +2841,10 @@ } ], "description": "Provides functionality to recursively process PHP variables", - "homepage": "https://github.com/sebastianbergmann/recursion-context", + "homepage": "http://www.github.com/sebastianbergmann/recursion-context", "support": { "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0" + "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.4" }, "funding": [ { @@ -2880,20 +2852,20 @@ "type": "github" } ], - "time": "2022-07-30T08:13:09+00:00" + "time": "2020-10-26T13:17:30+00:00" }, { "name": "sebastian/resource-operations", - "version": "dev-main", + "version": "3.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "b7a390ae3651f7ba3675d8364bff396e87931554" + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/b7a390ae3651f7ba3675d8364bff396e87931554", - "reference": "b7a390ae3651f7ba3675d8364bff396e87931554", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", "shasum": "" }, "require": { @@ -2902,11 +2874,10 @@ "require-dev": { "phpunit/phpunit": "^9.0" }, - "default-branch": true, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -2927,7 +2898,8 @@ "description": "Provides a list of PHP built-in functions that operate on resources", "homepage": "https://www.github.com/sebastianbergmann/resource-operations", "support": { - "source": "https://github.com/sebastianbergmann/resource-operations/tree/main" + "issues": "https://github.com/sebastianbergmann/resource-operations/issues", + "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3" }, "funding": [ { @@ -2935,20 +2907,20 @@ "type": "github" } ], - "time": "2022-06-14T05:05:56+00:00" + "time": "2020-09-28T06:45:17+00:00" }, { "name": "sebastian/type", - "version": "2.3.x-dev", + "version": "2.3.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/type.git", - "reference": "6f7a93739024454b06e4933ff0a42d88bb54f336" + "reference": "b8cd8a1c753c90bc1a0f5372170e3e489136f914" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/6f7a93739024454b06e4933ff0a42d88bb54f336", - "reference": "6f7a93739024454b06e4933ff0a42d88bb54f336", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/b8cd8a1c753c90bc1a0f5372170e3e489136f914", + "reference": "b8cd8a1c753c90bc1a0f5372170e3e489136f914", "shasum": "" }, "require": { @@ -2983,7 +2955,7 @@ "homepage": "https://github.com/sebastianbergmann/type", "support": { "issues": "https://github.com/sebastianbergmann/type/issues", - "source": "https://github.com/sebastianbergmann/type/tree/2.3" + "source": "https://github.com/sebastianbergmann/type/tree/2.3.4" }, "funding": [ { @@ -2991,11 +2963,11 @@ "type": "github" } ], - "time": "2022-03-09T17:15:41+00:00" + "time": "2021-06-15T12:49:02+00:00" }, { "name": "sebastian/version", - "version": "3.0.x-dev", + "version": "3.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/version.git", @@ -3156,7 +3128,7 @@ } ], "aliases": [], - "minimum-stability": "dev", + "minimum-stability": "stable", "stability-flags": [], "prefer-stable": false, "prefer-lowest": false,