From 2360eb2aaeb030e04ea77c006d19747d57675db9 Mon Sep 17 00:00:00 2001 From: Dave Smith-Hayes Date: Wed, 18 Jun 2025 14:59:32 +0000 Subject: [PATCH] Add Cycle ORM --- app/composer.json | 4 +- app/composer.lock | 1449 ++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 1381 insertions(+), 72 deletions(-) diff --git a/app/composer.json b/app/composer.json index 136cb6b..437a4dc 100644 --- a/app/composer.json +++ b/app/composer.json @@ -16,7 +16,9 @@ "robmorgan/phinx": "^0.16.1", "ext-pdo": "*", "react/http": "^1.10", - "ramsey/uuid": "^4.7" + "ramsey/uuid": "^4.7", + "cycle/orm": "^2.10", + "cycle/annotated": "^4.3" }, "require-dev": { "phpunit/phpunit": "^11.1", diff --git a/app/composer.lock b/app/composer.lock index f521f49..c442b1d 100644 --- a/app/composer.lock +++ b/app/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "2e4b75b6fb46dfcce01fab9906898a73", + "content-hash": "a4866d4ed5480878da10c4c092fa0fc4", "packages": [ { "name": "brick/math", @@ -390,6 +390,327 @@ }, "time": "2025-04-19T12:34:03+00:00" }, + { + "name": "cycle/annotated", + "version": "v4.3.0", + "source": { + "type": "git", + "url": "https://github.com/cycle/annotated.git", + "reference": "35890d8fe16b6a7a29cbacef5715d31b13b78212" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cycle/annotated/zipball/35890d8fe16b6a7a29cbacef5715d31b13b78212", + "reference": "35890d8fe16b6a7a29cbacef5715d31b13b78212", + "shasum": "" + }, + "require": { + "cycle/orm": "^2.9.2", + "cycle/schema-builder": "^2.11.1", + "doctrine/inflector": "^2.0", + "php": ">=8.1", + "spiral/attributes": "^2.8|^3.0", + "spiral/tokenizer": "^2.8|^3.0" + }, + "require-dev": { + "doctrine/annotations": "^1.14.3 || ^2.0.1", + "phpunit/phpunit": "^10.1", + "spiral/code-style": "^2.2", + "spiral/dumper": "^3.3", + "vimeo/psalm": "^5.26 || ^6.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Cycle\\Annotated\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Anton Titov (wolfy-j)", + "email": "wolfy-j@spiralscout.com" + }, + { + "name": "Aleksei Gagarin (roxblnfk)", + "email": "alexey.gagarin@spiralscout.com" + }, + { + "name": "Pavel Butchnev (butschster)", + "email": "pavel.buchnev@spiralscout.com" + }, + { + "name": "Maksim Smakouz (msmakouz)", + "email": "maksim.smakouz@spiralscout.com" + } + ], + "description": "Cycle ORM Annotated Entities generator", + "homepage": "https://cycle-orm.dev", + "support": { + "chat": "https://discord.gg/spiralphp", + "docs": "https://cycle-orm.dev/docs", + "issues": "https://github.com/cycle/annotated/issues", + "source": "https://github.com/cycle/annotated" + }, + "funding": [ + { + "url": "https://github.com/sponsors/cycle", + "type": "github" + } + ], + "time": "2025-05-14T14:48:40+00:00" + }, + { + "name": "cycle/database", + "version": "2.13.0", + "source": { + "type": "git", + "url": "https://github.com/cycle/database.git", + "reference": "0f462319a0e22d05ccf6dc4721514ce609930bf7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cycle/database/zipball/0f462319a0e22d05ccf6dc4721514ce609930bf7", + "reference": "0f462319a0e22d05ccf6dc4721514ce609930bf7", + "shasum": "" + }, + "require": { + "ext-pdo": "*", + "php": ">=8.0", + "psr/log": "1 - 3", + "spiral/core": "^2.8 || ^3.0", + "spiral/pagination": "^2.8 || ^3.0", + "symfony/polyfill-php83": "^1.28" + }, + "conflict": { + "spiral/database": "*" + }, + "require-dev": { + "ergebnis/composer-normalize": "^2.42", + "infection/infection": ">=0.26.10", + "mockery/mockery": "^1.5", + "phpunit/phpunit": "^9.5", + "spiral/code-style": "^2.2.0", + "spiral/tokenizer": "^2.14 || ^3.0", + "vimeo/psalm": "^5.26 || ^6.6" + }, + "type": "library", + "autoload": { + "files": [ + "src/polyfill.php", + "src/functions_polyfill.php" + ], + "psr-4": { + "Cycle\\Database\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Anton Titov (wolfy-j)", + "email": "wolfy-j@spiralscout.com" + }, + { + "name": "Aleksei Gagarin (roxblnfk)", + "email": "alexey.gagarin@spiralscout.com" + }, + { + "name": "Maksim Smakouz (msmakouz)", + "email": "maksim.smakouz@spiralscout.com" + }, + { + "name": "Pavel Butchnev (butschster)", + "email": "pavel.buchnev@spiralscout.com" + } + ], + "description": "DBAL, schema introspection, migration and pagination", + "homepage": "https://cycle-orm.dev", + "keywords": [ + "database", + "dbal", + "mssql", + "mysql", + "orm", + "postgresql", + "query-builder", + "sql", + "sqlite" + ], + "support": { + "chat": "https://discord.gg/spiralphp", + "docs": "https://cycle-orm.dev/docs", + "issues": "https://github.com/cycle/database/issues", + "source": "https://github.com/cycle/database" + }, + "funding": [ + { + "url": "https://github.com/sponsors/cycle", + "type": "github" + } + ], + "time": "2025-03-27T15:49:53+00:00" + }, + { + "name": "cycle/orm", + "version": "v2.10.1", + "source": { + "type": "git", + "url": "https://github.com/cycle/orm.git", + "reference": "0b659067c00c3ffbee05109fa17812754acc2525" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cycle/orm/zipball/0b659067c00c3ffbee05109fa17812754acc2525", + "reference": "0b659067c00c3ffbee05109fa17812754acc2525", + "shasum": "" + }, + "require": { + "cycle/database": "^2.8.1", + "doctrine/instantiator": "^1.3.1 || ^2.0", + "ext-pdo": "*", + "php": ">=8.0", + "spiral/core": "^2.8 || ^3.0" + }, + "require-dev": { + "doctrine/collections": "^1.6 || ^2.0", + "illuminate/collections": "9 - 11", + "loophp/collection": "^6.0 || ^7.0", + "mockery/mockery": "^1.1", + "phpunit/phpunit": "^9.5", + "ramsey/uuid": "^4.0", + "spiral/code-style": "~2.2.0", + "spiral/tokenizer": "^2.8 || ^3.0", + "symfony/var-dumper": "^5.2 || ^6.0 || ^7.0", + "vimeo/psalm": "5.21 || ^6.8" + }, + "type": "library", + "autoload": { + "psr-4": { + "Cycle\\ORM\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Anton Titov (wolfy-j)", + "email": "wolfy-j@spiralscout.com" + }, + { + "name": "Aleksei Gagarin (roxblnfk)", + "email": "alexey.gagarin@spiralscout.com" + }, + { + "name": "Pavel Butchnev (butschster)", + "email": "pavel.buchnev@spiralscout.com" + }, + { + "name": "Maksim Smakouz (msmakouz)", + "email": "maksim.smakouz@spiralscout.com" + } + ], + "description": "PHP DataMapper ORM and Data Modelling Engine", + "homepage": "https://cycle-orm.dev", + "keywords": [ + "data-mapper", + "mssql", + "mysql", + "orm", + "postgresql", + "query-builder", + "sql", + "sqlite" + ], + "support": { + "chat": "https://discord.gg/spiralphp", + "docs": "https://cycle-orm.dev/docs", + "issues": "https://github.com/cycle/orm/issues", + "source": "https://github.com/cycle/orm" + }, + "funding": [ + { + "url": "https://github.com/sponsors/cycle", + "type": "github" + } + ], + "time": "2025-03-31T19:41:17+00:00" + }, + { + "name": "cycle/schema-builder", + "version": "v2.11.1", + "source": { + "type": "git", + "url": "https://github.com/cycle/schema-builder.git", + "reference": "af4816cfb52ce3591110e3842dda0c1df905c928" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cycle/schema-builder/zipball/af4816cfb52ce3591110e3842dda0c1df905c928", + "reference": "af4816cfb52ce3591110e3842dda0c1df905c928", + "shasum": "" + }, + "require": { + "cycle/database": "^2.7.1", + "cycle/orm": "^2.7", + "php": ">=8.0", + "yiisoft/friendly-exception": "^1.1" + }, + "require-dev": { + "phpunit/phpunit": "^9.5", + "spiral/code-style": "^2.2", + "spiral/tokenizer": "^2.8", + "symfony/console": "^6.0 || ^7.0", + "vimeo/psalm": "^5.12" + }, + "type": "library", + "autoload": { + "psr-4": { + "Cycle\\Schema\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Anton Titov (wolfy-j)", + "email": "wolfy-j@spiralscout.com" + }, + { + "name": "Aleksei Gagarin (roxblnfk)", + "email": "alexey.gagarin@spiralscout.com" + }, + { + "name": "Pavel Butchnev (butschster)", + "email": "pavel.buchnev@spiralscout.com" + }, + { + "name": "Maksim Smakouz (msmakouz)", + "email": "maksim.smakouz@spiralscout.com" + } + ], + "description": "Cycle ORM Schema Builder", + "support": { + "issues": "https://github.com/cycle/schema-builder/issues", + "source": "https://github.com/cycle/schema-builder/tree/v2.11.1" + }, + "funding": [ + { + "url": "https://github.com/sponsors/cycle", + "type": "github" + } + ], + "time": "2024-12-13T15:51:51+00:00" + }, { "name": "dflydev/dot-access-data", "version": "v3.0.3", @@ -465,6 +786,167 @@ }, "time": "2024-07-08T12:26:09+00:00" }, + { + "name": "doctrine/inflector", + "version": "2.0.10", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "5817d0659c5b50c9b950feb9af7b9668e2c436bc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/5817d0659c5b50c9b950feb9af7b9668e2c436bc", + "reference": "5817d0659c5b50c9b950feb9af7b9668e2c436bc", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^11.0", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-phpunit": "^1.1", + "phpstan/phpstan-strict-rules": "^1.3", + "phpunit/phpunit": "^8.5 || ^9.5", + "vimeo/psalm": "^4.25 || ^5.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.", + "homepage": "https://www.doctrine-project.org/projects/inflector.html", + "keywords": [ + "inflection", + "inflector", + "lowercase", + "manipulation", + "php", + "plural", + "singular", + "strings", + "uppercase", + "words" + ], + "support": { + "issues": "https://github.com/doctrine/inflector/issues", + "source": "https://github.com/doctrine/inflector/tree/2.0.10" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector", + "type": "tidelift" + } + ], + "time": "2024-02-18T20:23:39+00:00" + }, + { + "name": "doctrine/instantiator", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", + "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "doctrine/coding-standard": "^11", + "ext-pdo": "*", + "ext-phar": "*", + "phpbench/phpbench": "^1.2", + "phpstan/phpstan": "^1.9.4", + "phpstan/phpstan-phpunit": "^1.3", + "phpunit/phpunit": "^9.5.27", + "vimeo/psalm": "^5.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "https://ocramius.github.io/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://www.doctrine-project.org/projects/instantiator.html", + "keywords": [ + "constructor", + "instantiate" + ], + "support": { + "issues": "https://github.com/doctrine/instantiator/issues", + "source": "https://github.com/doctrine/instantiator/tree/2.0.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", + "type": "tidelift" + } + ], + "time": "2022-12-30T00:23:10+00:00" + }, { "name": "dotenv-org/phpdotenv-vault", "version": "v0.2.4", @@ -1650,6 +2132,55 @@ ], "time": "2024-07-20T21:41:07+00:00" }, + { + "name": "psr/cache", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/cache.git", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Cache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for caching libraries", + "keywords": [ + "cache", + "psr", + "psr-6" + ], + "support": { + "source": "https://github.com/php-fig/cache/tree/3.0.0" + }, + "time": "2021-02-03T23:26:27+00:00" + }, { "name": "psr/clock", "version": "1.0.0", @@ -1751,6 +2282,56 @@ }, "time": "2021-11-05T16:47:00+00:00" }, + { + "name": "psr/event-dispatcher", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\EventDispatcher\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Standard interfaces for event handling.", + "keywords": [ + "events", + "psr", + "psr-14" + ], + "support": { + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + }, + "time": "2019-01-08T18:20:26+00:00" + }, { "name": "psr/http-factory", "version": "1.1.0", @@ -3229,6 +3810,602 @@ }, "time": "2024-09-26T05:42:02+00:00" }, + { + "name": "spiral/attributes", + "version": "v3.1.8", + "source": { + "type": "git", + "url": "https://github.com/spiral/attributes.git", + "reference": "a7e368a42b079f56c16d7fc513b68190b96842c3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spiral/attributes/zipball/a7e368a42b079f56c16d7fc513b68190b96842c3", + "reference": "a7e368a42b079f56c16d7fc513b68190b96842c3", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/cache": "1 - 3", + "psr/simple-cache": "1 - 3" + }, + "require-dev": { + "doctrine/annotations": "^1.14 || ^2.0", + "jetbrains/phpstorm-attributes": "^1.0", + "phpunit/phpunit": "^9.5.20", + "spiral/code-style": "^2.2", + "vimeo/psalm": "^5.17" + }, + "type": "library", + "autoload": { + "files": [ + "src/polyfill.php" + ], + "psr-4": { + "Spiral\\Attributes\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Anton Titov (wolfy-j)", + "email": "wolfy-j@spiralscout.com" + }, + { + "name": "Pavel Butchnev (butschster)", + "email": "pavel.buchnev@spiralscout.com" + }, + { + "name": "Aleksei Gagarin (roxblnfk)", + "email": "alexey.gagarin@spiralscout.com" + }, + { + "name": "Maksim Smakouz (msmakouz)", + "email": "maksim.smakouz@spiralscout.com" + }, + { + "name": "Kirill Nesmeyanov (SerafimArts)", + "email": "kirill.nesmeyanov@spiralscout.com" + } + ], + "description": "PHP attributes reader", + "homepage": "https://spiral.dev", + "keywords": [ + "annotations", + "attributes", + "metadata" + ], + "support": { + "chat": "https://discord.gg/V6EK4he", + "docs": "https://spiral.dev/docs", + "issues": "https://github.com/spiral/attributes/issues", + "source": "https://github.com/spiral/attributes" + }, + "funding": [ + { + "url": "https://github.com/sponsors/spiral", + "type": "github" + } + ], + "time": "2024-12-09T15:33:18+00:00" + }, + { + "name": "spiral/core", + "version": "3.15.8", + "source": { + "type": "git", + "url": "https://github.com/spiral/core.git", + "reference": "e6b06d6c1e88139fd66463ce842ccdc5c204fc16" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spiral/core/zipball/e6b06d6c1e88139fd66463ce842ccdc5c204fc16", + "reference": "e6b06d6c1e88139fd66463ce842ccdc5c204fc16", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/container": "^1.1|^2.0", + "spiral/security": "^3.15.8" + }, + "provide": { + "psr/container-implementation": "^1.1|^2.0" + }, + "require-dev": { + "mockery/mockery": "^1.6.12", + "phpunit/phpunit": "^10.5.41", + "vimeo/psalm": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.15.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spiral\\Core\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Anton Titov (wolfy-j)", + "email": "wolfy-j@spiralscout.com" + }, + { + "name": "Pavel Butchnev (butschster)", + "email": "pavel.buchnev@spiralscout.com" + }, + { + "name": "Aleksei Gagarin (roxblnfk)", + "email": "alexey.gagarin@spiralscout.com" + }, + { + "name": "Maksim Smakouz (msmakouz)", + "email": "maksim.smakouz@spiralscout.com" + } + ], + "description": "IoC container, IoC scopes, factory, memory, configuration interfaces", + "homepage": "https://spiral.dev", + "support": { + "issues": "https://github.com/spiral/framework/issues", + "source": "https://github.com/spiral/core" + }, + "funding": [ + { + "url": "https://github.com/sponsors/spiral", + "type": "github" + } + ], + "time": "2025-04-22T14:03:55+00:00" + }, + { + "name": "spiral/hmvc", + "version": "3.15.8", + "source": { + "type": "git", + "url": "https://github.com/spiral/hmvc.git", + "reference": "533b441af0fa4bcf8fda2c763207b4bf52e34e40" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spiral/hmvc/zipball/533b441af0fa4bcf8fda2c763207b4bf52e34e40", + "reference": "533b441af0fa4bcf8fda2c763207b4bf52e34e40", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/event-dispatcher": "^1.0", + "spiral/core": "^3.15.8", + "spiral/interceptors": "^3.15.8" + }, + "require-dev": { + "phpunit/phpunit": "^10.5.41", + "spiral/testing": "^2.8.3", + "vimeo/psalm": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.15.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spiral\\Core\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Anton Titov (wolfy-j)", + "email": "wolfy-j@spiralscout.com" + }, + { + "name": "Pavel Butchnev (butschster)", + "email": "pavel.buchnev@spiralscout.com" + }, + { + "name": "Aleksei Gagarin (roxblnfk)", + "email": "alexey.gagarin@spiralscout.com" + }, + { + "name": "Maksim Smakouz (msmakouz)", + "email": "maksim.smakouz@spiralscout.com" + } + ], + "description": "HMVC Core and Controllers", + "homepage": "https://spiral.dev", + "support": { + "chat": "https://discord.gg/V6EK4he", + "docs": "https://spiral.dev/docs", + "issues": "https://github.com/spiral/framework/issues", + "source": "https://github.com/spiral/hmvc" + }, + "funding": [ + { + "url": "https://github.com/sponsors/spiral", + "type": "github" + } + ], + "time": "2025-04-22T14:03:19+00:00" + }, + { + "name": "spiral/interceptors", + "version": "3.15.8", + "source": { + "type": "git", + "url": "https://github.com/spiral/interceptors.git", + "reference": "511da02bb400c64dde27bb87b63df6d7007bceef" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spiral/interceptors/zipball/511da02bb400c64dde27bb87b63df6d7007bceef", + "reference": "511da02bb400c64dde27bb87b63df6d7007bceef", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/event-dispatcher": "^1.0", + "spiral/core": "^3.15.8" + }, + "require-dev": { + "phpunit/phpunit": "^10.5.41", + "spiral/testing": "^2.8.3", + "vimeo/psalm": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.15.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spiral\\Interceptors\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Anton Titov (wolfy-j)", + "email": "wolfy-j@spiralscout.com" + }, + { + "name": "Pavel Butchnev (butschster)", + "email": "pavel.buchnev@spiralscout.com" + }, + { + "name": "Aleksei Gagarin (roxblnfk)", + "email": "alexey.gagarin@spiralscout.com" + }, + { + "name": "Maksim Smakouz (msmakouz)", + "email": "maksim.smakouz@spiralscout.com" + } + ], + "description": "Spiral Interceptors", + "homepage": "https://spiral.dev", + "keywords": [ + "aop", + "interceptors", + "spiral" + ], + "support": { + "chat": "https://discord.gg/V6EK4he", + "docs": "https://spiral.dev/docs", + "issues": "https://github.com/spiral/framework/issues", + "source": "https://github.com/spiral/interceptors" + }, + "funding": [ + { + "url": "https://github.com/sponsors/spiral", + "type": "github" + } + ], + "time": "2025-04-22T14:03:19+00:00" + }, + { + "name": "spiral/logger", + "version": "3.15.8", + "source": { + "type": "git", + "url": "https://github.com/spiral/logger.git", + "reference": "35553e8badee07dbb8290a7b73aa416c78e4c390" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spiral/logger/zipball/35553e8badee07dbb8290a7b73aa416c78e4c390", + "reference": "35553e8badee07dbb8290a7b73aa416c78e4c390", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/log": "1 - 3", + "spiral/core": "^3.15.8" + }, + "require-dev": { + "mockery/mockery": "^1.6.12", + "phpunit/phpunit": "^10.5.41", + "vimeo/psalm": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.15.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spiral\\Logger\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Anton Titov (wolfy-j)", + "email": "wolfy-j@spiralscout.com" + }, + { + "name": "Pavel Butchnev (butschster)", + "email": "pavel.buchnev@spiralscout.com" + }, + { + "name": "Aleksei Gagarin (roxblnfk)", + "email": "alexey.gagarin@spiralscout.com" + }, + { + "name": "Maksim Smakouz (msmakouz)", + "email": "maksim.smakouz@spiralscout.com" + } + ], + "description": "LogFactory and global log listeners", + "homepage": "https://spiral.dev", + "support": { + "issues": "https://github.com/spiral/framework/issues", + "source": "https://github.com/spiral/logger" + }, + "funding": [ + { + "url": "https://github.com/sponsors/spiral", + "type": "github" + } + ], + "time": "2025-04-22T14:03:39+00:00" + }, + { + "name": "spiral/pagination", + "version": "3.15.8", + "source": { + "type": "git", + "url": "https://github.com/spiral/pagination.git", + "reference": "6df28c30f34e601ad5df2cf7430455940e624bb2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spiral/pagination/zipball/6df28c30f34e601ad5df2cf7430455940e624bb2", + "reference": "6df28c30f34e601ad5df2cf7430455940e624bb2", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "mockery/mockery": "^1.6.12", + "phpunit/phpunit": "^10.5.41", + "vimeo/psalm": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.15.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spiral\\Pagination\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Anton Titov (wolfy-j)", + "email": "wolfy-j@spiralscout.com" + }, + { + "name": "Pavel Butchnev (butschster)", + "email": "pavel.buchnev@spiralscout.com" + }, + { + "name": "Aleksei Gagarin (roxblnfk)", + "email": "alexey.gagarin@spiralscout.com" + }, + { + "name": "Maksim Smakouz (msmakouz)", + "email": "maksim.smakouz@spiralscout.com" + } + ], + "description": "Common pagination interfaces", + "homepage": "https://spiral.dev", + "support": { + "issues": "https://github.com/spiral/framework/issues", + "source": "https://github.com/spiral/pagination" + }, + "funding": [ + { + "url": "https://github.com/sponsors/spiral", + "type": "github" + } + ], + "time": "2025-03-31T15:31:09+00:00" + }, + { + "name": "spiral/security", + "version": "3.15.8", + "source": { + "type": "git", + "url": "https://github.com/spiral/security.git", + "reference": "a7a7a83cb474f70c02ffd00899f9f87b1d5c1d0e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spiral/security/zipball/a7a7a83cb474f70c02ffd00899f9f87b1d5c1d0e", + "reference": "a7a7a83cb474f70c02ffd00899f9f87b1d5c1d0e", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "spiral/core": "^3.15.8", + "spiral/hmvc": "^3.15.8" + }, + "require-dev": { + "mockery/mockery": "^1.6.12", + "phpunit/phpunit": "^10.5.41", + "spiral/console": "^3.15.8", + "vimeo/psalm": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.15.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spiral\\Security\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Anton Titov (wolfy-j)", + "email": "wolfy-j@spiralscout.com" + }, + { + "name": "Pavel Butchnev (butschster)", + "email": "pavel.buchnev@spiralscout.com" + }, + { + "name": "Aleksei Gagarin (roxblnfk)", + "email": "alexey.gagarin@spiralscout.com" + }, + { + "name": "Maksim Smakouz (msmakouz)", + "email": "maksim.smakouz@spiralscout.com" + } + ], + "description": "Spiral, RBAC security layer", + "homepage": "https://spiral.dev", + "support": { + "issues": "https://github.com/spiral/framework/issues", + "source": "https://github.com/spiral/security" + }, + "funding": [ + { + "url": "https://github.com/sponsors/spiral", + "type": "github" + } + ], + "time": "2025-04-22T14:03:55+00:00" + }, + { + "name": "spiral/tokenizer", + "version": "3.15.8", + "source": { + "type": "git", + "url": "https://github.com/spiral/tokenizer.git", + "reference": "0e1141ec8e92a55199a2e705f122b91c5964c42f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spiral/tokenizer/zipball/0e1141ec8e92a55199a2e705f122b91c5964c42f", + "reference": "0e1141ec8e92a55199a2e705f122b91c5964c42f", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=8.1", + "spiral/core": "^3.15.8", + "spiral/logger": "^3.15.8", + "symfony/finder": "^5.4.45 || ^6.4.17 || ^7.2" + }, + "require-dev": { + "mockery/mockery": "^1.6.12", + "phpunit/phpunit": "^10.5.41", + "spiral/attributes": "^2.8|^3.0", + "spiral/boot": "^3.15.8", + "spiral/files": "^3.15.8", + "vimeo/psalm": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.15.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spiral\\Tokenizer\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Anton Titov (wolfy-j)", + "email": "wolfy-j@spiralscout.com" + }, + { + "name": "Pavel Butchnev (butschster)", + "email": "pavel.buchnev@spiralscout.com" + }, + { + "name": "Aleksei Gagarin (roxblnfk)", + "email": "alexey.gagarin@spiralscout.com" + }, + { + "name": "Maksim Smakouz (msmakouz)", + "email": "maksim.smakouz@spiralscout.com" + } + ], + "description": "Static Analysis: Class and Invocation locators", + "homepage": "https://spiral.dev", + "support": { + "issues": "https://github.com/spiral/framework/issues", + "source": "https://github.com/spiral/tokenizer" + }, + "funding": [ + { + "url": "https://github.com/sponsors/spiral", + "type": "github" + } + ], + "time": "2025-04-22T14:05:18+00:00" + }, { "name": "symfony/config", "version": "v7.2.3", @@ -3530,6 +4707,70 @@ ], "time": "2024-10-25T15:15:23+00:00" }, + { + "name": "symfony/finder", + "version": "v7.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "ec2344cf77a48253bbca6939aa3d2477773ea63d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/ec2344cf77a48253bbca6939aa3d2477773ea63d", + "reference": "ec2344cf77a48253bbca6939aa3d2477773ea63d", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "symfony/filesystem": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Finds files and directories via an intuitive fluent interface", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/finder/tree/v7.3.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-12-30T19:00:26+00:00" + }, { "name": "symfony/polyfill-ctype", "version": "v1.31.0", @@ -4004,6 +5245,82 @@ ], "time": "2024-09-09T11:45:10+00:00" }, + { + "name": "symfony/polyfill-php83", + "version": "v1.32.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php83.git", + "reference": "2fb86d65e2d424369ad2905e83b236a8805ba491" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/2fb86d65e2d424369ad2905e83b236a8805ba491", + "reference": "2fb86d65e2d424369ad2905e83b236a8805ba491", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php83\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php83/tree/v1.32.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, { "name": "symfony/service-contracts", "version": "v3.5.1", @@ -4336,6 +5653,66 @@ } ], "time": "2024-07-20T21:52:34+00:00" + }, + { + "name": "yiisoft/friendly-exception", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/yiisoft/friendly-exception.git", + "reference": "4b4a19edff251791e3c92d4d83435d2716351ff4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/yiisoft/friendly-exception/zipball/4b4a19edff251791e3c92d4d83435d2716351ff4", + "reference": "4b4a19edff251791e3c92d4d83435d2716351ff4", + "shasum": "" + }, + "require": { + "php": "^7.1|^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.4", + "roave/infection-static-analysis-plugin": "^1.5", + "spatie/phpunit-watcher": "^1.23", + "vimeo/psalm": "^4.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Yiisoft\\FriendlyException\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "An interface for friendlier exception", + "homepage": "http://www.yiiframework.com/", + "keywords": [ + "error handling", + "exception", + "exceptions", + "friendly" + ], + "support": { + "forum": "http://www.yiiframework.com/forum/", + "irc": "irc://irc.freenode.net/yii", + "issues": "https://github.com/yiisoft/friendly-exception/issues?state=open", + "source": "https://github.com/yiisoft/friendly-exception", + "wiki": "http://www.yiiframework.com/wiki/" + }, + "funding": [ + { + "url": "https://github.com/yiisoft", + "type": "github" + }, + { + "url": "https://opencollective.com/yiisoft", + "type": "open_collective" + } + ], + "time": "2021-10-26T21:43:25+00:00" } ], "packages-dev": [ @@ -4387,76 +5764,6 @@ }, "time": "2025-04-07T20:06:18+00:00" }, - { - "name": "doctrine/instantiator", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", - "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", - "shasum": "" - }, - "require": { - "php": "^8.1" - }, - "require-dev": { - "doctrine/coding-standard": "^11", - "ext-pdo": "*", - "ext-phar": "*", - "phpbench/phpbench": "^1.2", - "phpstan/phpstan": "^1.9.4", - "phpstan/phpstan-phpunit": "^1.3", - "phpunit/phpunit": "^9.5.27", - "vimeo/psalm": "^5.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "https://ocramius.github.io/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://www.doctrine-project.org/projects/instantiator.html", - "keywords": [ - "constructor", - "instantiate" - ], - "support": { - "issues": "https://github.com/doctrine/instantiator/issues", - "source": "https://github.com/doctrine/instantiator/tree/2.0.0" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", - "type": "tidelift" - } - ], - "time": "2022-12-30T00:23:10+00:00" - }, { "name": "myclabs/deep-copy", "version": "1.13.0",