diff --git a/.gitignore b/.gitignore
index 9314d54..9bebca6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,5 +3,5 @@
/laminas-mkdoc-theme/
/phpunit.xml
/vendor/
-.phpunit.result.cache
+.phpunit.cache
.phpcs-cache
diff --git a/composer.json b/composer.json
index 642625d..e9c669d 100644
--- a/composer.json
+++ b/composer.json
@@ -18,24 +18,29 @@
"config": {
"sort-packages": true,
"platform": {
- "php": "7.4"
+ "php": "8.1.99"
},
"allow-plugins": {
"dealerdirect/phpcodesniffer-composer-installer": true
}
},
"require": {
- "php": "^7.4 || ~8.0.0 || ~8.1.0",
- "laminas/laminas-http": "^2.15",
- "laminas/laminas-servicemanager": "^3.16.0",
- "psr/container": "^1 || ^2"
+ "php": "~8.1.0 || ~8.2.0",
+ "laminas/laminas-http": "^2.18",
+ "laminas/laminas-mvc": "^3.6.1",
+ "laminas/laminas-router": "^3.11.1",
+ "laminas/laminas-servicemanager": "^3.21",
+ "laminas/laminas-stdlib": "^3.17",
+ "laminas/laminas-view": "^2.28",
+ "psr/container": "^1.1.2 || ^2",
+ "webmozart/assert": "^1.11.0"
},
"require-dev": {
- "laminas/laminas-coding-standard": "~2.3.0",
- "maglnet/composer-require-checker": "^3.8",
- "phpunit/phpunit": "^9.5.21",
- "psalm/plugin-phpunit": "^0.17.0",
- "vimeo/psalm": "^4.25.0"
+ "laminas/laminas-coding-standard": "~2.4.0",
+ "maglnet/composer-require-checker": "^4.6",
+ "phpunit/phpunit": "^10.2.6",
+ "psalm/plugin-phpunit": "^0.18.4",
+ "vimeo/psalm": "^5.13.1"
},
"autoload": {
"psr-4": {
@@ -50,6 +55,7 @@
"scripts": {
"check": [
"@cs-check",
+ "psalm --stats",
"@test"
],
"cs-check": "phpcs",
diff --git a/composer.lock b/composer.lock
index 4c1c070..d4c9b82 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,36 +4,153 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "1787c715b2f93009e4894d132a3de23f",
+ "content-hash": "f2ff13ed2c3fb29b096ab72cb432518b",
"packages": [
+ {
+ "name": "brick/varexporter",
+ "version": "0.3.8",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/brick/varexporter.git",
+ "reference": "b5853edea6204ff8fa10633c3a4cccc4058410ed"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/brick/varexporter/zipball/b5853edea6204ff8fa10633c3a4cccc4058410ed",
+ "reference": "b5853edea6204ff8fa10633c3a4cccc4058410ed",
+ "shasum": ""
+ },
+ "require": {
+ "nikic/php-parser": "^4.0",
+ "php": "^7.2 || ^8.0"
+ },
+ "require-dev": {
+ "php-coveralls/php-coveralls": "^2.2",
+ "phpunit/phpunit": "^8.5 || ^9.0",
+ "vimeo/psalm": "4.23.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Brick\\VarExporter\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "A powerful alternative to var_export(), which can export closures and objects without __set_state()",
+ "keywords": [
+ "var_export"
+ ],
+ "support": {
+ "issues": "https://github.com/brick/varexporter/issues",
+ "source": "https://github.com/brick/varexporter/tree/0.3.8"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/BenMorel",
+ "type": "github"
+ }
+ ],
+ "time": "2023-01-21T23:05:38+00:00"
+ },
+ {
+ "name": "laminas/laminas-config",
+ "version": "3.8.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-config.git",
+ "reference": "46baad58d0b12cf98539e04334eff40a1fdfb9a0"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-config/zipball/46baad58d0b12cf98539e04334eff40a1fdfb9a0",
+ "reference": "46baad58d0b12cf98539e04334eff40a1fdfb9a0",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "laminas/laminas-stdlib": "^3.6",
+ "php": "~8.0.0 || ~8.1.0 || ~8.2.0",
+ "psr/container": "^1.0"
+ },
+ "conflict": {
+ "container-interop/container-interop": "<1.2.0",
+ "zendframework/zend-config": "*"
+ },
+ "require-dev": {
+ "laminas/laminas-coding-standard": "~2.4.0",
+ "laminas/laminas-filter": "~2.23.0",
+ "laminas/laminas-i18n": "~2.19.0",
+ "laminas/laminas-servicemanager": "~3.19.0",
+ "phpunit/phpunit": "~9.5.25"
+ },
+ "suggest": {
+ "laminas/laminas-filter": "^2.7.2; install if you want to use the Filter processor",
+ "laminas/laminas-i18n": "^2.7.4; install if you want to use the Translator processor",
+ "laminas/laminas-servicemanager": "^2.7.8 || ^3.3; if you need an extensible plugin manager for use with the Config Factory"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Laminas\\Config\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "provides a nested object property based user interface for accessing this configuration data within application code",
+ "homepage": "https://laminas.dev",
+ "keywords": [
+ "config",
+ "laminas"
+ ],
+ "support": {
+ "chat": "https://laminas.dev/chat",
+ "docs": "https://docs.laminas.dev/laminas-config/",
+ "forum": "https://discourse.laminas.dev",
+ "issues": "https://github.com/laminas/laminas-config/issues",
+ "rss": "https://github.com/laminas/laminas-config/releases.atom",
+ "source": "https://github.com/laminas/laminas-config"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2022-10-16T14:21:22+00:00"
+ },
{
"name": "laminas/laminas-escaper",
- "version": "2.10.0",
+ "version": "2.12.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-escaper.git",
- "reference": "58af67282db37d24e584a837a94ee55b9c7552be"
+ "reference": "ee7a4c37bf3d0e8c03635d5bddb5bb3184ead490"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/58af67282db37d24e584a837a94ee55b9c7552be",
- "reference": "58af67282db37d24e584a837a94ee55b9c7552be",
+ "url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/ee7a4c37bf3d0e8c03635d5bddb5bb3184ead490",
+ "reference": "ee7a4c37bf3d0e8c03635d5bddb5bb3184ead490",
"shasum": ""
},
"require": {
"ext-ctype": "*",
"ext-mbstring": "*",
- "php": "^7.4 || ~8.0.0 || ~8.1.0"
+ "php": "^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0"
},
"conflict": {
"zendframework/zend-escaper": "*"
},
"require-dev": {
"infection/infection": "^0.26.6",
- "laminas/laminas-coding-standard": "~2.3.0",
+ "laminas/laminas-coding-standard": "~2.4.0",
"maglnet/composer-require-checker": "^3.8.0",
"phpunit/phpunit": "^9.5.18",
- "psalm/plugin-phpunit": "^0.16.1",
+ "psalm/plugin-phpunit": "^0.17.0",
"vimeo/psalm": "^4.22.0"
},
"type": "library",
@@ -66,20 +183,88 @@
"type": "community_bridge"
}
],
- "time": "2022-03-08T20:15:36+00:00"
+ "time": "2022-10-10T10:11:09+00:00"
+ },
+ {
+ "name": "laminas/laminas-eventmanager",
+ "version": "3.10.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-eventmanager.git",
+ "reference": "5a5114ab2d3fa4424faa46a2fb0a4e49a61f6eba"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-eventmanager/zipball/5a5114ab2d3fa4424faa46a2fb0a4e49a61f6eba",
+ "reference": "5a5114ab2d3fa4424faa46a2fb0a4e49a61f6eba",
+ "shasum": ""
+ },
+ "require": {
+ "php": "~8.0.0 || ~8.1.0 || ~8.2.0"
+ },
+ "conflict": {
+ "container-interop/container-interop": "<1.2",
+ "zendframework/zend-eventmanager": "*"
+ },
+ "require-dev": {
+ "laminas/laminas-coding-standard": "~2.5.0",
+ "laminas/laminas-stdlib": "^3.15",
+ "phpbench/phpbench": "^1.2.7",
+ "phpunit/phpunit": "^9.5.26",
+ "psalm/plugin-phpunit": "^0.18.0",
+ "psr/container": "^1.1.2 || ^2.0.2",
+ "vimeo/psalm": "^5.0.0"
+ },
+ "suggest": {
+ "laminas/laminas-stdlib": "^2.7.3 || ^3.0, to use the FilterChain feature",
+ "psr/container": "^1.1.2 || ^2.0.2, to use the lazy listeners feature"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Laminas\\EventManager\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Trigger and listen to events within a PHP application",
+ "homepage": "https://laminas.dev",
+ "keywords": [
+ "event",
+ "eventmanager",
+ "events",
+ "laminas"
+ ],
+ "support": {
+ "chat": "https://laminas.dev/chat",
+ "docs": "https://docs.laminas.dev/laminas-eventmanager/",
+ "forum": "https://discourse.laminas.dev",
+ "issues": "https://github.com/laminas/laminas-eventmanager/issues",
+ "rss": "https://github.com/laminas/laminas-eventmanager/releases.atom",
+ "source": "https://github.com/laminas/laminas-eventmanager"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2023-01-11T19:52:45+00:00"
},
{
"name": "laminas/laminas-http",
- "version": "2.15.1",
+ "version": "2.18.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-http.git",
- "reference": "261f079c3dffcf6f123484db43c40e44c4bf1c79"
+ "reference": "76de9008f889bc7088f85a41d0d2b06c2b59c53d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laminas/laminas-http/zipball/261f079c3dffcf6f123484db43c40e44c4bf1c79",
- "reference": "261f079c3dffcf6f123484db43c40e44c4bf1c79",
+ "url": "https://api.github.com/repos/laminas/laminas-http/zipball/76de9008f889bc7088f85a41d0d2b06c2b59c53d",
+ "reference": "76de9008f889bc7088f85a41d0d2b06c2b59c53d",
"shasum": ""
},
"require": {
@@ -87,15 +272,15 @@
"laminas/laminas-stdlib": "^3.6",
"laminas/laminas-uri": "^2.9.1",
"laminas/laminas-validator": "^2.15",
- "php": "^7.3 || ~8.0.0 || ~8.1.0"
+ "php": "~8.0.0 || ~8.1.0 || ~8.2.0"
},
"conflict": {
"zendframework/zend-http": "*"
},
"require-dev": {
"ext-curl": "*",
- "laminas/laminas-coding-standard": "~2.2.1",
- "phpunit/phpunit": "^9.5.5"
+ "laminas/laminas-coding-standard": "~2.4.0",
+ "phpunit/phpunit": "^9.5.25"
},
"suggest": {
"paragonie/certainty": "For automated management of cacert.pem"
@@ -131,55 +316,60 @@
"type": "community_bridge"
}
],
- "time": "2021-12-03T10:17:11+00:00"
+ "time": "2022-11-23T15:45:41+00:00"
},
{
- "name": "laminas/laminas-loader",
- "version": "2.8.0",
+ "name": "laminas/laminas-json",
+ "version": "3.5.0",
"source": {
"type": "git",
- "url": "https://github.com/laminas/laminas-loader.git",
- "reference": "d0589ec9dd48365fd95ad10d1c906efd7711c16b"
+ "url": "https://github.com/laminas/laminas-json.git",
+ "reference": "7a8a1d7bf2d05dd6c1fbd7c0868d3848cf2b57ec"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laminas/laminas-loader/zipball/d0589ec9dd48365fd95ad10d1c906efd7711c16b",
- "reference": "d0589ec9dd48365fd95ad10d1c906efd7711c16b",
+ "url": "https://api.github.com/repos/laminas/laminas-json/zipball/7a8a1d7bf2d05dd6c1fbd7c0868d3848cf2b57ec",
+ "reference": "7a8a1d7bf2d05dd6c1fbd7c0868d3848cf2b57ec",
"shasum": ""
},
"require": {
- "php": "^7.3 || ~8.0.0 || ~8.1.0"
+ "php": "~8.0.0 || ~8.1.0 || ~8.2.0"
},
"conflict": {
- "zendframework/zend-loader": "*"
+ "zendframework/zend-json": "*"
},
"require-dev": {
- "laminas/laminas-coding-standard": "~2.2.1",
- "phpunit/phpunit": "^9.3"
+ "laminas/laminas-coding-standard": "~2.4.0",
+ "laminas/laminas-stdlib": "^2.7.7 || ^3.1",
+ "phpunit/phpunit": "^9.5.25"
+ },
+ "suggest": {
+ "laminas/laminas-json-server": "For implementing JSON-RPC servers",
+ "laminas/laminas-xml2json": "For converting XML documents to JSON"
},
"type": "library",
"autoload": {
"psr-4": {
- "Laminas\\Loader\\": "src/"
+ "Laminas\\Json\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
- "description": "Autoloading and plugin loading strategies",
+ "description": "provides convenience methods for serializing native PHP to JSON and decoding JSON to native PHP",
"homepage": "https://laminas.dev",
"keywords": [
- "laminas",
- "loader"
+ "json",
+ "laminas"
],
"support": {
"chat": "https://laminas.dev/chat",
- "docs": "https://docs.laminas.dev/laminas-loader/",
+ "docs": "https://docs.laminas.dev/laminas-json/",
"forum": "https://discourse.laminas.dev",
- "issues": "https://github.com/laminas/laminas-loader/issues",
- "rss": "https://github.com/laminas/laminas-loader/releases.atom",
- "source": "https://github.com/laminas/laminas-loader"
+ "issues": "https://github.com/laminas/laminas-json/issues",
+ "rss": "https://github.com/laminas/laminas-json/releases.atom",
+ "source": "https://github.com/laminas/laminas-json"
},
"funding": [
{
@@ -187,90 +377,55 @@
"type": "community_bridge"
}
],
- "time": "2021-09-02T18:30:53+00:00"
+ "time": "2022-10-17T04:06:45+00:00"
},
{
- "name": "laminas/laminas-servicemanager",
- "version": "3.16.0",
+ "name": "laminas/laminas-loader",
+ "version": "2.9.0",
"source": {
"type": "git",
- "url": "https://github.com/laminas/laminas-servicemanager.git",
- "reference": "863c66733740cd36ebf5e700f4258ef2c68a2a24"
+ "url": "https://github.com/laminas/laminas-loader.git",
+ "reference": "51ed9c3fa42d1098a9997571730c0cbf42d078d3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laminas/laminas-servicemanager/zipball/863c66733740cd36ebf5e700f4258ef2c68a2a24",
- "reference": "863c66733740cd36ebf5e700f4258ef2c68a2a24",
+ "url": "https://api.github.com/repos/laminas/laminas-loader/zipball/51ed9c3fa42d1098a9997571730c0cbf42d078d3",
+ "reference": "51ed9c3fa42d1098a9997571730c0cbf42d078d3",
"shasum": ""
},
"require": {
- "laminas/laminas-stdlib": "^3.2.1",
- "php": "~7.4.0 || ~8.0.0 || ~8.1.0",
- "psr/container": "^1.0"
+ "php": "~8.0.0 || ~8.1.0 || ~8.2.0"
},
"conflict": {
- "ext-psr": "*",
- "laminas/laminas-code": "<3.3.1",
- "zendframework/zend-code": "<3.3.1",
- "zendframework/zend-servicemanager": "*"
- },
- "provide": {
- "psr/container-implementation": "^1.0"
- },
- "replace": {
- "container-interop/container-interop": "^1.2.0"
+ "zendframework/zend-loader": "*"
},
"require-dev": {
- "composer/package-versions-deprecated": "^1.0",
- "laminas/laminas-coding-standard": "~2.3.0",
- "laminas/laminas-container-config-test": "^0.7",
- "laminas/laminas-dependency-plugin": "^2.1.2",
- "mikey179/vfsstream": "^1.6.10@alpha",
- "ocramius/proxy-manager": "^2.11",
- "phpbench/phpbench": "^1.1",
- "phpspec/prophecy-phpunit": "^2.0",
- "phpunit/phpunit": "^9.5.5",
- "psalm/plugin-phpunit": "^0.17.0",
- "vimeo/psalm": "^4.8"
- },
- "suggest": {
- "ocramius/proxy-manager": "ProxyManager ^2.1.1 to handle lazy initialization of services"
+ "laminas/laminas-coding-standard": "~2.4.0",
+ "phpunit/phpunit": "~9.5.25"
},
- "bin": [
- "bin/generate-deps-for-config-factory",
- "bin/generate-factory-for-class"
- ],
"type": "library",
"autoload": {
- "files": [
- "src/autoload.php"
- ],
"psr-4": {
- "Laminas\\ServiceManager\\": "src/"
+ "Laminas\\Loader\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
- "description": "Factory-Driven Dependency Injection Container",
+ "description": "Autoloading and plugin loading strategies",
"homepage": "https://laminas.dev",
"keywords": [
- "PSR-11",
- "dependency-injection",
- "di",
- "dic",
"laminas",
- "service-manager",
- "servicemanager"
+ "loader"
],
"support": {
"chat": "https://laminas.dev/chat",
- "docs": "https://docs.laminas.dev/laminas-servicemanager/",
+ "docs": "https://docs.laminas.dev/laminas-loader/",
"forum": "https://discourse.laminas.dev",
- "issues": "https://github.com/laminas/laminas-servicemanager/issues",
- "rss": "https://github.com/laminas/laminas-servicemanager/releases.atom",
- "source": "https://github.com/laminas/laminas-servicemanager"
+ "issues": "https://github.com/laminas/laminas-loader/issues",
+ "rss": "https://github.com/laminas/laminas-loader/releases.atom",
+ "source": "https://github.com/laminas/laminas-loader"
},
"funding": [
{
@@ -278,58 +433,71 @@
"type": "community_bridge"
}
],
- "time": "2022-07-27T14:58:17+00:00"
+ "time": "2022-10-16T12:50:49+00:00"
},
{
- "name": "laminas/laminas-stdlib",
- "version": "3.11.0",
+ "name": "laminas/laminas-modulemanager",
+ "version": "2.14.0",
"source": {
"type": "git",
- "url": "https://github.com/laminas/laminas-stdlib.git",
- "reference": "aad7d2b11ba0069ba0d9b40f6dde3c2fa664b57f"
+ "url": "https://github.com/laminas/laminas-modulemanager.git",
+ "reference": "fb0a2c34423f7d3321dd7c42dc5fc4db905a99ac"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/aad7d2b11ba0069ba0d9b40f6dde3c2fa664b57f",
- "reference": "aad7d2b11ba0069ba0d9b40f6dde3c2fa664b57f",
+ "url": "https://api.github.com/repos/laminas/laminas-modulemanager/zipball/fb0a2c34423f7d3321dd7c42dc5fc4db905a99ac",
+ "reference": "fb0a2c34423f7d3321dd7c42dc5fc4db905a99ac",
"shasum": ""
},
"require": {
- "php": "^7.3 || ~8.0.0 || ~8.1.0"
+ "brick/varexporter": "^0.3.2",
+ "laminas/laminas-config": "^3.7",
+ "laminas/laminas-eventmanager": "^3.4",
+ "laminas/laminas-stdlib": "^3.6",
+ "php": "~8.0.0 || ~8.1.0 || ~8.2.0",
+ "webimpress/safe-writer": "^1.0.2 || ^2.1"
},
"conflict": {
- "zendframework/zend-stdlib": "*"
+ "zendframework/zend-modulemanager": "*"
},
"require-dev": {
- "laminas/laminas-coding-standard": "~2.3.0",
- "phpbench/phpbench": "^1.0",
- "phpunit/phpunit": "^9.3.7",
+ "laminas/laminas-coding-standard": "^2.3",
+ "laminas/laminas-loader": "^2.9.0",
+ "laminas/laminas-mvc": "^3.5.0",
+ "laminas/laminas-servicemanager": "^3.19.0",
+ "phpunit/phpunit": "^9.5.25",
"psalm/plugin-phpunit": "^0.17.0",
- "vimeo/psalm": "^4.7"
+ "vimeo/psalm": "^4.29"
+ },
+ "suggest": {
+ "laminas/laminas-console": "Laminas\\Console component",
+ "laminas/laminas-loader": "Laminas\\Loader component if you are not using Composer autoloading for your modules",
+ "laminas/laminas-mvc": "Laminas\\Mvc component",
+ "laminas/laminas-servicemanager": "Laminas\\ServiceManager component"
},
"type": "library",
"autoload": {
"psr-4": {
- "Laminas\\Stdlib\\": "src/"
+ "Laminas\\ModuleManager\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
- "description": "SPL extensions, array utilities, error handlers, and more",
+ "description": "Modular application system for laminas-mvc applications",
"homepage": "https://laminas.dev",
"keywords": [
"laminas",
- "stdlib"
+ "modulemanager"
],
"support": {
"chat": "https://laminas.dev/chat",
- "docs": "https://docs.laminas.dev/laminas-stdlib/",
+ "docs": "https://docs.laminas.dev/laminas-modulemanager/",
"forum": "https://discourse.laminas.dev",
- "issues": "https://github.com/laminas/laminas-stdlib/issues",
- "rss": "https://github.com/laminas/laminas-stdlib/releases.atom",
- "source": "https://github.com/laminas/laminas-stdlib"
+ "issues": "https://github.com/laminas/laminas-modulemanager/issues",
+ "rss": "https://github.com/laminas/laminas-modulemanager/releases.atom",
+ "source": "https://github.com/laminas/laminas-modulemanager"
},
"funding": [
{
@@ -337,57 +505,80 @@
"type": "community_bridge"
}
],
- "time": "2022-07-27T12:28:58+00:00"
+ "time": "2022-10-28T09:21:04+00:00"
},
{
- "name": "laminas/laminas-uri",
- "version": "2.9.1",
+ "name": "laminas/laminas-mvc",
+ "version": "3.6.1",
"source": {
"type": "git",
- "url": "https://github.com/laminas/laminas-uri.git",
- "reference": "7e837dc15c8fd3949df7d1213246fd7c8640032b"
+ "url": "https://github.com/laminas/laminas-mvc.git",
+ "reference": "f12e801c31c04a4b35017354ff84070f5573879f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laminas/laminas-uri/zipball/7e837dc15c8fd3949df7d1213246fd7c8640032b",
- "reference": "7e837dc15c8fd3949df7d1213246fd7c8640032b",
+ "url": "https://api.github.com/repos/laminas/laminas-mvc/zipball/f12e801c31c04a4b35017354ff84070f5573879f",
+ "reference": "f12e801c31c04a4b35017354ff84070f5573879f",
"shasum": ""
},
"require": {
- "laminas/laminas-escaper": "^2.9",
- "laminas/laminas-validator": "^2.15",
- "php": "^7.3 || ~8.0.0 || ~8.1.0"
+ "container-interop/container-interop": "^1.2",
+ "laminas/laminas-eventmanager": "^3.4",
+ "laminas/laminas-http": "^2.15",
+ "laminas/laminas-modulemanager": "^2.8",
+ "laminas/laminas-router": "^3.11.1",
+ "laminas/laminas-servicemanager": "^3.20.0",
+ "laminas/laminas-stdlib": "^3.6",
+ "laminas/laminas-view": "^2.14",
+ "php": "~8.0.0 || ~8.1.0 || ~8.2.0"
},
"conflict": {
- "zendframework/zend-uri": "*"
+ "zendframework/zend-mvc": "*"
},
"require-dev": {
- "laminas/laminas-coding-standard": "~2.2.1",
- "phpunit/phpunit": "^9.5.5"
+ "laminas/laminas-coding-standard": "^2.4.0",
+ "laminas/laminas-json": "^3.3",
+ "phpspec/prophecy": "^1.15.0",
+ "phpspec/prophecy-phpunit": "^2.0.1",
+ "phpunit/phpunit": "^9.5.25",
+ "webmozart/assert": "^1.11"
+ },
+ "suggest": {
+ "laminas/laminas-json": "(^2.6.1 || ^3.0) To auto-deserialize JSON body content in AbstractRestfulController extensions, when json_decode is unavailable",
+ "laminas/laminas-log": "^2.9.1 To provide log functionality via LogFilterManager, LogFormatterManager, and LogProcessorManager",
+ "laminas/laminas-mvc-console": "laminas-mvc-console provides the ability to expose laminas-mvc as a console application",
+ "laminas/laminas-mvc-i18n": "laminas-mvc-i18n provides integration with laminas-i18n, including a translation bridge and translatable route segments",
+ "laminas/laminas-mvc-middleware": "To dispatch middleware in your laminas-mvc application",
+ "laminas/laminas-mvc-plugin-fileprg": "To provide Post/Redirect/Get functionality around forms that container file uploads",
+ "laminas/laminas-mvc-plugin-flashmessenger": "To provide flash messaging capabilities between requests",
+ "laminas/laminas-mvc-plugin-identity": "To access the authenticated identity (per laminas-authentication) in controllers",
+ "laminas/laminas-mvc-plugin-prg": "To provide Post/Redirect/Get functionality within controllers",
+ "laminas/laminas-paginator": "^2.7 To provide pagination functionality via PaginatorPluginManager",
+ "laminas/laminas-servicemanager-di": "laminas-servicemanager-di provides utilities for integrating laminas-di and laminas-servicemanager in your laminas-mvc application"
},
"type": "library",
"autoload": {
"psr-4": {
- "Laminas\\Uri\\": "src/"
+ "Laminas\\Mvc\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
- "description": "A component that aids in manipulating and validating » Uniform Resource Identifiers (URIs)",
+ "description": "Laminas's event-driven MVC layer, including MVC Applications, Controllers, and Plugins",
"homepage": "https://laminas.dev",
"keywords": [
"laminas",
- "uri"
+ "mvc"
],
"support": {
"chat": "https://laminas.dev/chat",
- "docs": "https://docs.laminas.dev/laminas-uri/",
+ "docs": "https://docs.laminas.dev/laminas-mvc/",
"forum": "https://discourse.laminas.dev",
- "issues": "https://github.com/laminas/laminas-uri/issues",
- "rss": "https://github.com/laminas/laminas-uri/releases.atom",
- "source": "https://github.com/laminas/laminas-uri"
+ "issues": "https://github.com/laminas/laminas-mvc/issues",
+ "rss": "https://github.com/laminas/laminas-mvc/releases.atom",
+ "source": "https://github.com/laminas/laminas-mvc"
},
"funding": [
{
@@ -395,115 +586,721 @@
"type": "community_bridge"
}
],
- "time": "2021-09-09T18:37:15+00:00"
+ "time": "2023-03-15T10:21:03+00:00"
},
{
- "name": "laminas/laminas-validator",
- "version": "2.23.0",
+ "name": "laminas/laminas-router",
+ "version": "3.11.1",
"source": {
"type": "git",
- "url": "https://github.com/laminas/laminas-validator.git",
- "reference": "6d61b6cc3b222f13807a18d9247cdfb084958b03"
+ "url": "https://github.com/laminas/laminas-router.git",
+ "reference": "3512c28cb4ffd64a62bc9e8b685a50a6547b0a11"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laminas/laminas-validator/zipball/6d61b6cc3b222f13807a18d9247cdfb084958b03",
- "reference": "6d61b6cc3b222f13807a18d9247cdfb084958b03",
+ "url": "https://api.github.com/repos/laminas/laminas-router/zipball/3512c28cb4ffd64a62bc9e8b685a50a6547b0a11",
+ "reference": "3512c28cb4ffd64a62bc9e8b685a50a6547b0a11",
"shasum": ""
},
"require": {
- "laminas/laminas-servicemanager": "^3.12.0",
- "laminas/laminas-stdlib": "^3.10",
- "php": "^7.4 || ~8.0.0 || ~8.1.0"
+ "laminas/laminas-http": "^2.15",
+ "laminas/laminas-servicemanager": "^3.14.0",
+ "laminas/laminas-stdlib": "^3.10.1",
+ "php": "~8.0.0 || ~8.1.0 || ~8.2.0"
},
"conflict": {
- "zendframework/zend-validator": "*"
+ "zendframework/zend-router": "*"
},
"require-dev": {
- "laminas/laminas-coding-standard": "~2.3.0",
- "laminas/laminas-db": "^2.7",
- "laminas/laminas-filter": "^2.14.0",
- "laminas/laminas-http": "^2.14.2",
- "laminas/laminas-i18n": "^2.15.0",
- "laminas/laminas-session": "^2.12.1",
- "laminas/laminas-uri": "^2.9.1",
- "phpspec/prophecy-phpunit": "^2.0",
- "phpunit/phpunit": "^9.5.21",
- "psalm/plugin-phpunit": "^0.17.0",
- "psr/http-client": "^1.0",
- "psr/http-factory": "^1.0",
- "psr/http-message": "^1.0",
- "vimeo/psalm": "^4.24.0"
+ "laminas/laminas-coding-standard": "~2.4.0",
+ "laminas/laminas-i18n": "^2.19.0",
+ "phpunit/phpunit": "^9.5.26",
+ "psalm/plugin-phpunit": "^0.18.0",
+ "vimeo/psalm": "^5.0.0"
},
"suggest": {
- "laminas/laminas-db": "Laminas\\Db component, required by the (No)RecordExists validator",
- "laminas/laminas-filter": "Laminas\\Filter component, required by the Digits validator",
- "laminas/laminas-i18n": "Laminas\\I18n component to allow translation of validation error messages",
- "laminas/laminas-i18n-resources": "Translations of validator messages",
- "laminas/laminas-servicemanager": "Laminas\\ServiceManager component to allow using the ValidatorPluginManager and validator chains",
- "laminas/laminas-session": "Laminas\\Session component, ^2.8; required by the Csrf validator",
- "laminas/laminas-uri": "Laminas\\Uri component, required by the Uri and Sitemap\\Loc validators",
- "psr/http-message": "psr/http-message, required when validating PSR-7 UploadedFileInterface instances via the Upload and UploadFile validators"
+ "laminas/laminas-i18n": "^2.15.0 if defining translatable HTTP path segments"
},
"type": "library",
"extra": {
"laminas": {
- "component": "Laminas\\Validator",
- "config-provider": "Laminas\\Validator\\ConfigProvider"
+ "component": "Laminas\\Router",
+ "config-provider": "Laminas\\Router\\ConfigProvider"
}
},
"autoload": {
"psr-4": {
- "Laminas\\Validator\\": "src/"
+ "Laminas\\Router\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
- "description": "Validation classes for a wide range of domains, and the ability to chain validators to create complex validation criteria",
+ "description": "Flexible routing system for HTTP and console applications",
"homepage": "https://laminas.dev",
"keywords": [
"laminas",
- "validator"
+ "routing"
+ ],
+ "support": {
+ "chat": "https://laminas.dev/chat",
+ "docs": "https://docs.laminas.dev/laminas-router/",
+ "forum": "https://discourse.laminas.dev",
+ "issues": "https://github.com/laminas/laminas-router/issues",
+ "rss": "https://github.com/laminas/laminas-router/releases.atom",
+ "source": "https://github.com/laminas/laminas-router"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2022-12-29T14:47:23+00:00"
+ },
+ {
+ "name": "laminas/laminas-servicemanager",
+ "version": "3.21.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-servicemanager.git",
+ "reference": "625f2aa3bc6dd02688b2da5155b3a69870812bda"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-servicemanager/zipball/625f2aa3bc6dd02688b2da5155b3a69870812bda",
+ "reference": "625f2aa3bc6dd02688b2da5155b3a69870812bda",
+ "shasum": ""
+ },
+ "require": {
+ "laminas/laminas-stdlib": "^3.17",
+ "php": "~8.1.0 || ~8.2.0",
+ "psr/container": "^1.0"
+ },
+ "conflict": {
+ "ext-psr": "*",
+ "laminas/laminas-code": "<4.10.0",
+ "zendframework/zend-code": "<3.3.1",
+ "zendframework/zend-servicemanager": "*"
+ },
+ "provide": {
+ "psr/container-implementation": "^1.0"
+ },
+ "replace": {
+ "container-interop/container-interop": "^1.2.0"
+ },
+ "require-dev": {
+ "composer/package-versions-deprecated": "^1.11.99.5",
+ "friendsofphp/proxy-manager-lts": "^1.0.14",
+ "laminas/laminas-code": "^4.10.0",
+ "laminas/laminas-coding-standard": "~2.5.0",
+ "laminas/laminas-container-config-test": "^0.8",
+ "laminas/laminas-dependency-plugin": "^2.2",
+ "mikey179/vfsstream": "^1.6.11",
+ "phpbench/phpbench": "^1.2.9",
+ "phpunit/phpunit": "^10.0.17",
+ "psalm/plugin-phpunit": "^0.18.4",
+ "vimeo/psalm": "^5.8.0"
+ },
+ "suggest": {
+ "friendsofphp/proxy-manager-lts": "ProxyManager ^2.1.1 to handle lazy initialization of services"
+ },
+ "bin": [
+ "bin/generate-deps-for-config-factory",
+ "bin/generate-factory-for-class"
+ ],
+ "type": "library",
+ "autoload": {
+ "files": [
+ "src/autoload.php"
+ ],
+ "psr-4": {
+ "Laminas\\ServiceManager\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Factory-Driven Dependency Injection Container",
+ "homepage": "https://laminas.dev",
+ "keywords": [
+ "PSR-11",
+ "dependency-injection",
+ "di",
+ "dic",
+ "laminas",
+ "service-manager",
+ "servicemanager"
+ ],
+ "support": {
+ "chat": "https://laminas.dev/chat",
+ "docs": "https://docs.laminas.dev/laminas-servicemanager/",
+ "forum": "https://discourse.laminas.dev",
+ "issues": "https://github.com/laminas/laminas-servicemanager/issues",
+ "rss": "https://github.com/laminas/laminas-servicemanager/releases.atom",
+ "source": "https://github.com/laminas/laminas-servicemanager"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2023-05-14T12:24:54+00:00"
+ },
+ {
+ "name": "laminas/laminas-stdlib",
+ "version": "3.17.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-stdlib.git",
+ "reference": "dd35c868075bad80b6718959740913e178eb4274"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/dd35c868075bad80b6718959740913e178eb4274",
+ "reference": "dd35c868075bad80b6718959740913e178eb4274",
+ "shasum": ""
+ },
+ "require": {
+ "php": "~8.1.0 || ~8.2.0"
+ },
+ "conflict": {
+ "zendframework/zend-stdlib": "*"
+ },
+ "require-dev": {
+ "laminas/laminas-coding-standard": "^2.5",
+ "phpbench/phpbench": "^1.2.9",
+ "phpunit/phpunit": "^10.0.16",
+ "psalm/plugin-phpunit": "^0.18.4",
+ "vimeo/psalm": "^5.8"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Laminas\\Stdlib\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "SPL extensions, array utilities, error handlers, and more",
+ "homepage": "https://laminas.dev",
+ "keywords": [
+ "laminas",
+ "stdlib"
+ ],
+ "support": {
+ "chat": "https://laminas.dev/chat",
+ "docs": "https://docs.laminas.dev/laminas-stdlib/",
+ "forum": "https://discourse.laminas.dev",
+ "issues": "https://github.com/laminas/laminas-stdlib/issues",
+ "rss": "https://github.com/laminas/laminas-stdlib/releases.atom",
+ "source": "https://github.com/laminas/laminas-stdlib"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2023-03-20T13:51:37+00:00"
+ },
+ {
+ "name": "laminas/laminas-uri",
+ "version": "2.10.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-uri.git",
+ "reference": "663b050294945c7345cc3a61f3ca661d5f9e1f80"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-uri/zipball/663b050294945c7345cc3a61f3ca661d5f9e1f80",
+ "reference": "663b050294945c7345cc3a61f3ca661d5f9e1f80",
+ "shasum": ""
+ },
+ "require": {
+ "laminas/laminas-escaper": "^2.9",
+ "laminas/laminas-validator": "^2.15",
+ "php": "~8.0.0 || ~8.1.0 || ~8.2.0"
+ },
+ "conflict": {
+ "zendframework/zend-uri": "*"
+ },
+ "require-dev": {
+ "laminas/laminas-coding-standard": "~2.4.0",
+ "phpunit/phpunit": "^9.5.25"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Laminas\\Uri\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "A component that aids in manipulating and validating » Uniform Resource Identifiers (URIs)",
+ "homepage": "https://laminas.dev",
+ "keywords": [
+ "laminas",
+ "uri"
+ ],
+ "support": {
+ "chat": "https://laminas.dev/chat",
+ "docs": "https://docs.laminas.dev/laminas-uri/",
+ "forum": "https://discourse.laminas.dev",
+ "issues": "https://github.com/laminas/laminas-uri/issues",
+ "rss": "https://github.com/laminas/laminas-uri/releases.atom",
+ "source": "https://github.com/laminas/laminas-uri"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2022-10-16T15:02:45+00:00"
+ },
+ {
+ "name": "laminas/laminas-validator",
+ "version": "2.35.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-validator.git",
+ "reference": "7a4a30f6c526a518ba9af50e037c2f97cb595958"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-validator/zipball/7a4a30f6c526a518ba9af50e037c2f97cb595958",
+ "reference": "7a4a30f6c526a518ba9af50e037c2f97cb595958",
+ "shasum": ""
+ },
+ "require": {
+ "laminas/laminas-servicemanager": "^3.21.0",
+ "laminas/laminas-stdlib": "^3.13",
+ "php": "~8.1.0 || ~8.2.0",
+ "psr/http-message": "^1.0.1 || ^2.0.0"
+ },
+ "conflict": {
+ "zendframework/zend-validator": "*"
+ },
+ "require-dev": {
+ "laminas/laminas-coding-standard": "^2.5",
+ "laminas/laminas-db": "^2.18",
+ "laminas/laminas-filter": "^2.32",
+ "laminas/laminas-i18n": "^2.23",
+ "laminas/laminas-session": "^2.16",
+ "laminas/laminas-uri": "^2.10.0",
+ "phpunit/phpunit": "^10.1.3",
+ "psalm/plugin-phpunit": "^0.18.4",
+ "psr/http-client": "^1.0.2",
+ "psr/http-factory": "^1.0.2",
+ "vimeo/psalm": "^5.12"
+ },
+ "suggest": {
+ "laminas/laminas-db": "Laminas\\Db component, required by the (No)RecordExists validator",
+ "laminas/laminas-filter": "Laminas\\Filter component, required by the Digits validator",
+ "laminas/laminas-i18n": "Laminas\\I18n component to allow translation of validation error messages",
+ "laminas/laminas-i18n-resources": "Translations of validator messages",
+ "laminas/laminas-servicemanager": "Laminas\\ServiceManager component to allow using the ValidatorPluginManager and validator chains",
+ "laminas/laminas-session": "Laminas\\Session component, ^2.8; required by the Csrf validator",
+ "laminas/laminas-uri": "Laminas\\Uri component, required by the Uri and Sitemap\\Loc validators",
+ "psr/http-message": "psr/http-message, required when validating PSR-7 UploadedFileInterface instances via the Upload and UploadFile validators"
+ },
+ "type": "library",
+ "extra": {
+ "laminas": {
+ "component": "Laminas\\Validator",
+ "config-provider": "Laminas\\Validator\\ConfigProvider"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Laminas\\Validator\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Validation classes for a wide range of domains, and the ability to chain validators to create complex validation criteria",
+ "homepage": "https://laminas.dev",
+ "keywords": [
+ "laminas",
+ "validator"
+ ],
+ "support": {
+ "chat": "https://laminas.dev/chat",
+ "docs": "https://docs.laminas.dev/laminas-validator/",
+ "forum": "https://discourse.laminas.dev",
+ "issues": "https://github.com/laminas/laminas-validator/issues",
+ "rss": "https://github.com/laminas/laminas-validator/releases.atom",
+ "source": "https://github.com/laminas/laminas-validator"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2023-07-10T07:32:01+00:00"
+ },
+ {
+ "name": "laminas/laminas-view",
+ "version": "2.28.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-view.git",
+ "reference": "c43dd9f89febb79a76cfa01c5cb2b90836d7d748"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-view/zipball/c43dd9f89febb79a76cfa01c5cb2b90836d7d748",
+ "reference": "c43dd9f89febb79a76cfa01c5cb2b90836d7d748",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-filter": "*",
+ "ext-json": "*",
+ "laminas/laminas-escaper": "^2.5",
+ "laminas/laminas-eventmanager": "^3.4",
+ "laminas/laminas-json": "^3.3",
+ "laminas/laminas-servicemanager": "^3.21.0",
+ "laminas/laminas-stdlib": "^3.10.1",
+ "php": "~8.1.0 || ~8.2.0",
+ "psr/container": "^1 || ^2"
+ },
+ "conflict": {
+ "container-interop/container-interop": "<1.2",
+ "laminas/laminas-router": "<3.0.1",
+ "laminas/laminas-session": "<2.12",
+ "zendframework/zend-view": "*"
+ },
+ "require-dev": {
+ "laminas/laminas-authentication": "^2.13",
+ "laminas/laminas-coding-standard": "~2.5.0",
+ "laminas/laminas-feed": "^2.20",
+ "laminas/laminas-filter": "^2.32",
+ "laminas/laminas-http": "^2.18",
+ "laminas/laminas-i18n": "^2.23",
+ "laminas/laminas-modulemanager": "^2.14",
+ "laminas/laminas-mvc": "^3.6.1",
+ "laminas/laminas-mvc-i18n": "^1.7",
+ "laminas/laminas-mvc-plugin-flashmessenger": "^1.9",
+ "laminas/laminas-navigation": "^2.18.1",
+ "laminas/laminas-paginator": "^2.17",
+ "laminas/laminas-permissions-acl": "^2.14",
+ "laminas/laminas-router": "^3.11.1",
+ "laminas/laminas-uri": "^2.10",
+ "phpunit/phpunit": "^9.6.8",
+ "psalm/plugin-phpunit": "^0.18.4",
+ "vimeo/psalm": "^5.12"
+ },
+ "suggest": {
+ "laminas/laminas-authentication": "Laminas\\Authentication component",
+ "laminas/laminas-feed": "Laminas\\Feed component",
+ "laminas/laminas-filter": "Laminas\\Filter component",
+ "laminas/laminas-http": "Laminas\\Http component",
+ "laminas/laminas-i18n": "Laminas\\I18n component",
+ "laminas/laminas-mvc": "Laminas\\Mvc component",
+ "laminas/laminas-mvc-plugin-flashmessenger": "laminas-mvc-plugin-flashmessenger component, if you want to use the FlashMessenger view helper with laminas-mvc versions 3 and up",
+ "laminas/laminas-navigation": "Laminas\\Navigation component",
+ "laminas/laminas-paginator": "Laminas\\Paginator component",
+ "laminas/laminas-permissions-acl": "Laminas\\Permissions\\Acl component",
+ "laminas/laminas-uri": "Laminas\\Uri component"
+ },
+ "bin": [
+ "bin/templatemap_generator.php"
+ ],
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Laminas\\View\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Flexible view layer supporting and providing multiple view layers, helpers, and more",
+ "homepage": "https://laminas.dev",
+ "keywords": [
+ "laminas",
+ "view"
+ ],
+ "support": {
+ "chat": "https://laminas.dev/chat",
+ "docs": "https://docs.laminas.dev/laminas-view/",
+ "forum": "https://discourse.laminas.dev",
+ "issues": "https://github.com/laminas/laminas-view/issues",
+ "rss": "https://github.com/laminas/laminas-view/releases.atom",
+ "source": "https://github.com/laminas/laminas-view"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2023-05-30T11:38:25+00:00"
+ },
+ {
+ "name": "nikic/php-parser",
+ "version": "v4.16.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/nikic/PHP-Parser.git",
+ "reference": "19526a33fb561ef417e822e85f08a00db4059c17"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/19526a33fb561ef417e822e85f08a00db4059c17",
+ "reference": "19526a33fb561ef417e822e85f08a00db4059c17",
+ "shasum": ""
+ },
+ "require": {
+ "ext-tokenizer": "*",
+ "php": ">=7.0"
+ },
+ "require-dev": {
+ "ircmaxell/php-yacc": "^0.0.7",
+ "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0"
+ },
+ "bin": [
+ "bin/php-parse"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.9-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "PhpParser\\": "lib/PhpParser"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Nikita Popov"
+ }
+ ],
+ "description": "A PHP parser written in PHP",
+ "keywords": [
+ "parser",
+ "php"
+ ],
+ "support": {
+ "issues": "https://github.com/nikic/PHP-Parser/issues",
+ "source": "https://github.com/nikic/PHP-Parser/tree/v4.16.0"
+ },
+ "time": "2023-06-25T14:52:30+00:00"
+ },
+ {
+ "name": "psr/container",
+ "version": "1.1.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/container.git",
+ "reference": "513e0666f7216c7459170d56df27dfcefe1689ea"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea",
+ "reference": "513e0666f7216c7459170d56df27dfcefe1689ea",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.4.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Psr\\Container\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "https://www.php-fig.org/"
+ }
+ ],
+ "description": "Common Container Interface (PHP FIG PSR-11)",
+ "homepage": "https://github.com/php-fig/container",
+ "keywords": [
+ "PSR-11",
+ "container",
+ "container-interface",
+ "container-interop",
+ "psr"
+ ],
+ "support": {
+ "issues": "https://github.com/php-fig/container/issues",
+ "source": "https://github.com/php-fig/container/tree/1.1.2"
+ },
+ "time": "2021-11-05T16:50:12+00:00"
+ },
+ {
+ "name": "psr/http-message",
+ "version": "2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/http-message.git",
+ "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71",
+ "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2 || ^8.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\Http\\Message\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "https://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interface for HTTP messages",
+ "homepage": "https://github.com/php-fig/http-message",
+ "keywords": [
+ "http",
+ "http-message",
+ "psr",
+ "psr-7",
+ "request",
+ "response"
+ ],
+ "support": {
+ "source": "https://github.com/php-fig/http-message/tree/2.0"
+ },
+ "time": "2023-04-04T09:54:51+00:00"
+ },
+ {
+ "name": "webimpress/safe-writer",
+ "version": "2.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/webimpress/safe-writer.git",
+ "reference": "9d37cc8bee20f7cb2f58f6e23e05097eab5072e6"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/webimpress/safe-writer/zipball/9d37cc8bee20f7cb2f58f6e23e05097eab5072e6",
+ "reference": "9d37cc8bee20f7cb2f58f6e23e05097eab5072e6",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.3 || ^8.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.5.4",
+ "vimeo/psalm": "^4.7",
+ "webimpress/coding-standard": "^1.2.2"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.2.x-dev",
+ "dev-develop": "2.3.x-dev",
+ "dev-release-1.0": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Webimpress\\SafeWriter\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-2-Clause"
+ ],
+ "description": "Tool to write files safely, to avoid race conditions",
+ "keywords": [
+ "concurrent write",
+ "file writer",
+ "race condition",
+ "safe writer",
+ "webimpress"
],
"support": {
- "chat": "https://laminas.dev/chat",
- "docs": "https://docs.laminas.dev/laminas-validator/",
- "forum": "https://discourse.laminas.dev",
- "issues": "https://github.com/laminas/laminas-validator/issues",
- "rss": "https://github.com/laminas/laminas-validator/releases.atom",
- "source": "https://github.com/laminas/laminas-validator"
+ "issues": "https://github.com/webimpress/safe-writer/issues",
+ "source": "https://github.com/webimpress/safe-writer/tree/2.2.0"
},
"funding": [
{
- "url": "https://funding.communitybridge.org/projects/laminas-project",
- "type": "community_bridge"
+ "url": "https://github.com/michalbundyra",
+ "type": "github"
}
],
- "time": "2022-07-27T19:17:59+00:00"
+ "time": "2021-04-19T16:34:45+00:00"
},
{
- "name": "psr/container",
- "version": "1.1.2",
+ "name": "webmozart/assert",
+ "version": "1.11.0",
"source": {
"type": "git",
- "url": "https://github.com/php-fig/container.git",
- "reference": "513e0666f7216c7459170d56df27dfcefe1689ea"
+ "url": "https://github.com/webmozarts/assert.git",
+ "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea",
- "reference": "513e0666f7216c7459170d56df27dfcefe1689ea",
+ "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991",
+ "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991",
"shasum": ""
},
"require": {
- "php": ">=7.4.0"
+ "ext-ctype": "*",
+ "php": "^7.2 || ^8.0"
+ },
+ "conflict": {
+ "phpstan/phpstan": "<0.12.20",
+ "vimeo/psalm": "<4.6.1 || 4.6.2"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^8.5.13"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.10-dev"
+ }
+ },
"autoload": {
"psr-4": {
- "Psr\\Container\\": "src/"
+ "Webmozart\\Assert\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -512,24 +1309,21 @@
],
"authors": [
{
- "name": "PHP-FIG",
- "homepage": "https://www.php-fig.org/"
+ "name": "Bernhard Schussek",
+ "email": "bschussek@gmail.com"
}
],
- "description": "Common Container Interface (PHP FIG PSR-11)",
- "homepage": "https://github.com/php-fig/container",
+ "description": "Assertions to validate method input/output with nice error messages.",
"keywords": [
- "PSR-11",
- "container",
- "container-interface",
- "container-interop",
- "psr"
+ "assert",
+ "check",
+ "validate"
],
"support": {
- "issues": "https://github.com/php-fig/container/issues",
- "source": "https://github.com/php-fig/container/tree/1.1.2"
+ "issues": "https://github.com/webmozarts/assert/issues",
+ "source": "https://github.com/webmozarts/assert/tree/1.11.0"
},
- "time": "2021-11-05T16:50:12+00:00"
+ "time": "2022-06-03T18:03:27+00:00"
}
],
"packages-dev": [
@@ -774,16 +1568,16 @@
},
{
"name": "composer/pcre",
- "version": "3.0.0",
+ "version": "3.1.0",
"source": {
"type": "git",
"url": "https://github.com/composer/pcre.git",
- "reference": "e300eb6c535192decd27a85bc72a9290f0d6b3bd"
+ "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/pcre/zipball/e300eb6c535192decd27a85bc72a9290f0d6b3bd",
- "reference": "e300eb6c535192decd27a85bc72a9290f0d6b3bd",
+ "url": "https://api.github.com/repos/composer/pcre/zipball/4bff79ddd77851fe3cdd11616ed3f92841ba5bd2",
+ "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2",
"shasum": ""
},
"require": {
@@ -825,7 +1619,7 @@
],
"support": {
"issues": "https://github.com/composer/pcre/issues",
- "source": "https://github.com/composer/pcre/tree/3.0.0"
+ "source": "https://github.com/composer/pcre/tree/3.1.0"
},
"funding": [
{
@@ -841,7 +1635,7 @@
"type": "tidelift"
}
],
- "time": "2022-02-25T20:21:48+00:00"
+ "time": "2022-11-17T09:50:14+00:00"
},
{
"name": "composer/semver",
@@ -1102,76 +1896,6 @@
},
"time": "2019-12-04T15:06:13+00:00"
},
- {
- "name": "doctrine/instantiator",
- "version": "1.4.1",
- "source": {
- "type": "git",
- "url": "https://github.com/doctrine/instantiator.git",
- "reference": "10dcfce151b967d20fde1b34ae6640712c3891bc"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/doctrine/instantiator/zipball/10dcfce151b967d20fde1b34ae6640712c3891bc",
- "reference": "10dcfce151b967d20fde1b34ae6640712c3891bc",
- "shasum": ""
- },
- "require": {
- "php": "^7.1 || ^8.0"
- },
- "require-dev": {
- "doctrine/coding-standard": "^9",
- "ext-pdo": "*",
- "ext-phar": "*",
- "phpbench/phpbench": "^0.16 || ^1",
- "phpstan/phpstan": "^1.4",
- "phpstan/phpstan-phpunit": "^1",
- "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
- "vimeo/psalm": "^4.22"
- },
- "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/1.4.1"
- },
- "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-03-03T08:28:38+00:00"
- },
{
"name": "felixfbecker/advanced-json-rpc",
"version": "v3.2.1",
@@ -1273,27 +1997,91 @@
},
"time": "2022-03-02T22:36:06+00:00"
},
+ {
+ "name": "fidry/cpu-core-counter",
+ "version": "0.5.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/theofidry/cpu-core-counter.git",
+ "reference": "b58e5a3933e541dc286cc91fc4f3898bbc6f1623"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/b58e5a3933e541dc286cc91fc4f3898bbc6f1623",
+ "reference": "b58e5a3933e541dc286cc91fc4f3898bbc6f1623",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2 || ^8.0"
+ },
+ "require-dev": {
+ "fidry/makefile": "^0.2.0",
+ "phpstan/extension-installer": "^1.2.0",
+ "phpstan/phpstan": "^1.9.2",
+ "phpstan/phpstan-deprecation-rules": "^1.0.0",
+ "phpstan/phpstan-phpunit": "^1.2.2",
+ "phpstan/phpstan-strict-rules": "^1.4.4",
+ "phpunit/phpunit": "^9.5.26 || ^8.5.31",
+ "theofidry/php-cs-fixer-config": "^1.0",
+ "webmozarts/strict-phpunit": "^7.5"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Fidry\\CpuCoreCounter\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Théo FIDRY",
+ "email": "theo.fidry@gmail.com"
+ }
+ ],
+ "description": "Tiny utility to get the number of CPU cores.",
+ "keywords": [
+ "CPU",
+ "core"
+ ],
+ "support": {
+ "issues": "https://github.com/theofidry/cpu-core-counter/issues",
+ "source": "https://github.com/theofidry/cpu-core-counter/tree/0.5.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/theofidry",
+ "type": "github"
+ }
+ ],
+ "time": "2022-12-24T12:35:10+00:00"
+ },
{
"name": "laminas/laminas-coding-standard",
- "version": "2.3.0",
+ "version": "2.4.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-coding-standard.git",
- "reference": "bcf6e07fe4690240be7beb6d884d0b0fafa6a251"
+ "reference": "eb076dd86aa93dd424856b150c9b6f76c1fdfabc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laminas/laminas-coding-standard/zipball/bcf6e07fe4690240be7beb6d884d0b0fafa6a251",
- "reference": "bcf6e07fe4690240be7beb6d884d0b0fafa6a251",
+ "url": "https://api.github.com/repos/laminas/laminas-coding-standard/zipball/eb076dd86aa93dd424856b150c9b6f76c1fdfabc",
+ "reference": "eb076dd86aa93dd424856b150c9b6f76c1fdfabc",
"shasum": ""
},
"require": {
"dealerdirect/phpcodesniffer-composer-installer": "^0.7",
- "php": "^7.3 || ^8.0",
+ "php": "^7.4 || ^8.0",
"slevomat/coding-standard": "^7.0",
"squizlabs/php_codesniffer": "^3.6",
"webimpress/coding-standard": "^1.2"
},
+ "conflict": {
+ "phpstan/phpdoc-parser": ">=1.6.0"
+ },
"type": "phpcodesniffer-standard",
"autoload": {
"psr-4": {
@@ -1324,40 +2112,40 @@
"type": "community_bridge"
}
],
- "time": "2021-05-29T15:53:59+00:00"
+ "time": "2022-08-24T17:45:47+00:00"
},
{
"name": "maglnet/composer-require-checker",
- "version": "3.8.0",
+ "version": "4.6.0",
"source": {
"type": "git",
"url": "https://github.com/maglnet/ComposerRequireChecker.git",
- "reference": "537138b833ab0f9ad72b667a72bece2a765e88ab"
+ "reference": "a5d4951d0839b57fb5dce1d6d0a6e36f23b2823f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/maglnet/ComposerRequireChecker/zipball/537138b833ab0f9ad72b667a72bece2a765e88ab",
- "reference": "537138b833ab0f9ad72b667a72bece2a765e88ab",
+ "url": "https://api.github.com/repos/maglnet/ComposerRequireChecker/zipball/a5d4951d0839b57fb5dce1d6d0a6e36f23b2823f",
+ "reference": "a5d4951d0839b57fb5dce1d6d0a6e36f23b2823f",
"shasum": ""
},
"require": {
"composer-runtime-api": "^2.0.0",
- "ext-json": "*",
"ext-phar": "*",
- "nikic/php-parser": "^4.13.0",
- "php": "^7.4 || ^8.0",
- "symfony/console": "^5.4.0",
- "webmozart/assert": "^1.9.1",
- "webmozart/glob": "^4.4.0"
+ "nikic/php-parser": "^4.15.2",
+ "php": "~8.1.0 || ~8.2.0",
+ "symfony/console": "^6.2.3",
+ "webmozart/assert": "^1.11.0",
+ "webmozart/glob": "^4.6.0"
},
"require-dev": {
- "doctrine/coding-standard": "^9.0.0",
+ "doctrine/coding-standard": "^11.0.0",
"ext-zend-opcache": "*",
- "mikey179/vfsstream": "^1.6.10",
- "phing/phing": "^2.17.0",
- "phpstan/phpstan": "^1.2.0",
- "phpunit/phpunit": "^9.5.10",
- "vimeo/psalm": "^4.14.0"
+ "mikey179/vfsstream": "^1.6.11",
+ "phing/phing": "^2.17.4",
+ "phpstan/phpstan": "^1.9.4",
+ "phpunit/phpunit": "^9.5.27",
+ "roave/infection-static-analysis-plugin": "^1.27.0",
+ "vimeo/psalm": "^5.4.0"
},
"bin": [
"bin/composer-require-checker"
@@ -1402,22 +2190,22 @@
],
"support": {
"issues": "https://github.com/maglnet/ComposerRequireChecker/issues",
- "source": "https://github.com/maglnet/ComposerRequireChecker/tree/3.8.0"
+ "source": "https://github.com/maglnet/ComposerRequireChecker/tree/4.6.0"
},
- "time": "2021-12-07T14:25:47+00:00"
+ "time": "2023-04-21T21:13:53+00:00"
},
{
"name": "myclabs/deep-copy",
- "version": "1.11.0",
+ "version": "1.11.1",
"source": {
"type": "git",
"url": "https://github.com/myclabs/DeepCopy.git",
- "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614"
+ "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/14daed4296fae74d9e3201d2c4925d1acb7aa614",
- "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614",
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
+ "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
"shasum": ""
},
"require": {
@@ -1450,180 +2238,71 @@
"clone",
"copy",
"duplicate",
- "object",
- "object graph"
- ],
- "support": {
- "issues": "https://github.com/myclabs/DeepCopy/issues",
- "source": "https://github.com/myclabs/DeepCopy/tree/1.11.0"
- },
- "funding": [
- {
- "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy",
- "type": "tidelift"
- }
- ],
- "time": "2022-03-03T13:19:32+00:00"
- },
- {
- "name": "netresearch/jsonmapper",
- "version": "v4.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/cweiske/jsonmapper.git",
- "reference": "8bbc021a8edb2e4a7ea2f8ad4fa9ec9dce2fcb8d"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/8bbc021a8edb2e4a7ea2f8ad4fa9ec9dce2fcb8d",
- "reference": "8bbc021a8edb2e4a7ea2f8ad4fa9ec9dce2fcb8d",
- "shasum": ""
- },
- "require": {
- "ext-json": "*",
- "ext-pcre": "*",
- "ext-reflection": "*",
- "ext-spl": "*",
- "php": ">=7.1"
- },
- "require-dev": {
- "phpunit/phpunit": "~7.5 || ~8.0 || ~9.0",
- "squizlabs/php_codesniffer": "~3.5"
- },
- "type": "library",
- "autoload": {
- "psr-0": {
- "JsonMapper": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "OSL-3.0"
- ],
- "authors": [
- {
- "name": "Christian Weiske",
- "email": "cweiske@cweiske.de",
- "homepage": "http://github.com/cweiske/jsonmapper/",
- "role": "Developer"
- }
- ],
- "description": "Map nested JSON structures onto PHP classes",
- "support": {
- "email": "cweiske@cweiske.de",
- "issues": "https://github.com/cweiske/jsonmapper/issues",
- "source": "https://github.com/cweiske/jsonmapper/tree/v4.0.0"
- },
- "time": "2020-12-01T19:48:11+00:00"
- },
- {
- "name": "nikic/php-parser",
- "version": "v4.14.0",
- "source": {
- "type": "git",
- "url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "34bea19b6e03d8153165d8f30bba4c3be86184c1"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/34bea19b6e03d8153165d8f30bba4c3be86184c1",
- "reference": "34bea19b6e03d8153165d8f30bba4c3be86184c1",
- "shasum": ""
- },
- "require": {
- "ext-tokenizer": "*",
- "php": ">=7.0"
- },
- "require-dev": {
- "ircmaxell/php-yacc": "^0.0.7",
- "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0"
- },
- "bin": [
- "bin/php-parse"
- ],
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.9-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "PhpParser\\": "lib/PhpParser"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Nikita Popov"
- }
- ],
- "description": "A PHP parser written in PHP",
- "keywords": [
- "parser",
- "php"
+ "object",
+ "object graph"
],
"support": {
- "issues": "https://github.com/nikic/PHP-Parser/issues",
- "source": "https://github.com/nikic/PHP-Parser/tree/v4.14.0"
+ "issues": "https://github.com/myclabs/DeepCopy/issues",
+ "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1"
},
- "time": "2022-05-31T20:59:12+00:00"
+ "funding": [
+ {
+ "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-03-08T13:26:56+00:00"
},
{
- "name": "openlss/lib-array2xml",
- "version": "1.0.0",
+ "name": "netresearch/jsonmapper",
+ "version": "v4.2.0",
"source": {
"type": "git",
- "url": "https://github.com/nullivex/lib-array2xml.git",
- "reference": "a91f18a8dfc69ffabe5f9b068bc39bb202c81d90"
+ "url": "https://github.com/cweiske/jsonmapper.git",
+ "reference": "f60565f8c0566a31acf06884cdaa591867ecc956"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nullivex/lib-array2xml/zipball/a91f18a8dfc69ffabe5f9b068bc39bb202c81d90",
- "reference": "a91f18a8dfc69ffabe5f9b068bc39bb202c81d90",
+ "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/f60565f8c0566a31acf06884cdaa591867ecc956",
+ "reference": "f60565f8c0566a31acf06884cdaa591867ecc956",
"shasum": ""
},
"require": {
- "php": ">=5.3.2"
+ "ext-json": "*",
+ "ext-pcre": "*",
+ "ext-reflection": "*",
+ "ext-spl": "*",
+ "php": ">=7.1"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~7.5 || ~8.0 || ~9.0",
+ "squizlabs/php_codesniffer": "~3.5"
},
"type": "library",
"autoload": {
"psr-0": {
- "LSS": ""
+ "JsonMapper": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "Apache-2.0"
+ "OSL-3.0"
],
"authors": [
{
- "name": "Bryan Tong",
- "email": "bryan@nullivex.com",
- "homepage": "https://www.nullivex.com"
- },
- {
- "name": "Tony Butler",
- "email": "spudz76@gmail.com",
- "homepage": "https://www.nullivex.com"
+ "name": "Christian Weiske",
+ "email": "cweiske@cweiske.de",
+ "homepage": "http://github.com/cweiske/jsonmapper/",
+ "role": "Developer"
}
],
- "description": "Array2XML conversion library credit to lalit.org",
- "homepage": "https://www.nullivex.com",
- "keywords": [
- "array",
- "array conversion",
- "xml",
- "xml conversion"
- ],
+ "description": "Map nested JSON structures onto PHP classes",
"support": {
- "issues": "https://github.com/nullivex/lib-array2xml/issues",
- "source": "https://github.com/nullivex/lib-array2xml/tree/master"
+ "email": "cweiske@cweiske.de",
+ "issues": "https://github.com/cweiske/jsonmapper/issues",
+ "source": "https://github.com/cweiske/jsonmapper/tree/v4.2.0"
},
- "time": "2019-03-29T20:06:56+00:00"
+ "time": "2023-04-09T17:37:40+00:00"
},
{
"name": "phar-io/manifest",
@@ -1848,25 +2527,30 @@
},
{
"name": "phpdocumentor/type-resolver",
- "version": "1.6.1",
+ "version": "1.6.2",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/TypeResolver.git",
- "reference": "77a32518733312af16a44300404e945338981de3"
+ "reference": "48f445a408c131e38cab1c235aa6d2bb7a0bb20d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/77a32518733312af16a44300404e945338981de3",
- "reference": "77a32518733312af16a44300404e945338981de3",
+ "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/48f445a408c131e38cab1c235aa6d2bb7a0bb20d",
+ "reference": "48f445a408c131e38cab1c235aa6d2bb7a0bb20d",
"shasum": ""
},
"require": {
- "php": "^7.2 || ^8.0",
+ "php": "^7.4 || ^8.0",
"phpdocumentor/reflection-common": "^2.0"
},
"require-dev": {
"ext-tokenizer": "*",
- "psalm/phar": "^4.8"
+ "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"
},
"type": "library",
"extra": {
@@ -1892,89 +2576,22 @@
"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.6.1"
- },
- "time": "2022-03-15T21:29:03+00:00"
- },
- {
- "name": "phpspec/prophecy",
- "version": "v1.15.0",
- "source": {
- "type": "git",
- "url": "https://github.com/phpspec/prophecy.git",
- "reference": "bbcd7380b0ebf3961ee21409db7b38bc31d69a13"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpspec/prophecy/zipball/bbcd7380b0ebf3961ee21409db7b38bc31d69a13",
- "reference": "bbcd7380b0ebf3961ee21409db7b38bc31d69a13",
- "shasum": ""
- },
- "require": {
- "doctrine/instantiator": "^1.2",
- "php": "^7.2 || ~8.0, <8.2",
- "phpdocumentor/reflection-docblock": "^5.2",
- "sebastian/comparator": "^3.0 || ^4.0",
- "sebastian/recursion-context": "^3.0 || ^4.0"
- },
- "require-dev": {
- "phpspec/phpspec": "^6.0 || ^7.0",
- "phpunit/phpunit": "^8.0 || ^9.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Prophecy\\": "src/Prophecy"
- }
+ "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.6.2"
},
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Konstantin Kudryashov",
- "email": "ever.zet@gmail.com",
- "homepage": "http://everzet.com"
- },
- {
- "name": "Marcello Duarte",
- "email": "marcello.duarte@gmail.com"
- }
- ],
- "description": "Highly opinionated mocking framework for PHP 5.3+",
- "homepage": "https://github.com/phpspec/prophecy",
- "keywords": [
- "Double",
- "Dummy",
- "fake",
- "mock",
- "spy",
- "stub"
- ],
- "support": {
- "issues": "https://github.com/phpspec/prophecy/issues",
- "source": "https://github.com/phpspec/prophecy/tree/v1.15.0"
- },
- "time": "2021-12-08T12:19:24+00:00"
+ "time": "2022-10-14T12:47:21+00:00"
},
{
"name": "phpstan/phpdoc-parser",
- "version": "1.6.4",
+ "version": "1.5.1",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpdoc-parser.git",
- "reference": "135607f9ccc297d6923d49c2bcf309f509413215"
+ "reference": "981cc368a216c988e862a75e526b6076987d1b50"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/135607f9ccc297d6923d49c2bcf309f509413215",
- "reference": "135607f9ccc297d6923d49c2bcf309f509413215",
+ "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/981cc368a216c988e862a75e526b6076987d1b50",
+ "reference": "981cc368a216c988e862a75e526b6076987d1b50",
"shasum": ""
},
"require": {
@@ -1984,7 +2601,6 @@
"php-parallel-lint/php-parallel-lint": "^1.2",
"phpstan/extension-installer": "^1.0",
"phpstan/phpstan": "^1.5",
- "phpstan/phpstan-phpunit": "^1.1",
"phpstan/phpstan-strict-rules": "^1.0",
"phpunit/phpunit": "^9.5",
"symfony/process": "^5.2"
@@ -2004,50 +2620,50 @@
"description": "PHPDoc parser with support for nullable, intersection and generic types",
"support": {
"issues": "https://github.com/phpstan/phpdoc-parser/issues",
- "source": "https://github.com/phpstan/phpdoc-parser/tree/1.6.4"
+ "source": "https://github.com/phpstan/phpdoc-parser/tree/1.5.1"
},
- "time": "2022-06-26T13:09:08+00:00"
+ "time": "2022-05-05T11:32:40+00:00"
},
{
"name": "phpunit/php-code-coverage",
- "version": "9.2.15",
+ "version": "10.1.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "2e9da11878c4202f97915c1cb4bb1ca318a63f5f"
+ "reference": "db1497ec8dd382e82c962f7abbe0320e4882ee4e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2e9da11878c4202f97915c1cb4bb1ca318a63f5f",
- "reference": "2e9da11878c4202f97915c1cb4bb1ca318a63f5f",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/db1497ec8dd382e82c962f7abbe0320e4882ee4e",
+ "reference": "db1497ec8dd382e82c962f7abbe0320e4882ee4e",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
"ext-xmlwriter": "*",
- "nikic/php-parser": "^4.13.0",
- "php": ">=7.3",
- "phpunit/php-file-iterator": "^3.0.3",
- "phpunit/php-text-template": "^2.0.2",
- "sebastian/code-unit-reverse-lookup": "^2.0.2",
- "sebastian/complexity": "^2.0",
- "sebastian/environment": "^5.1.2",
- "sebastian/lines-of-code": "^1.0.3",
- "sebastian/version": "^3.0.1",
+ "nikic/php-parser": "^4.15",
+ "php": ">=8.1",
+ "phpunit/php-file-iterator": "^4.0",
+ "phpunit/php-text-template": "^3.0",
+ "sebastian/code-unit-reverse-lookup": "^3.0",
+ "sebastian/complexity": "^3.0",
+ "sebastian/environment": "^6.0",
+ "sebastian/lines-of-code": "^2.0",
+ "sebastian/version": "^4.0",
"theseer/tokenizer": "^1.2.0"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^10.1"
},
"suggest": {
- "ext-pcov": "*",
- "ext-xdebug": "*"
+ "ext-pcov": "PHP extension that provides line coverage",
+ "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "9.2-dev"
+ "dev-main": "10.1-dev"
}
},
"autoload": {
@@ -2075,7 +2691,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
- "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.15"
+ "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.2"
},
"funding": [
{
@@ -2083,32 +2700,32 @@
"type": "github"
}
],
- "time": "2022-03-07T09:28:20+00:00"
+ "time": "2023-05-22T09:04:27+00:00"
},
{
"name": "phpunit/php-file-iterator",
- "version": "3.0.6",
+ "version": "4.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
- "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf"
+ "reference": "5647d65443818959172645e7ed999217360654b6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf",
- "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/5647d65443818959172645e7ed999217360654b6",
+ "reference": "5647d65443818959172645e7ed999217360654b6",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.1"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^10.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.0-dev"
+ "dev-main": "4.0-dev"
}
},
"autoload": {
@@ -2135,7 +2752,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
- "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6"
+ "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy",
+ "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/4.0.2"
},
"funding": [
{
@@ -2143,28 +2761,28 @@
"type": "github"
}
],
- "time": "2021-12-02T12:48:52+00:00"
+ "time": "2023-05-07T09:13:23+00:00"
},
{
"name": "phpunit/php-invoker",
- "version": "3.1.1",
+ "version": "4.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-invoker.git",
- "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67"
+ "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
- "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7",
+ "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.1"
},
"require-dev": {
"ext-pcntl": "*",
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^10.0"
},
"suggest": {
"ext-pcntl": "*"
@@ -2172,7 +2790,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.1-dev"
+ "dev-main": "4.0-dev"
}
},
"autoload": {
@@ -2198,7 +2816,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-invoker/issues",
- "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1"
+ "source": "https://github.com/sebastianbergmann/php-invoker/tree/4.0.0"
},
"funding": [
{
@@ -2206,32 +2824,32 @@
"type": "github"
}
],
- "time": "2020-09-28T05:58:55+00:00"
+ "time": "2023-02-03T06:56:09+00:00"
},
{
"name": "phpunit/php-text-template",
- "version": "2.0.4",
+ "version": "3.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-text-template.git",
- "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28"
+ "reference": "9f3d3709577a527025f55bcf0f7ab8052c8bb37d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
- "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/9f3d3709577a527025f55bcf0f7ab8052c8bb37d",
+ "reference": "9f3d3709577a527025f55bcf0f7ab8052c8bb37d",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.1"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^10.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0-dev"
+ "dev-main": "3.0-dev"
}
},
"autoload": {
@@ -2257,7 +2875,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-text-template/issues",
- "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4"
+ "source": "https://github.com/sebastianbergmann/php-text-template/tree/3.0.0"
},
"funding": [
{
@@ -2265,32 +2883,32 @@
"type": "github"
}
],
- "time": "2020-10-26T05:33:50+00:00"
+ "time": "2023-02-03T06:56:46+00:00"
},
{
"name": "phpunit/php-timer",
- "version": "5.0.3",
+ "version": "6.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-timer.git",
- "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2"
+ "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
- "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/e2a2d67966e740530f4a3343fe2e030ffdc1161d",
+ "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.1"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^10.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "5.0-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -2316,7 +2934,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-timer/issues",
- "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3"
+ "source": "https://github.com/sebastianbergmann/php-timer/tree/6.0.0"
},
"funding": [
{
@@ -2324,24 +2942,23 @@
"type": "github"
}
],
- "time": "2020-10-26T13:16:10+00:00"
+ "time": "2023-02-03T06:57:52+00:00"
},
{
"name": "phpunit/phpunit",
- "version": "9.5.21",
+ "version": "10.2.6",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "0e32b76be457de00e83213528f6bb37e2a38fcb1"
+ "reference": "1c17815c129f133f3019cc18e8d0c8622e6d9bcd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/0e32b76be457de00e83213528f6bb37e2a38fcb1",
- "reference": "0e32b76be457de00e83213528f6bb37e2a38fcb1",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/1c17815c129f133f3019cc18e8d0c8622e6d9bcd",
+ "reference": "1c17815c129f133f3019cc18e8d0c8622e6d9bcd",
"shasum": ""
},
"require": {
- "doctrine/instantiator": "^1.3.1",
"ext-dom": "*",
"ext-json": "*",
"ext-libxml": "*",
@@ -2351,31 +2968,26 @@
"myclabs/deep-copy": "^1.10.1",
"phar-io/manifest": "^2.0.3",
"phar-io/version": "^3.0.2",
- "php": ">=7.3",
- "phpspec/prophecy": "^1.12.1",
- "phpunit/php-code-coverage": "^9.2.13",
- "phpunit/php-file-iterator": "^3.0.5",
- "phpunit/php-invoker": "^3.1.1",
- "phpunit/php-text-template": "^2.0.3",
- "phpunit/php-timer": "^5.0.2",
- "sebastian/cli-parser": "^1.0.1",
- "sebastian/code-unit": "^1.0.6",
- "sebastian/comparator": "^4.0.5",
- "sebastian/diff": "^4.0.3",
- "sebastian/environment": "^5.1.3",
- "sebastian/exporter": "^4.0.3",
- "sebastian/global-state": "^5.0.1",
- "sebastian/object-enumerator": "^4.0.3",
- "sebastian/resource-operations": "^3.0.3",
- "sebastian/type": "^3.0",
- "sebastian/version": "^3.0.2"
- },
- "require-dev": {
- "phpspec/prophecy-phpunit": "^2.0.1"
+ "php": ">=8.1",
+ "phpunit/php-code-coverage": "^10.1.1",
+ "phpunit/php-file-iterator": "^4.0",
+ "phpunit/php-invoker": "^4.0",
+ "phpunit/php-text-template": "^3.0",
+ "phpunit/php-timer": "^6.0",
+ "sebastian/cli-parser": "^2.0",
+ "sebastian/code-unit": "^2.0",
+ "sebastian/comparator": "^5.0",
+ "sebastian/diff": "^5.0",
+ "sebastian/environment": "^6.0",
+ "sebastian/exporter": "^5.0",
+ "sebastian/global-state": "^6.0",
+ "sebastian/object-enumerator": "^5.0",
+ "sebastian/recursion-context": "^5.0",
+ "sebastian/type": "^4.0",
+ "sebastian/version": "^4.0"
},
"suggest": {
- "ext-soap": "*",
- "ext-xdebug": "*"
+ "ext-soap": "To be able to generate mocks based on WSDL files"
},
"bin": [
"phpunit"
@@ -2383,7 +2995,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "9.5-dev"
+ "dev-main": "10.2-dev"
}
},
"autoload": {
@@ -2414,7 +3026,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.21"
+ "security": "https://github.com/sebastianbergmann/phpunit/security/policy",
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/10.2.6"
},
"funding": [
{
@@ -2424,22 +3037,26 @@
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit",
+ "type": "tidelift"
}
],
- "time": "2022-06-19T12:14:25+00:00"
+ "time": "2023-07-17T12:08:28+00:00"
},
{
"name": "psalm/plugin-phpunit",
- "version": "0.17.0",
+ "version": "0.18.4",
"source": {
"type": "git",
"url": "https://github.com/psalm/psalm-plugin-phpunit.git",
- "reference": "45951541beef07e93e3ad197daf01da88e85c31d"
+ "reference": "e4ab3096653d9eb6f6d0ea5f4461898d59ae4dbc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/psalm/psalm-plugin-phpunit/zipball/45951541beef07e93e3ad197daf01da88e85c31d",
- "reference": "45951541beef07e93e3ad197daf01da88e85c31d",
+ "url": "https://api.github.com/repos/psalm/psalm-plugin-phpunit/zipball/e4ab3096653d9eb6f6d0ea5f4461898d59ae4dbc",
+ "reference": "e4ab3096653d9eb6f6d0ea5f4461898d59ae4dbc",
"shasum": ""
},
"require": {
@@ -2447,7 +3064,7 @@
"composer/semver": "^1.4 || ^2.0 || ^3.0",
"ext-simplexml": "*",
"php": "^7.1 || ^8.0",
- "vimeo/psalm": "dev-master || dev-4.x || ^4.5"
+ "vimeo/psalm": "dev-master || dev-4.x || ^4.7.1 || ^5@beta || ^5.0"
},
"conflict": {
"phpunit/phpunit": "<7.5"
@@ -2484,36 +3101,36 @@
"description": "Psalm plugin for PHPUnit",
"support": {
"issues": "https://github.com/psalm/psalm-plugin-phpunit/issues",
- "source": "https://github.com/psalm/psalm-plugin-phpunit/tree/0.17.0"
+ "source": "https://github.com/psalm/psalm-plugin-phpunit/tree/0.18.4"
},
- "time": "2022-06-14T17:05:57+00:00"
+ "time": "2022-12-03T07:47:07+00:00"
},
{
"name": "psr/log",
- "version": "1.1.4",
+ "version": "3.0.0",
"source": {
"type": "git",
"url": "https://github.com/php-fig/log.git",
- "reference": "d49695b909c3b7628b6289db5479a1c204601f11"
+ "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11",
- "reference": "d49695b909c3b7628b6289db5479a1c204601f11",
+ "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001",
+ "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001",
"shasum": ""
},
"require": {
- "php": ">=5.3.0"
+ "php": ">=8.0.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.1.x-dev"
+ "dev-master": "3.x-dev"
}
},
"autoload": {
"psr-4": {
- "Psr\\Log\\": "Psr/Log/"
+ "Psr\\Log\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -2534,34 +3151,34 @@
"psr-3"
],
"support": {
- "source": "https://github.com/php-fig/log/tree/1.1.4"
+ "source": "https://github.com/php-fig/log/tree/3.0.0"
},
- "time": "2021-05-03T11:20:27+00:00"
+ "time": "2021-07-14T16:46:02+00:00"
},
{
"name": "sebastian/cli-parser",
- "version": "1.0.1",
+ "version": "2.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/cli-parser.git",
- "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2"
+ "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2",
- "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2",
+ "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/efdc130dbbbb8ef0b545a994fd811725c5282cae",
+ "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.1"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^10.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0-dev"
+ "dev-main": "2.0-dev"
}
},
"autoload": {
@@ -2584,7 +3201,7 @@
"homepage": "https://github.com/sebastianbergmann/cli-parser",
"support": {
"issues": "https://github.com/sebastianbergmann/cli-parser/issues",
- "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1"
+ "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.0"
},
"funding": [
{
@@ -2592,32 +3209,32 @@
"type": "github"
}
],
- "time": "2020-09-28T06:08:49+00:00"
+ "time": "2023-02-03T06:58:15+00:00"
},
{
"name": "sebastian/code-unit",
- "version": "1.0.8",
+ "version": "2.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/code-unit.git",
- "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120"
+ "reference": "a81fee9eef0b7a76af11d121767abc44c104e503"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120",
- "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/a81fee9eef0b7a76af11d121767abc44c104e503",
+ "reference": "a81fee9eef0b7a76af11d121767abc44c104e503",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.1"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^10.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0-dev"
+ "dev-main": "2.0-dev"
}
},
"autoload": {
@@ -2640,7 +3257,7 @@
"homepage": "https://github.com/sebastianbergmann/code-unit",
"support": {
"issues": "https://github.com/sebastianbergmann/code-unit/issues",
- "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8"
+ "source": "https://github.com/sebastianbergmann/code-unit/tree/2.0.0"
},
"funding": [
{
@@ -2648,32 +3265,32 @@
"type": "github"
}
],
- "time": "2020-10-26T13:08:54+00:00"
+ "time": "2023-02-03T06:58:43+00:00"
},
{
"name": "sebastian/code-unit-reverse-lookup",
- "version": "2.0.3",
+ "version": "3.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
- "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5"
+ "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
- "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/5e3a687f7d8ae33fb362c5c0743794bbb2420a1d",
+ "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.1"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^10.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0-dev"
+ "dev-main": "3.0-dev"
}
},
"autoload": {
@@ -2695,7 +3312,7 @@
"homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
"support": {
"issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
- "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3"
+ "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/3.0.0"
},
"funding": [
{
@@ -2703,34 +3320,36 @@
"type": "github"
}
],
- "time": "2020-09-28T05:30:19+00:00"
+ "time": "2023-02-03T06:59:15+00:00"
},
{
"name": "sebastian/comparator",
- "version": "4.0.6",
+ "version": "5.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "55f4261989e546dc112258c7a75935a81a7ce382"
+ "reference": "72f01e6586e0caf6af81297897bd112eb7e9627c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55f4261989e546dc112258c7a75935a81a7ce382",
- "reference": "55f4261989e546dc112258c7a75935a81a7ce382",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/72f01e6586e0caf6af81297897bd112eb7e9627c",
+ "reference": "72f01e6586e0caf6af81297897bd112eb7e9627c",
"shasum": ""
},
"require": {
- "php": ">=7.3",
- "sebastian/diff": "^4.0",
- "sebastian/exporter": "^4.0"
+ "ext-dom": "*",
+ "ext-mbstring": "*",
+ "php": ">=8.1",
+ "sebastian/diff": "^5.0",
+ "sebastian/exporter": "^5.0"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^10.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev"
+ "dev-main": "5.0-dev"
}
},
"autoload": {
@@ -2769,7 +3388,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/comparator/issues",
- "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.6"
+ "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.0"
},
"funding": [
{
@@ -2777,33 +3396,33 @@
"type": "github"
}
],
- "time": "2020-10-26T15:49:45+00:00"
+ "time": "2023-02-03T07:07:16+00:00"
},
{
"name": "sebastian/complexity",
- "version": "2.0.2",
+ "version": "3.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/complexity.git",
- "reference": "739b35e53379900cc9ac327b2147867b8b6efd88"
+ "reference": "e67d240970c9dc7ea7b2123a6d520e334dd61dc6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88",
- "reference": "739b35e53379900cc9ac327b2147867b8b6efd88",
+ "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/e67d240970c9dc7ea7b2123a6d520e334dd61dc6",
+ "reference": "e67d240970c9dc7ea7b2123a6d520e334dd61dc6",
"shasum": ""
},
"require": {
- "nikic/php-parser": "^4.7",
- "php": ">=7.3"
+ "nikic/php-parser": "^4.10",
+ "php": ">=8.1"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^10.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0-dev"
+ "dev-main": "3.0-dev"
}
},
"autoload": {
@@ -2826,7 +3445,7 @@
"homepage": "https://github.com/sebastianbergmann/complexity",
"support": {
"issues": "https://github.com/sebastianbergmann/complexity/issues",
- "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2"
+ "source": "https://github.com/sebastianbergmann/complexity/tree/3.0.0"
},
"funding": [
{
@@ -2834,33 +3453,33 @@
"type": "github"
}
],
- "time": "2020-10-26T15:52:27+00:00"
+ "time": "2023-02-03T06:59:47+00:00"
},
{
"name": "sebastian/diff",
- "version": "4.0.4",
+ "version": "5.0.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d"
+ "reference": "912dc2fbe3e3c1e7873313cc801b100b6c68c87b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d",
- "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/912dc2fbe3e3c1e7873313cc801b100b6c68c87b",
+ "reference": "912dc2fbe3e3c1e7873313cc801b100b6c68c87b",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.1"
},
"require-dev": {
- "phpunit/phpunit": "^9.3",
+ "phpunit/phpunit": "^10.0",
"symfony/process": "^4.2 || ^5"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev"
+ "dev-main": "5.0-dev"
}
},
"autoload": {
@@ -2892,7 +3511,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/diff/issues",
- "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4"
+ "security": "https://github.com/sebastianbergmann/diff/security/policy",
+ "source": "https://github.com/sebastianbergmann/diff/tree/5.0.3"
},
"funding": [
{
@@ -2900,27 +3520,27 @@
"type": "github"
}
],
- "time": "2020-10-26T13:10:38+00:00"
+ "time": "2023-05-01T07:48:21+00:00"
},
{
"name": "sebastian/environment",
- "version": "5.1.4",
+ "version": "6.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
- "reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7"
+ "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/1b5dff7bb151a4db11d49d90e5408e4e938270f7",
- "reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/43c751b41d74f96cbbd4e07b7aec9675651e2951",
+ "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.1"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^10.0"
},
"suggest": {
"ext-posix": "*"
@@ -2928,7 +3548,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "5.1-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -2947,7 +3567,7 @@
}
],
"description": "Provides functionality to handle HHVM/PHP environments",
- "homepage": "http://www.github.com/sebastianbergmann/environment",
+ "homepage": "https://github.com/sebastianbergmann/environment",
"keywords": [
"Xdebug",
"environment",
@@ -2955,7 +3575,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/environment/issues",
- "source": "https://github.com/sebastianbergmann/environment/tree/5.1.4"
+ "security": "https://github.com/sebastianbergmann/environment/security/policy",
+ "source": "https://github.com/sebastianbergmann/environment/tree/6.0.1"
},
"funding": [
{
@@ -2963,34 +3584,34 @@
"type": "github"
}
],
- "time": "2022-04-03T09:37:03+00:00"
+ "time": "2023-04-11T05:39:26+00:00"
},
{
"name": "sebastian/exporter",
- "version": "4.0.4",
+ "version": "5.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9"
+ "reference": "f3ec4bf931c0b31e5b413f5b4fc970a7d03338c0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/65e8b7db476c5dd267e65eea9cab77584d3cfff9",
- "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/f3ec4bf931c0b31e5b413f5b4fc970a7d03338c0",
+ "reference": "f3ec4bf931c0b31e5b413f5b4fc970a7d03338c0",
"shasum": ""
},
"require": {
- "php": ">=7.3",
- "sebastian/recursion-context": "^4.0"
+ "ext-mbstring": "*",
+ "php": ">=8.1",
+ "sebastian/recursion-context": "^5.0"
},
"require-dev": {
- "ext-mbstring": "*",
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^10.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev"
+ "dev-main": "5.0-dev"
}
},
"autoload": {
@@ -3032,7 +3653,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/exporter/issues",
- "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.4"
+ "source": "https://github.com/sebastianbergmann/exporter/tree/5.0.0"
},
"funding": [
{
@@ -3040,38 +3661,35 @@
"type": "github"
}
],
- "time": "2021-11-11T14:18:36+00:00"
+ "time": "2023-02-03T07:06:49+00:00"
},
{
"name": "sebastian/global-state",
- "version": "5.0.5",
+ "version": "6.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2"
+ "reference": "aab257c712de87b90194febd52e4d184551c2d44"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2",
- "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/aab257c712de87b90194febd52e4d184551c2d44",
+ "reference": "aab257c712de87b90194febd52e4d184551c2d44",
"shasum": ""
},
"require": {
- "php": ">=7.3",
- "sebastian/object-reflector": "^2.0",
- "sebastian/recursion-context": "^4.0"
+ "php": ">=8.1",
+ "sebastian/object-reflector": "^3.0",
+ "sebastian/recursion-context": "^5.0"
},
"require-dev": {
"ext-dom": "*",
- "phpunit/phpunit": "^9.3"
- },
- "suggest": {
- "ext-uopz": "*"
+ "phpunit/phpunit": "^10.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "5.0-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -3096,7 +3714,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/global-state/issues",
- "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.5"
+ "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.0"
},
"funding": [
{
@@ -3104,33 +3722,33 @@
"type": "github"
}
],
- "time": "2022-02-14T08:28:10+00:00"
+ "time": "2023-02-03T07:07:38+00:00"
},
{
"name": "sebastian/lines-of-code",
- "version": "1.0.3",
+ "version": "2.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/lines-of-code.git",
- "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc"
+ "reference": "17c4d940ecafb3d15d2cf916f4108f664e28b130"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc",
- "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc",
+ "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/17c4d940ecafb3d15d2cf916f4108f664e28b130",
+ "reference": "17c4d940ecafb3d15d2cf916f4108f664e28b130",
"shasum": ""
},
"require": {
- "nikic/php-parser": "^4.6",
- "php": ">=7.3"
+ "nikic/php-parser": "^4.10",
+ "php": ">=8.1"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^10.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0-dev"
+ "dev-main": "2.0-dev"
}
},
"autoload": {
@@ -3153,7 +3771,7 @@
"homepage": "https://github.com/sebastianbergmann/lines-of-code",
"support": {
"issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
- "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3"
+ "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.0"
},
"funding": [
{
@@ -3161,34 +3779,34 @@
"type": "github"
}
],
- "time": "2020-11-28T06:42:11+00:00"
+ "time": "2023-02-03T07:08:02+00:00"
},
{
"name": "sebastian/object-enumerator",
- "version": "4.0.4",
+ "version": "5.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-enumerator.git",
- "reference": "5c9eeac41b290a3712d88851518825ad78f45c71"
+ "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71",
- "reference": "5c9eeac41b290a3712d88851518825ad78f45c71",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/202d0e344a580d7f7d04b3fafce6933e59dae906",
+ "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906",
"shasum": ""
},
"require": {
- "php": ">=7.3",
- "sebastian/object-reflector": "^2.0",
- "sebastian/recursion-context": "^4.0"
+ "php": ">=8.1",
+ "sebastian/object-reflector": "^3.0",
+ "sebastian/recursion-context": "^5.0"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^10.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev"
+ "dev-main": "5.0-dev"
}
},
"autoload": {
@@ -3210,7 +3828,7 @@
"homepage": "https://github.com/sebastianbergmann/object-enumerator/",
"support": {
"issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
- "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4"
+ "source": "https://github.com/sebastianbergmann/object-enumerator/tree/5.0.0"
},
"funding": [
{
@@ -3218,32 +3836,32 @@
"type": "github"
}
],
- "time": "2020-10-26T13:12:34+00:00"
+ "time": "2023-02-03T07:08:32+00:00"
},
{
"name": "sebastian/object-reflector",
- "version": "2.0.4",
+ "version": "3.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-reflector.git",
- "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7"
+ "reference": "24ed13d98130f0e7122df55d06c5c4942a577957"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
- "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/24ed13d98130f0e7122df55d06c5c4942a577957",
+ "reference": "24ed13d98130f0e7122df55d06c5c4942a577957",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.1"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^10.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0-dev"
+ "dev-main": "3.0-dev"
}
},
"autoload": {
@@ -3265,7 +3883,7 @@
"homepage": "https://github.com/sebastianbergmann/object-reflector/",
"support": {
"issues": "https://github.com/sebastianbergmann/object-reflector/issues",
- "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4"
+ "source": "https://github.com/sebastianbergmann/object-reflector/tree/3.0.0"
},
"funding": [
{
@@ -3273,32 +3891,32 @@
"type": "github"
}
],
- "time": "2020-10-26T13:14:26+00:00"
+ "time": "2023-02-03T07:06:18+00:00"
},
{
"name": "sebastian/recursion-context",
- "version": "4.0.4",
+ "version": "5.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git",
- "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172"
+ "reference": "05909fb5bc7df4c52992396d0116aed689f93712"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172",
- "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172",
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/05909fb5bc7df4c52992396d0116aed689f93712",
+ "reference": "05909fb5bc7df4c52992396d0116aed689f93712",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.1"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^10.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev"
+ "dev-main": "5.0-dev"
}
},
"autoload": {
@@ -3325,65 +3943,10 @@
}
],
"description": "Provides functionality to recursively process PHP variables",
- "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
+ "homepage": "https://github.com/sebastianbergmann/recursion-context",
"support": {
"issues": "https://github.com/sebastianbergmann/recursion-context/issues",
- "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.4"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2020-10-26T13:17:30+00:00"
- },
- {
- "name": "sebastian/resource-operations",
- "version": "3.0.3",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/resource-operations.git",
- "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
- "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Provides a list of PHP built-in functions that operate on resources",
- "homepage": "https://www.github.com/sebastianbergmann/resource-operations",
- "support": {
- "issues": "https://github.com/sebastianbergmann/resource-operations/issues",
- "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3"
+ "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.0"
},
"funding": [
{
@@ -3391,32 +3954,32 @@
"type": "github"
}
],
- "time": "2020-09-28T06:45:17+00:00"
+ "time": "2023-02-03T07:05:40+00:00"
},
{
"name": "sebastian/type",
- "version": "3.0.0",
+ "version": "4.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/type.git",
- "reference": "b233b84bc4465aff7b57cf1c4bc75c86d00d6dad"
+ "reference": "462699a16464c3944eefc02ebdd77882bd3925bf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/b233b84bc4465aff7b57cf1c4bc75c86d00d6dad",
- "reference": "b233b84bc4465aff7b57cf1c4bc75c86d00d6dad",
+ "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/462699a16464c3944eefc02ebdd77882bd3925bf",
+ "reference": "462699a16464c3944eefc02ebdd77882bd3925bf",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.1"
},
"require-dev": {
- "phpunit/phpunit": "^9.5"
+ "phpunit/phpunit": "^10.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.0-dev"
+ "dev-main": "4.0-dev"
}
},
"autoload": {
@@ -3439,7 +4002,7 @@
"homepage": "https://github.com/sebastianbergmann/type",
"support": {
"issues": "https://github.com/sebastianbergmann/type/issues",
- "source": "https://github.com/sebastianbergmann/type/tree/3.0.0"
+ "source": "https://github.com/sebastianbergmann/type/tree/4.0.0"
},
"funding": [
{
@@ -3447,29 +4010,29 @@
"type": "github"
}
],
- "time": "2022-03-15T09:54:48+00:00"
+ "time": "2023-02-03T07:10:45+00:00"
},
{
"name": "sebastian/version",
- "version": "3.0.2",
+ "version": "4.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/version.git",
- "reference": "c6c1022351a901512170118436c764e473f6de8c"
+ "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c",
- "reference": "c6c1022351a901512170118436c764e473f6de8c",
+ "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c51fa83a5d8f43f1402e3f32a005e6262244ef17",
+ "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.1"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.0-dev"
+ "dev-main": "4.0-dev"
}
},
"autoload": {
@@ -3492,7 +4055,7 @@
"homepage": "https://github.com/sebastianbergmann/version",
"support": {
"issues": "https://github.com/sebastianbergmann/version/issues",
- "source": "https://github.com/sebastianbergmann/version/tree/3.0.2"
+ "source": "https://github.com/sebastianbergmann/version/tree/4.0.1"
},
"funding": [
{
@@ -3500,7 +4063,7 @@
"type": "github"
}
],
- "time": "2020-09-28T06:39:44+00:00"
+ "time": "2023-02-07T11:34:05+00:00"
},
{
"name": "slevomat/coding-standard",
@@ -3563,18 +4126,81 @@
],
"time": "2022-05-25T10:58:12+00:00"
},
+ {
+ "name": "spatie/array-to-xml",
+ "version": "3.1.6",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/spatie/array-to-xml.git",
+ "reference": "e210b98957987c755372465be105d32113f339a4"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/spatie/array-to-xml/zipball/e210b98957987c755372465be105d32113f339a4",
+ "reference": "e210b98957987c755372465be105d32113f339a4",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "php": "^8.0"
+ },
+ "require-dev": {
+ "mockery/mockery": "^1.2",
+ "pestphp/pest": "^1.21",
+ "spatie/pest-plugin-snapshots": "^1.1"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Spatie\\ArrayToXml\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Freek Van der Herten",
+ "email": "freek@spatie.be",
+ "homepage": "https://freek.dev",
+ "role": "Developer"
+ }
+ ],
+ "description": "Convert an array to xml",
+ "homepage": "https://github.com/spatie/array-to-xml",
+ "keywords": [
+ "array",
+ "convert",
+ "xml"
+ ],
+ "support": {
+ "source": "https://github.com/spatie/array-to-xml/tree/3.1.6"
+ },
+ "funding": [
+ {
+ "url": "https://spatie.be/open-source/support-us",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/spatie",
+ "type": "github"
+ }
+ ],
+ "time": "2023-05-11T14:04:07+00:00"
+ },
{
"name": "squizlabs/php_codesniffer",
- "version": "3.7.1",
+ "version": "3.7.2",
"source": {
"type": "git",
"url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
- "reference": "1359e176e9307e906dc3d890bcc9603ff6d90619"
+ "reference": "ed8e00df0a83aa96acf703f8c2979ff33341f879"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/1359e176e9307e906dc3d890bcc9603ff6d90619",
- "reference": "1359e176e9307e906dc3d890bcc9603ff6d90619",
+ "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/ed8e00df0a83aa96acf703f8c2979ff33341f879",
+ "reference": "ed8e00df0a83aa96acf703f8c2979ff33341f879",
"shasum": ""
},
"require": {
@@ -3610,63 +4236,55 @@
"homepage": "https://github.com/squizlabs/PHP_CodeSniffer",
"keywords": [
"phpcs",
- "standards"
+ "standards",
+ "static analysis"
],
"support": {
"issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues",
"source": "https://github.com/squizlabs/PHP_CodeSniffer",
"wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki"
},
- "time": "2022-06-18T07:21:10+00:00"
+ "time": "2023-02-22T23:07:41+00:00"
},
{
"name": "symfony/console",
- "version": "v5.4.11",
+ "version": "v6.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "535846c7ee6bc4dd027ca0d93220601456734b10"
+ "reference": "8788808b07cf0bdd6e4b7fdd23d8ddb1470c83b7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/535846c7ee6bc4dd027ca0d93220601456734b10",
- "reference": "535846c7ee6bc4dd027ca0d93220601456734b10",
+ "url": "https://api.github.com/repos/symfony/console/zipball/8788808b07cf0bdd6e4b7fdd23d8ddb1470c83b7",
+ "reference": "8788808b07cf0bdd6e4b7fdd23d8ddb1470c83b7",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
+ "php": ">=8.1",
+ "symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php73": "^1.9",
- "symfony/polyfill-php80": "^1.16",
- "symfony/service-contracts": "^1.1|^2|^3",
- "symfony/string": "^5.1|^6.0"
+ "symfony/service-contracts": "^2.5|^3",
+ "symfony/string": "^5.4|^6.0"
},
"conflict": {
- "psr/log": ">=3",
- "symfony/dependency-injection": "<4.4",
- "symfony/dotenv": "<5.1",
- "symfony/event-dispatcher": "<4.4",
- "symfony/lock": "<4.4",
- "symfony/process": "<4.4"
+ "symfony/dependency-injection": "<5.4",
+ "symfony/dotenv": "<5.4",
+ "symfony/event-dispatcher": "<5.4",
+ "symfony/lock": "<5.4",
+ "symfony/process": "<5.4"
},
"provide": {
- "psr/log-implementation": "1.0|2.0"
+ "psr/log-implementation": "1.0|2.0|3.0"
},
"require-dev": {
- "psr/log": "^1|^2",
- "symfony/config": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/event-dispatcher": "^4.4|^5.0|^6.0",
- "symfony/lock": "^4.4|^5.0|^6.0",
- "symfony/process": "^4.4|^5.0|^6.0",
- "symfony/var-dumper": "^4.4|^5.0|^6.0"
- },
- "suggest": {
- "psr/log": "For using the console logger",
- "symfony/event-dispatcher": "",
- "symfony/lock": "",
- "symfony/process": ""
+ "psr/log": "^1|^2|^3",
+ "symfony/config": "^5.4|^6.0",
+ "symfony/dependency-injection": "^5.4|^6.0",
+ "symfony/event-dispatcher": "^5.4|^6.0",
+ "symfony/lock": "^5.4|^6.0",
+ "symfony/process": "^5.4|^6.0",
+ "symfony/var-dumper": "^5.4|^6.0"
},
"type": "library",
"autoload": {
@@ -3683,91 +4301,24 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Eases the creation of beautiful and testable command line interfaces",
- "homepage": "https://symfony.com",
- "keywords": [
- "cli",
- "command line",
- "console",
- "terminal"
- ],
- "support": {
- "source": "https://github.com/symfony/console/tree/v5.4.11"
- },
- "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": "2022-07-22T10:42:43+00:00"
- },
- {
- "name": "symfony/deprecation-contracts",
- "version": "v2.5.2",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/deprecation-contracts.git",
- "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66",
- "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "2.5-dev"
- },
- "thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
- }
- },
- "autoload": {
- "files": [
- "function.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "A generic function and convention to trigger deprecation notices",
+ "description": "Eases the creation of beautiful and testable command line interfaces",
"homepage": "https://symfony.com",
+ "keywords": [
+ "cli",
+ "command-line",
+ "console",
+ "terminal"
+ ],
"support": {
- "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.2"
+ "source": "https://github.com/symfony/console/tree/v6.3.0"
},
"funding": [
{
@@ -3783,48 +4334,39 @@
"type": "tidelift"
}
],
- "time": "2022-01-02T09:53:40+00:00"
+ "time": "2023-05-29T12:49:39+00:00"
},
{
- "name": "symfony/polyfill-ctype",
- "version": "v1.26.0",
+ "name": "symfony/deprecation-contracts",
+ "version": "v3.3.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4"
+ "url": "https://github.com/symfony/deprecation-contracts.git",
+ "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4",
- "reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4",
+ "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf",
+ "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf",
"shasum": ""
},
"require": {
- "php": ">=7.1"
- },
- "provide": {
- "ext-ctype": "*"
- },
- "suggest": {
- "ext-ctype": "For best performance"
+ "php": ">=8.1"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.26-dev"
+ "dev-main": "3.4-dev"
},
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "name": "symfony/contracts",
+ "url": "https://github.com/symfony/contracts"
}
},
"autoload": {
"files": [
- "bootstrap.php"
- ],
- "psr-4": {
- "Symfony\\Polyfill\\Ctype\\": ""
- }
+ "function.php"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -3832,24 +4374,18 @@
],
"authors": [
{
- "name": "Gert de Pagter",
- "email": "BackEndTea@gmail.com"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill for ctype functions",
+ "description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "ctype",
- "polyfill",
- "portable"
- ],
"support": {
- "source": "https://github.com/symfony/polyfill-ctype/tree/v1.26.0"
+ "source": "https://github.com/symfony/deprecation-contracts/tree/v3.3.0"
},
"funding": [
{
@@ -3865,45 +4401,35 @@
"type": "tidelift"
}
],
- "time": "2022-05-24T11:49:31+00:00"
+ "time": "2023-05-23T14:45:45+00:00"
},
{
- "name": "symfony/polyfill-intl-grapheme",
- "version": "v1.26.0",
+ "name": "symfony/filesystem",
+ "version": "v6.3.1",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-intl-grapheme.git",
- "reference": "433d05519ce6990bf3530fba6957499d327395c2"
+ "url": "https://github.com/symfony/filesystem.git",
+ "reference": "edd36776956f2a6fcf577edb5b05eb0e3bdc52ae"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/433d05519ce6990bf3530fba6957499d327395c2",
- "reference": "433d05519ce6990bf3530fba6957499d327395c2",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/edd36776956f2a6fcf577edb5b05eb0e3bdc52ae",
+ "reference": "edd36776956f2a6fcf577edb5b05eb0e3bdc52ae",
"shasum": ""
},
"require": {
- "php": ">=7.1"
- },
- "suggest": {
- "ext-intl": "For best performance"
+ "php": ">=8.1",
+ "symfony/polyfill-ctype": "~1.8",
+ "symfony/polyfill-mbstring": "~1.8"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "1.26-dev"
- },
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
"autoload": {
- "files": [
- "bootstrap.php"
- ],
"psr-4": {
- "Symfony\\Polyfill\\Intl\\Grapheme\\": ""
- }
+ "Symfony\\Component\\Filesystem\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -3911,26 +4437,18 @@
],
"authors": [
{
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill for intl's grapheme_* functions",
+ "description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "grapheme",
- "intl",
- "polyfill",
- "portable",
- "shim"
- ],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.26.0"
+ "source": "https://github.com/symfony/filesystem/tree/v6.3.1"
},
"funding": [
{
@@ -3946,32 +4464,35 @@
"type": "tidelift"
}
],
- "time": "2022-05-24T11:49:31+00:00"
+ "time": "2023-06-01T08:30:39+00:00"
},
{
- "name": "symfony/polyfill-intl-normalizer",
- "version": "v1.26.0",
+ "name": "symfony/polyfill-ctype",
+ "version": "v1.27.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-intl-normalizer.git",
- "reference": "219aa369ceff116e673852dce47c3a41794c14bd"
+ "url": "https://github.com/symfony/polyfill-ctype.git",
+ "reference": "5bbc823adecdae860bb64756d639ecfec17b050a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/219aa369ceff116e673852dce47c3a41794c14bd",
- "reference": "219aa369ceff116e673852dce47c3a41794c14bd",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a",
+ "reference": "5bbc823adecdae860bb64756d639ecfec17b050a",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
+ "provide": {
+ "ext-ctype": "*"
+ },
"suggest": {
- "ext-intl": "For best performance"
+ "ext-ctype": "For best performance"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.26-dev"
+ "dev-main": "1.27-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -3983,11 +4504,8 @@
"bootstrap.php"
],
"psr-4": {
- "Symfony\\Polyfill\\Intl\\Normalizer\\": ""
- },
- "classmap": [
- "Resources/stubs"
- ]
+ "Symfony\\Polyfill\\Ctype\\": ""
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -3995,26 +4513,24 @@
],
"authors": [
{
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
+ "name": "Gert de Pagter",
+ "email": "BackEndTea@gmail.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill for intl's Normalizer class and related functions",
+ "description": "Symfony polyfill for ctype functions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
- "intl",
- "normalizer",
+ "ctype",
"polyfill",
- "portable",
- "shim"
+ "portable"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.26.0"
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0"
},
"funding": [
{
@@ -4030,35 +4546,32 @@
"type": "tidelift"
}
],
- "time": "2022-05-24T11:49:31+00:00"
+ "time": "2022-11-03T14:55:06+00:00"
},
{
- "name": "symfony/polyfill-mbstring",
- "version": "v1.26.0",
+ "name": "symfony/polyfill-intl-grapheme",
+ "version": "v1.27.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e"
+ "url": "https://github.com/symfony/polyfill-intl-grapheme.git",
+ "reference": "511a08c03c1960e08a883f4cffcacd219b758354"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e",
- "reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354",
+ "reference": "511a08c03c1960e08a883f4cffcacd219b758354",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
- "provide": {
- "ext-mbstring": "*"
- },
"suggest": {
- "ext-mbstring": "For best performance"
+ "ext-intl": "For best performance"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.26-dev"
+ "dev-main": "1.27-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -4070,7 +4583,7 @@
"bootstrap.php"
],
"psr-4": {
- "Symfony\\Polyfill\\Mbstring\\": ""
+ "Symfony\\Polyfill\\Intl\\Grapheme\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -4087,17 +4600,18 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill for the Mbstring extension",
+ "description": "Symfony polyfill for intl's grapheme_* functions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
- "mbstring",
+ "grapheme",
+ "intl",
"polyfill",
"portable",
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.26.0"
+ "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.27.0"
},
"funding": [
{
@@ -4113,29 +4627,32 @@
"type": "tidelift"
}
],
- "time": "2022-05-24T11:49:31+00:00"
+ "time": "2022-11-03T14:55:06+00:00"
},
{
- "name": "symfony/polyfill-php73",
- "version": "v1.26.0",
+ "name": "symfony/polyfill-intl-normalizer",
+ "version": "v1.27.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-php73.git",
- "reference": "e440d35fa0286f77fb45b79a03fedbeda9307e85"
+ "url": "https://github.com/symfony/polyfill-intl-normalizer.git",
+ "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/e440d35fa0286f77fb45b79a03fedbeda9307e85",
- "reference": "e440d35fa0286f77fb45b79a03fedbeda9307e85",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6",
+ "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
+ "suggest": {
+ "ext-intl": "For best performance"
+ },
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.26-dev"
+ "dev-main": "1.27-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -4147,7 +4664,7 @@
"bootstrap.php"
],
"psr-4": {
- "Symfony\\Polyfill\\Php73\\": ""
+ "Symfony\\Polyfill\\Intl\\Normalizer\\": ""
},
"classmap": [
"Resources/stubs"
@@ -4167,16 +4684,18 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions",
+ "description": "Symfony polyfill for intl's Normalizer class and related functions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
+ "intl",
+ "normalizer",
"polyfill",
"portable",
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php73/tree/v1.26.0"
+ "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.27.0"
},
"funding": [
{
@@ -4192,29 +4711,35 @@
"type": "tidelift"
}
],
- "time": "2022-05-24T11:49:31+00:00"
+ "time": "2022-11-03T14:55:06+00:00"
},
{
- "name": "symfony/polyfill-php80",
- "version": "v1.26.0",
+ "name": "symfony/polyfill-mbstring",
+ "version": "v1.27.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-php80.git",
- "reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace"
+ "url": "https://github.com/symfony/polyfill-mbstring.git",
+ "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/cfa0ae98841b9e461207c13ab093d76b0fa7bace",
- "reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534",
+ "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
+ "provide": {
+ "ext-mbstring": "*"
+ },
+ "suggest": {
+ "ext-mbstring": "For best performance"
+ },
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.26-dev"
+ "dev-main": "1.27-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -4226,21 +4751,14 @@
"bootstrap.php"
],
"psr-4": {
- "Symfony\\Polyfill\\Php80\\": ""
- },
- "classmap": [
- "Resources/stubs"
- ]
+ "Symfony\\Polyfill\\Mbstring\\": ""
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
- {
- "name": "Ion Bazan",
- "email": "ion.bazan@gmail.com"
- },
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
@@ -4250,16 +4768,17 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
+ "description": "Symfony polyfill for the Mbstring extension",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
+ "mbstring",
"polyfill",
"portable",
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php80/tree/v1.26.0"
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0"
},
"funding": [
{
@@ -4275,7 +4794,7 @@
"type": "tidelift"
}
],
- "time": "2022-05-10T07:21:04+00:00"
+ "time": "2022-11-03T14:55:06+00:00"
},
{
"name": "symfony/service-contracts",
@@ -4362,34 +4881,34 @@
},
{
"name": "symfony/string",
- "version": "v5.4.11",
+ "version": "v6.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "5eb661e49ad389e4ae2b6e4df8d783a8a6548322"
+ "reference": "f2e190ee75ff0f5eced645ec0be5c66fac81f51f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/5eb661e49ad389e4ae2b6e4df8d783a8a6548322",
- "reference": "5eb661e49ad389e4ae2b6e4df8d783a8a6548322",
+ "url": "https://api.github.com/repos/symfony/string/zipball/f2e190ee75ff0f5eced645ec0be5c66fac81f51f",
+ "reference": "f2e190ee75ff0f5eced645ec0be5c66fac81f51f",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
+ "php": ">=8.1",
"symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-intl-grapheme": "~1.0",
"symfony/polyfill-intl-normalizer": "~1.0",
- "symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php80": "~1.15"
+ "symfony/polyfill-mbstring": "~1.0"
},
"conflict": {
- "symfony/translation-contracts": ">=3.0"
+ "symfony/translation-contracts": "<2.5"
},
"require-dev": {
- "symfony/error-handler": "^4.4|^5.0|^6.0",
- "symfony/http-client": "^4.4|^5.0|^6.0",
- "symfony/translation-contracts": "^1.1|^2",
- "symfony/var-exporter": "^4.4|^5.0|^6.0"
+ "symfony/error-handler": "^5.4|^6.0",
+ "symfony/http-client": "^5.4|^6.0",
+ "symfony/intl": "^6.2",
+ "symfony/translation-contracts": "^2.5|^3.0",
+ "symfony/var-exporter": "^5.4|^6.0"
},
"type": "library",
"autoload": {
@@ -4428,7 +4947,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v5.4.11"
+ "source": "https://github.com/symfony/string/tree/v6.3.0"
},
"funding": [
{
@@ -4444,7 +4963,7 @@
"type": "tidelift"
}
],
- "time": "2022-07-24T16:15:25+00:00"
+ "time": "2023-03-21T21:06:29+00:00"
},
{
"name": "theseer/tokenizer",
@@ -4498,24 +5017,24 @@
},
{
"name": "vimeo/psalm",
- "version": "v4.25.0",
+ "version": "5.13.1",
"source": {
"type": "git",
"url": "https://github.com/vimeo/psalm.git",
- "reference": "d7cd84c4ebca74ba3419b9601f81d177bcbe2aac"
+ "reference": "086b94371304750d1c673315321a55d15fc59015"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/vimeo/psalm/zipball/d7cd84c4ebca74ba3419b9601f81d177bcbe2aac",
- "reference": "d7cd84c4ebca74ba3419b9601f81d177bcbe2aac",
+ "url": "https://api.github.com/repos/vimeo/psalm/zipball/086b94371304750d1c673315321a55d15fc59015",
+ "reference": "086b94371304750d1c673315321a55d15fc59015",
"shasum": ""
},
"require": {
"amphp/amp": "^2.4.2",
"amphp/byte-stream": "^1.5",
- "composer/package-versions-deprecated": "^1.8.0",
+ "composer-runtime-api": "^2",
"composer/semver": "^1.4 || ^2.0 || ^3.0",
- "composer/xdebug-handler": "^1.1 || ^2.0 || ^3.0",
+ "composer/xdebug-handler": "^2.0 || ^3.0",
"dnoegel/php-xdg-base-dir": "^0.1.1",
"ext-ctype": "*",
"ext-dom": "*",
@@ -4524,34 +5043,35 @@
"ext-mbstring": "*",
"ext-simplexml": "*",
"ext-tokenizer": "*",
- "felixfbecker/advanced-json-rpc": "^3.0.3",
- "felixfbecker/language-server-protocol": "^1.5",
+ "felixfbecker/advanced-json-rpc": "^3.1",
+ "felixfbecker/language-server-protocol": "^1.5.2",
+ "fidry/cpu-core-counter": "^0.4.1 || ^0.5.1",
"netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0",
- "nikic/php-parser": "^4.13",
- "openlss/lib-array2xml": "^1.0",
- "php": "^7.1|^8",
- "sebastian/diff": "^3.0 || ^4.0",
- "symfony/console": "^3.4.17 || ^4.1.6 || ^5.0 || ^6.0",
- "symfony/polyfill-php80": "^1.25",
- "webmozart/path-util": "^2.3"
+ "nikic/php-parser": "^4.14",
+ "php": "^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0",
+ "sebastian/diff": "^4.0 || ^5.0",
+ "spatie/array-to-xml": "^2.17.0 || ^3.0",
+ "symfony/console": "^4.1.6 || ^5.0 || ^6.0",
+ "symfony/filesystem": "^5.4 || ^6.0"
},
"provide": {
"psalm/psalm": "self.version"
},
"require-dev": {
- "bamarni/composer-bin-plugin": "^1.2",
- "brianium/paratest": "^4.0||^6.0",
+ "amphp/phpunit-util": "^2.0",
+ "bamarni/composer-bin-plugin": "^1.4",
+ "brianium/paratest": "^6.9",
"ext-curl": "*",
+ "mockery/mockery": "^1.5",
+ "nunomaduro/mock-final-classes": "^1.1",
"php-parallel-lint/php-parallel-lint": "^1.2",
- "phpdocumentor/reflection-docblock": "^5",
- "phpmyadmin/sql-parser": "5.1.0||dev-master",
- "phpspec/prophecy": ">=1.9.0",
- "phpunit/phpunit": "^9.0",
- "psalm/plugin-phpunit": "^0.16",
- "slevomat/coding-standard": "^7.0",
- "squizlabs/php_codesniffer": "^3.5",
- "symfony/process": "^4.3 || ^5.0 || ^6.0",
- "weirdan/prophecy-shim": "^1.0 || ^2.0"
+ "phpstan/phpdoc-parser": "^1.6",
+ "phpunit/phpunit": "^9.6",
+ "psalm/plugin-mockery": "^1.1",
+ "psalm/plugin-phpunit": "^0.18",
+ "slevomat/coding-standard": "^8.4",
+ "squizlabs/php_codesniffer": "^3.6",
+ "symfony/process": "^4.4 || ^5.0 || ^6.0"
},
"suggest": {
"ext-curl": "In order to send data to shepherd",
@@ -4567,17 +5087,14 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.x-dev",
+ "dev-master": "5.x-dev",
+ "dev-4.x": "4.x-dev",
"dev-3.x": "3.x-dev",
"dev-2.x": "2.x-dev",
"dev-1.x": "1.x-dev"
}
},
"autoload": {
- "files": [
- "src/functions.php",
- "src/spl_object_id.php"
- ],
"psr-4": {
"Psalm\\": "src/Psalm/"
}
@@ -4595,34 +5112,35 @@
"keywords": [
"code",
"inspection",
- "php"
+ "php",
+ "static analysis"
],
"support": {
"issues": "https://github.com/vimeo/psalm/issues",
- "source": "https://github.com/vimeo/psalm/tree/v4.25.0"
+ "source": "https://github.com/vimeo/psalm/tree/5.13.1"
},
- "time": "2022-07-25T17:04:37+00:00"
+ "time": "2023-06-27T16:39:49+00:00"
},
{
"name": "webimpress/coding-standard",
- "version": "1.2.4",
+ "version": "1.3.1",
"source": {
"type": "git",
"url": "https://github.com/webimpress/coding-standard.git",
- "reference": "cd0c4b0b97440c337c1f7da17b524674ca2f9ca9"
+ "reference": "b26557e2386711ecb74f22718f4b4bde5ddbc899"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/webimpress/coding-standard/zipball/cd0c4b0b97440c337c1f7da17b524674ca2f9ca9",
- "reference": "cd0c4b0b97440c337c1f7da17b524674ca2f9ca9",
+ "url": "https://api.github.com/repos/webimpress/coding-standard/zipball/b26557e2386711ecb74f22718f4b4bde5ddbc899",
+ "reference": "b26557e2386711ecb74f22718f4b4bde5ddbc899",
"shasum": ""
},
"require": {
"php": "^7.3 || ^8.0",
- "squizlabs/php_codesniffer": "^3.6.2"
+ "squizlabs/php_codesniffer": "^3.7.2"
},
"require-dev": {
- "phpunit/phpunit": "^9.5.13"
+ "phpunit/phpunit": "^9.6.4"
},
"type": "phpcodesniffer-standard",
"extra": {
@@ -4648,7 +5166,7 @@
],
"support": {
"issues": "https://github.com/webimpress/coding-standard/issues",
- "source": "https://github.com/webimpress/coding-standard/tree/1.2.4"
+ "source": "https://github.com/webimpress/coding-standard/tree/1.3.1"
},
"funding": [
{
@@ -4656,65 +5174,7 @@
"type": "github"
}
],
- "time": "2022-02-15T19:52:12+00:00"
- },
- {
- "name": "webmozart/assert",
- "version": "1.11.0",
- "source": {
- "type": "git",
- "url": "https://github.com/webmozarts/assert.git",
- "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991",
- "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991",
- "shasum": ""
- },
- "require": {
- "ext-ctype": "*",
- "php": "^7.2 || ^8.0"
- },
- "conflict": {
- "phpstan/phpstan": "<0.12.20",
- "vimeo/psalm": "<4.6.1 || 4.6.2"
- },
- "require-dev": {
- "phpunit/phpunit": "^8.5.13"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.10-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Webmozart\\Assert\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Bernhard Schussek",
- "email": "bschussek@gmail.com"
- }
- ],
- "description": "Assertions to validate method input/output with nice error messages.",
- "keywords": [
- "assert",
- "check",
- "validate"
- ],
- "support": {
- "issues": "https://github.com/webmozarts/assert/issues",
- "source": "https://github.com/webmozarts/assert/tree/1.11.0"
- },
- "time": "2022-06-03T18:03:27+00:00"
+ "time": "2023-03-09T15:05:18+00:00"
},
{
"name": "webmozart/glob",
@@ -4764,57 +5224,6 @@
"source": "https://github.com/webmozarts/glob/tree/4.6.0"
},
"time": "2022-05-24T19:45:58+00:00"
- },
- {
- "name": "webmozart/path-util",
- "version": "2.3.0",
- "source": {
- "type": "git",
- "url": "https://github.com/webmozart/path-util.git",
- "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/webmozart/path-util/zipball/d939f7edc24c9a1bb9c0dee5cb05d8e859490725",
- "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3",
- "webmozart/assert": "~1.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^4.6",
- "sebastian/version": "^1.0.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.3-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Webmozart\\PathUtil\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Bernhard Schussek",
- "email": "bschussek@gmail.com"
- }
- ],
- "description": "A robust cross-platform utility for normalizing, comparing and modifying file paths.",
- "support": {
- "issues": "https://github.com/webmozart/path-util/issues",
- "source": "https://github.com/webmozart/path-util/tree/2.3.0"
- },
- "abandoned": "symfony/filesystem",
- "time": "2015-12-17T08:42:14+00:00"
}
],
"aliases": [],
@@ -4823,11 +5232,11 @@
"prefer-stable": false,
"prefer-lowest": false,
"platform": {
- "php": "^7.4 || ~8.0.0 || ~8.1.0"
+ "php": "~8.1.0 || ~8.2.0"
},
"platform-dev": [],
"platform-overrides": {
- "php": "7.4"
+ "php": "8.1.99"
},
"plugin-api-version": "2.3.0"
}
diff --git a/phpunit.xml.dist b/phpunit.xml.dist
index b699f37..b548314 100644
--- a/phpunit.xml.dist
+++ b/phpunit.xml.dist
@@ -3,23 +3,30 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
bootstrap="./vendor/autoload.php"
- convertDeprecationsToExceptions="true"
- colors="true">
+ colors="true"
+ cacheDirectory=".phpunit.cache"
+ displayDetailsOnTestsThatTriggerDeprecations="true"
+ displayDetailsOnTestsThatTriggerErrors="true"
+ displayDetailsOnTestsThatTriggerNotices="true"
+ displayDetailsOnTestsThatTriggerWarnings="true"
+ failOnDeprecation="true"
+ failOnNotice="true"
+ failOnWarning="true"
+>
./test/
-
disable
-
-
+
+
+
diff --git a/psalm-baseline.xml b/psalm-baseline.xml
new file mode 100644
index 0000000..d1553ea
--- /dev/null
+++ b/psalm-baseline.xml
@@ -0,0 +1,8 @@
+
+
+
+
+ router]]>
+
+
+
diff --git a/psalm.xml b/psalm.xml
index d0e3638..53428dc 100644
--- a/psalm.xml
+++ b/psalm.xml
@@ -4,6 +4,10 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="https://getpsalm.org/schema/config"
xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd"
+ findUnusedPsalmSuppress="true"
+ findUnusedBaselineEntry="true"
+ findUnusedCode="true"
+ errorBaseline="psalm-baseline.xml"
>
@@ -12,38 +16,18 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/src/Assert.php b/src/Assert.php
new file mode 100644
index 0000000..2a76114
--- /dev/null
+++ b/src/Assert.php
@@ -0,0 +1,23 @@
+ */
+ public function __invoke(): array
+ {
+ return [
+ 'view_helpers' => $this->getViewHelperConfig(),
+ /**
+ * Configuration for Individual View Helpers
+ */
+ 'view_helper_config' => [
+ /**
+ * The server url can be statically configured - this is useful when you want to render views in
+ * processes outside a traditional web server environment.
+ *
+ * The value should be an absolute url, or left blank, in which case, it will be detected at runtime.
+ */
+ 'server_url' => null, // i.e 'https://example.com'
+ ],
+ /**
+ * MVC has historically used the `view_manager` top-level key for a range of configuration options
+ */
+ 'view_manager' => [
+ /**
+ * Configure a doctype for HTML views by selecting one of the available constants in the
+ * {@link ViewHelper\Doctype} helper class.
+ */
+ 'doctype' => null,
+ ],
+ ];
+ }
+
+ /** @return ServiceManagerConfiguration */
+ public function getViewHelperConfig(): array
+ {
+ return [
+ 'factories' => [
+ Helper\ServerUrl::class => Helper\Factory\ServerUrlFactory::class,
+ Helper\Url::class => Helper\Factory\UrlFactory::class,
+ /**
+ * Factories for helpers in Laminas\View
+ */
+ ViewHelper\Doctype::class => Helper\Factory\DoctypeFactory::class,
+ ],
+ 'aliases' => [
+ 'serverUrl' => Helper\ServerUrl::class,
+ 'url' => Helper\Url::class,
+ ],
+ ];
+ }
+}
diff --git a/src/Exception/AssertionFailedException.php b/src/Exception/AssertionFailedException.php
new file mode 100644
index 0000000..13dc9c5
--- /dev/null
+++ b/src/Exception/AssertionFailedException.php
@@ -0,0 +1,11 @@
+has('config')) {
+ return $helper;
+ }
+
+ $config = $container->get('config');
+ assert(is_array($config) || $config instanceof ArrayAccess);
+
+ $options = $config['view_manager'] ?? [];
+ assert(is_array($options));
+
+ /** @var mixed $doctype */
+ $doctype = $options['doctype'] ?? null;
+ if (is_string($doctype)) {
+ $helper->setDoctype($doctype);
+ }
+
+ return $helper;
+ }
+}
diff --git a/src/Helper/Factory/ServerUrlFactory.php b/src/Helper/Factory/ServerUrlFactory.php
new file mode 100644
index 0000000..ee0331f
--- /dev/null
+++ b/src/Helper/Factory/ServerUrlFactory.php
@@ -0,0 +1,69 @@
+fetchConfiguredServerUrl($container) ?? $this->detectServerUrlFromEnvironment($container)
+ );
+ }
+
+ /** @return non-empty-string|null */
+ private function fetchConfiguredServerUrl(ContainerInterface $container): ?string
+ {
+ if (! $container->has('config')) {
+ return null;
+ }
+
+ $config = $container->get('config');
+ assert(is_array($config) || $config instanceof ArrayAccess);
+
+ $helperConfig = $config['view_helper_config'] ?? [];
+ assert(is_array($helperConfig));
+
+ $serverUrl = $helperConfig['server_url'] ?? null;
+ assert(is_string($serverUrl) || $serverUrl === null);
+
+ return $serverUrl === '' ? null : $serverUrl;
+ }
+
+ /** @return non-empty-string */
+ private function detectServerUrlFromEnvironment(ContainerInterface $container): string
+ {
+ /**
+ * laminas-mvc uses laminas-http
+ */
+ $laminasRequest = $container->has(Request::class)
+ ? $container->get(Request::class)
+ : new Request();
+
+ $uri = clone $laminasRequest->getUri();
+ $uri->setFragment(null);
+ $uri->setPath(null);
+ $uri->setQuery(null);
+
+ if (! $uri->getHost() || ! $uri->getScheme()) {
+ throw HostNameDetectionException::withMissingHostOrScheme();
+ }
+
+ $uri = (string) $uri;
+ assert($uri !== '');
+
+ return $uri;
+ }
+}
diff --git a/src/Helper/Factory/UrlFactory.php b/src/Helper/Factory/UrlFactory.php
new file mode 100644
index 0000000..7ec7e62
--- /dev/null
+++ b/src/Helper/Factory/UrlFactory.php
@@ -0,0 +1,39 @@
+get('HttpRouter');
+ Assert::isInstanceOf($router, RouteStackInterface::class);
+
+ /**
+ * The RouteMatch instance must be retrieved from the MVC Event
+ */
+ $mvcApplication = $container->get('Application');
+ assert($mvcApplication instanceof Application);
+ $routeMatch = $mvcApplication->getMvcEvent()->getRouteMatch();
+ Assert::isInstanceOf($routeMatch, RouteMatch::class);
+
+ return new Url(
+ $routeMatch,
+ $router
+ );
+ }
+}
diff --git a/src/Helper/ServerUrl.php b/src/Helper/ServerUrl.php
new file mode 100644
index 0000000..c632285
--- /dev/null
+++ b/src/Helper/ServerUrl.php
@@ -0,0 +1,40 @@
+serverUrl = $serverUrl;
+ }
+
+ /**
+ * Return an absolute URL, optionally prepended to the given path
+ *
+ * @param string|null $path Optional path to be appended to the base server url
+ * @return non-empty-string
+ */
+ public function __invoke(?string $path = null): string
+ {
+ $path = is_string($path) && $path !== ''
+ ? '/' . ltrim($path, '/')
+ : '';
+
+ return $this->serverUrl . $path;
+ }
+}
diff --git a/src/Helper/Url.php b/src/Helper/Url.php
new file mode 100644
index 0000000..73f7560
--- /dev/null
+++ b/src/Helper/Url.php
@@ -0,0 +1,75 @@
+ $params Parameters for the link
+ * @param iterable|bool $options Options for the route, or boolean to skip the 4th argument
+ * @param bool $reuseMatchedParams Whether to reuse matched parameters
+ * @return string Url For the link href attribute
+ * @throws RouteNotMatchedException If RouteMatch didn't contain a matched route name.
+ */
+ public function __invoke(
+ ?string $name = null,
+ iterable $params = [],
+ iterable|bool $options = [],
+ bool $reuseMatchedParams = false
+ ): string {
+ /** @psalm-suppress RedundantCastGivenDocblockType */
+ $name = $name ?? (string) $this->routeMatch->getMatchedRouteName();
+ if ($name === '') {
+ throw RouteNotMatchedException::withEmptyRouteName();
+ }
+
+ if (is_object($params)) {
+ $params = ArrayUtils::iteratorToArray($params);
+ }
+
+ if (is_object($options)) {
+ $options = ArrayUtils::iteratorToArray($options);
+ }
+
+ if (func_num_args() === 3 && is_bool($options)) {
+ $reuseMatchedParams = $options;
+ $options = [];
+ }
+
+ assert(is_array($options));
+
+ if ($reuseMatchedParams) {
+ $params = array_merge($this->routeMatch->getParams(), $params);
+ }
+
+ $options['name'] = $name;
+
+ return (string) $this->router->assemble($params, $options);
+ }
+}
diff --git a/src/Module.php b/src/Module.php
new file mode 100644
index 0000000..de82fe4
--- /dev/null
+++ b/src/Module.php
@@ -0,0 +1,17 @@
+factory = new DoctypeFactory();
+ $this->container = $this->createMock(ContainerInterface::class);
+ Doctype::unsetDoctypeRegistry(); // Overcome nasty static state
+ }
+
+ public function testAHelperWillBeReturnedWhenNoConfigIsFound(): void
+ {
+ $this->container->expects(self::once())
+ ->method('has')
+ ->with('config')
+ ->willReturn(false);
+
+ $this->container->expects(self::never())
+ ->method('get');
+
+ $this->factory->__invoke($this->container);
+ }
+
+ public function testThatTheDoctypeWillBeAsConfiguredWhenAppropriateConfigCanBeFound(): void
+ {
+ $config = [
+ 'view_manager' => [
+ 'doctype' => Doctype::HTML4_FRAMESET,
+ ],
+ ];
+
+ $this->container->expects(self::once())
+ ->method('has')
+ ->with('config')
+ ->willReturn(true);
+
+ $this->container->expects(self::once())
+ ->method('get')
+ ->with('config')
+ ->willReturn($config);
+
+ $helper = $this->factory->__invoke($this->container);
+
+ self::assertEquals(Doctype::HTML4_FRAMESET, $helper->getDoctype());
+ }
+
+ /** @return array, 1: string}> */
+ public static function configProvider(): array
+ {
+ $helper = new Doctype();
+ $default = $helper->getDoctype();
+
+ return [
+ 'Empty Config' => [[], $default],
+ 'Missing Doctype Key' => [['view_manager' => []], $default],
+ 'Doctype Configured' => [['view_manager' => ['doctype' => Doctype::XHTML1_RDFA]], Doctype::XHTML1_RDFA],
+ 'Doctype Explicit Null' => [['view_manager' => ['doctype' => null]], $default],
+ ];
+ }
+
+ #[DataProvider('configProvider')]
+ public function testConfigScenarios(iterable $config, string $expectedDoctype): void
+ {
+ $this->container->expects(self::once())
+ ->method('has')
+ ->with('config')
+ ->willReturn(true);
+
+ $this->container->expects(self::once())
+ ->method('get')
+ ->with('config')
+ ->willReturn($config);
+
+ $helper = $this->factory->__invoke($this->container);
+
+ self::assertEquals($expectedDoctype, $helper->getDoctype());
+ }
+}
diff --git a/test/Helper/Factory/ServerUrlFactoryTest.php b/test/Helper/Factory/ServerUrlFactoryTest.php
new file mode 100644
index 0000000..bc498dc
--- /dev/null
+++ b/test/Helper/Factory/ServerUrlFactoryTest.php
@@ -0,0 +1,97 @@
+factory = new ServerUrlFactory();
+ }
+
+ public function testThatWhenAUriIsConfiguredItWillBeUsedToSeedTheHelper(): void
+ {
+ $container = $this->createMock(ContainerInterface::class);
+ $container->expects(self::once())
+ ->method('has')
+ ->with('config')
+ ->willReturn(true);
+ $container->expects(self::once())
+ ->method('get')
+ ->with('config')
+ ->willReturn([
+ 'view_helper_config' => [
+ 'server_url' => 'https://muppets.com',
+ ],
+ ]);
+
+ self::assertSame(
+ 'https://muppets.com',
+ $this->factory->__invoke($container)->__invoke()
+ );
+ }
+
+ /**
+ * @backupGlobals enabled
+ */
+ public function testThatWhenThereIsNoConfigAndNoRequestInTheContainerANewRequestWillBeCreatedFromServerVars(): void
+ {
+ $_SERVER['SERVER_NAME'] = 'goats.com';
+ $_SERVER['HTTPS'] = 'on';
+
+ $container = $this->createMock(ContainerInterface::class);
+ $container->expects(self::exactly(2))
+ ->method('has')
+ ->willReturn(false);
+
+ self::assertSame(
+ 'https://goats.com',
+ $this->factory->__invoke($container)->__invoke()
+ );
+ }
+
+ public function testAnExceptionWillBeThrownWhenTheUrlCannotBeDeterminedViaSuperGlobals(): void
+ {
+ $container = $this->createMock(ContainerInterface::class);
+ $container->expects(self::exactly(2))
+ ->method('has')
+ ->willReturn(false);
+
+ $this->expectException(HostNameDetectionException::class);
+ $this->factory->__invoke($container);
+ }
+
+ public function testTheRequestWillBeRetrievedFromTheContainerWhenAvailable(): void
+ {
+ $request = new Request();
+ $request->setUri('https://elephants.com/foo?bar=baz');
+
+ $container = $this->createMock(ContainerInterface::class);
+ $container->expects(self::exactly(2))
+ ->method('has')
+ ->willReturnMap([
+ ['config', false],
+ [Request::class, true],
+ ]);
+ $container->expects(self::once())
+ ->method('get')
+ ->with(Request::class)
+ ->willReturn($request);
+
+ self::assertSame(
+ 'https://elephants.com',
+ $this->factory->__invoke($container)->__invoke()
+ );
+ }
+}
diff --git a/test/Helper/Factory/UrlFactoryTest.php b/test/Helper/Factory/UrlFactoryTest.php
new file mode 100644
index 0000000..832d428
--- /dev/null
+++ b/test/Helper/Factory/UrlFactoryTest.php
@@ -0,0 +1,46 @@
+setRouteMatch($match);
+
+ $application = $this->createMock(Application::class);
+ $application->expects(self::once())
+ ->method('getMvcEvent')
+ ->willReturn($event);
+
+ $container = $this->createMock(ContainerInterface::class);
+ $container->expects(self::exactly(2))
+ ->method('get')
+ ->willReturnMap([
+ ['HttpRouter', $router],
+ ['Application', $application],
+ ]);
+
+ $helper = (new UrlFactory())->__invoke($container);
+ self::assertInstanceOf(Url::class, $helper);
+ }
+}
diff --git a/test/Helper/ServerUrlTest.php b/test/Helper/ServerUrlTest.php
new file mode 100644
index 0000000..854bb56
--- /dev/null
+++ b/test/Helper/ServerUrlTest.php
@@ -0,0 +1,59 @@
+helper = new ServerUrl('https://example.com');
+ }
+
+ public function testHelperWillReturnTheConfiguredUrlWhenCalledWithoutArgument(): void
+ {
+ self::assertSame('https://example.com', $this->helper->__invoke());
+ }
+
+ /** @return list */
+ public static function pathProvider(): array
+ {
+ return [
+ ['/foo', 'https://example.com/foo'],
+ ['foo', 'https://example.com/foo'],
+ ['/foo/bar', 'https://example.com/foo/bar'],
+ ['///foo', 'https://example.com/foo'],
+ ['/foo/', 'https://example.com/foo/'],
+ ['/', 'https://example.com/'],
+ ];
+ }
+
+ /**
+ * @param non-empty-string $path
+ */
+ #[DataProvider('pathProvider')]
+ public function testPathArgumentsYieldTheExpectedUrl(string $path, string $expect): void
+ {
+ self::assertSame($expect, $this->helper->__invoke($path));
+ }
+
+ public function testAnEmptyStringCanBeGivenAsAPathWithTheSameResultAsNoPathArgument(): void
+ {
+ self::assertSame('https://example.com', $this->helper->__invoke(''));
+ }
+
+ public function testThatTheBaseUrlHasTrailingSlashesTrimmed(): void
+ {
+ $helper = new ServerUrl('https://foo.com////');
+ self::assertSame('https://foo.com', $helper->__invoke());
+ }
+}
diff --git a/test/Helper/UrlTest.php b/test/Helper/UrlTest.php
new file mode 100644
index 0000000..baa80cc
--- /dev/null
+++ b/test/Helper/UrlTest.php
@@ -0,0 +1,188 @@
+router = new TreeRouteStack();
+ $this->router->addRoute('home', [
+ 'type' => Literal::class,
+ 'options' => [
+ 'route' => '/',
+ ],
+ ]);
+ $this->router->addRoute('default', [
+ 'type' => Segment::class,
+ 'options' => [
+ 'route' => '/:controller[/:action]',
+ ],
+ ]);
+
+ $this->routeMatch = new RouteMatch([]);
+ $this->helper = new Url($this->routeMatch, $this->router);
+ }
+
+ public function testNamedStaticRouteCanBeRetrieved(): void
+ {
+ self::assertEquals('/', $this->helper->__invoke('home'));
+ }
+
+ public function testItIsExceptionalToCallTheHelperWithoutARouteName(): void
+ {
+ $this->expectException(RouteNotMatchedException::class);
+ $this->expectExceptionMessage(
+ 'A route name was not provided or RouteMatch does not contain a matched route name'
+ );
+ $this->helper->__invoke();
+ }
+
+ public function testDefaultModuleRouting(): void
+ {
+ self::assertEquals(
+ '/my/route',
+ $this->helper->__invoke('default', ['controller' => 'my', 'action' => 'route'])
+ );
+ }
+
+ public function testDefaultModuleRoutingWithTraversable(): void
+ {
+ $arrayObject = new ArrayObject(['controller' => 'my', 'action' => 'route']);
+ self::assertEquals(
+ '/my/route',
+ $this->helper->__invoke('default', $arrayObject)
+ );
+ }
+
+ public function testThatMatchedRouteParametersCanBeReused(): void
+ {
+ $this->routeMatch->setMatchedRouteName('replace');
+ $this->routeMatch->setParam('controller', 'groovy');
+
+ $this->router->addRoute('replace', [
+ 'type' => Segment::class,
+ 'options' => [
+ 'route' => '/:controller/:action',
+ 'defaults' => [
+ 'controller' => 'default',
+ ],
+ ],
+ ]);
+
+ self::assertEquals(
+ '/groovy/bar',
+ $this->helper->__invoke('replace', ['action' => 'bar'], [], true)
+ );
+ }
+
+ public function testThatOptionsAreUsed(): void
+ {
+ self::assertEquals(
+ '/#foo',
+ $this->helper->__invoke('home', [], ['fragment' => 'foo'], false)
+ );
+ }
+
+ public function testThatOptionsCanBeTraversable(): void
+ {
+ $options = new ArrayObject(['fragment' => 'foo']);
+ self::assertEquals(
+ '/#foo',
+ $this->helper->__invoke('home', [], $options, false)
+ );
+ }
+
+ public function testThatReuseMatchedRouteParamsCanBeProvidedAsTheThirdArgument(): void
+ {
+ $this->routeMatch->setMatchedRouteName('replace');
+ $this->routeMatch->setParam('controller', 'groovy');
+
+ $this->router->addRoute('replace', [
+ 'type' => Segment::class,
+ 'options' => [
+ 'route' => '/:controller/:action',
+ 'defaults' => [
+ 'controller' => 'default',
+ ],
+ ],
+ ]);
+
+ self::assertEquals(
+ '/groovy/bar',
+ $this->helper->__invoke('replace', ['action' => 'bar'], true)
+ );
+ }
+
+ public function testThatMatchedRouteParamsAreNotReusedByDefault(): void
+ {
+ $this->routeMatch->setMatchedRouteName('replace');
+ $this->routeMatch->setParam('controller', 'groovy');
+
+ $this->router->addRoute('replace', [
+ 'type' => Segment::class,
+ 'options' => [
+ 'route' => '/:controller/:action',
+ 'defaults' => [
+ 'controller' => 'default',
+ ],
+ ],
+ ]);
+
+ self::assertEquals(
+ '/default/bar',
+ $this->helper->__invoke('replace', ['action' => 'bar'])
+ );
+ }
+
+ public function testThatGivenControllerOverridesControllerFoundInModuleRouteListener(): void
+ {
+ $this->routeMatch->setMatchedRouteName('default');
+ $this->routeMatch->setParam(ModuleRouteListener::ORIGINAL_CONTROLLER, 'groovy');
+
+ self::assertEquals(
+ '/bing/bar',
+ $this->helper->__invoke('default', ['controller' => 'bing', 'action' => 'bar'], [], true)
+ );
+ }
+
+ public function testModuleNamespaceIsStrippedFromRouteParams(): void
+ {
+ $this->router->addRoute('replace', [
+ 'type' => Segment::class,
+ 'options' => [
+ 'route' => '/:controller/:action[/:' . ModuleRouteListener::MODULE_NAMESPACE . ']',
+ 'defaults' => [
+ 'controller' => 'default',
+ ],
+ ],
+ ]);
+
+ $this->routeMatch->setMatchedRouteName('replace');
+ $this->routeMatch->setParam('controller', 'groovy');
+ $this->routeMatch->setParam(ModuleRouteListener::MODULE_NAMESPACE, 'Muppets');
+
+ self::assertEquals(
+ '/groovy/bar',
+ $this->helper->__invoke('default', ['action' => 'bar'], [], true)
+ );
+ }
+}
diff --git a/test/ModuleTest.php b/test/ModuleTest.php
new file mode 100644
index 0000000..a8b1b17
--- /dev/null
+++ b/test/ModuleTest.php
@@ -0,0 +1,31 @@
+getConfig();
+ self::assertArrayHasKey($key, $config);
+ self::assertSame($expectedType, gettype($config[$key]));
+ }
+}