diff --git a/.github/workflows/static-analysis.yml b/.github/workflows/static-analysis.yml
index 7093b9ea..d7de90ee 100644
--- a/.github/workflows/static-analysis.yml
+++ b/.github/workflows/static-analysis.yml
@@ -136,4 +136,4 @@ jobs:
composer require --dev maglnet/composer-require-checker ^3.0
- name: Run composer-require-checker
- run: ./vendor/bin/composer-require-checker
+ run: ./vendor/bin/composer-require-checker --config-file=./php-require-checker.config.json
diff --git a/baseline.xml b/baseline.xml
new file mode 100644
index 00000000..59664d13
--- /dev/null
+++ b/baseline.xml
@@ -0,0 +1,225 @@
+
+
+
+
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ =>
+ =>
+ =>
+ =>
+ =>
+ =>
+ =>
+ public
+ }
+
+
+
+
+ $ancestor
+ $classConstant
+ $classConstant
+ $classConstant
+ $constant
+ $importedTrait
+ $interface
+ $interface
+ $interfaceName
+ $interfaceName
+ $interfaceName
+ $interfaceName
+ $method
+ $method
+ $method
+ $method
+ $methodNode
+ $name
+ $node
+ $node
+ $parentClass
+ $property
+ $property
+ $property
+ $property
+ $property
+ $property
+ $propertyProperty
+ $reflectionClass
+ $reflectionClass
+ $stmt
+ $trait
+ $traitUse
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ?
+ fn
+ fn
+ fn
+ fn
+ fn
+ fn
+ fn
+ fn
+ fn
+ fn
+ fn
+ fn
+ fn
+ fn
+ fn
+ fn
+ fn
+ fn
+ fn
+ fn
+ fn
+ fn
+ fn
+ fn
+
+
+
+
+ $node
+ $node
+ $stmt
+ )
+ ,
+ ,
+ fn
+ fn
+
+
+
+
+ =>
+ fn
+
+
+
+
+ $p
+ ,
+ ...
+ fn
+ fn
+
+
+
+
+ $type
+ $type
+ )
+ )
+ ,
+ ,
+ ,
+ :
+ =>
+ fn
+ fn
+
+
+
+
+ $implementingClassName
+ $methodName
+ )
+ ,
+ ,
+ =>
+ =>
+
+
+
+
+ $implementingClassName
+ $instance
+ ,
+ ,
+
+
+
+
+ $type
+ $type
+ )
+ )
+ ,
+ ,
+ ,
+ :
+ =>
+ fn
+ fn
+
+
+
+
+ $sourceLocator
+ )
+ ,
+ ...
+ fn
+ fn
+
+
+
+
+ :
+ fn
+
+
+
diff --git a/composer.json b/composer.json
index 229f91ca..395f8828 100644
--- a/composer.json
+++ b/composer.json
@@ -18,7 +18,8 @@
"pagerfanta/pagerfanta": "^1.1",
"ray/aop": "^2.10.4",
"ray/aura-sql-module": "^1.10",
- "ray/di": "^2.12"
+ "ray/di": "^2.12",
+ "roave/better-reflection": "^4.0 || 5.0.x-dev"
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.4",
@@ -50,8 +51,8 @@
"./vendor/bin/psalm --clear-cache"
],
"sa": [
- "./vendor/bin/phpstan analyse -c phpstan.neon",
- "psalm --show-info=true"
+ "psalm --show-info=true",
+ "./vendor/bin/phpstan analyse -c phpstan.neon"
],
"tests": [
"@cs",
diff --git a/php-require-checker.config.json b/php-require-checker.config.json
new file mode 100644
index 00000000..2dcbd1a7
--- /dev/null
+++ b/php-require-checker.config.json
@@ -0,0 +1,8 @@
+{
+ "symbol-whitelist": [
+ "null", "true", "false",
+ "static", "self", "parent",
+ "array", "string", "int", "float", "bool", "iterable", "callable", "void", "object",
+ "Attribute", "ReflectionAttribute", "Roave\\BetterReflection\\Reflector\\DefaultReflector"
+ ]
+}
\ No newline at end of file
diff --git a/phpcs.xml b/phpcs.xml
index f43fa2c0..dd74c95d 100755
--- a/phpcs.xml
+++ b/phpcs.xml
@@ -1,7 +1,6 @@
@@ -9,7 +8,7 @@
-
+
@@ -18,42 +17,35 @@
src
tests
- */tmp/*
- */tests/Fake/*
+ */tests/tmp/*
-
-
-
-
-
-
-
-
-
+
+
-
+
-
-
+
-
-
-
-
+
+
+
+
+
+
+
-
@@ -64,6 +56,18 @@
+
+
+
+
+
+
+
+
+
+
+ tests/*
+
@@ -71,4 +75,11 @@
+
+
+
+
+
+ */Fake/*
+ */tmp/*
diff --git a/phpstan.neon b/phpstan.neon
index b8d7bca8..403096e7 100644
--- a/phpstan.neon
+++ b/phpstan.neon
@@ -5,4 +5,5 @@ parameters:
- tests
excludePaths:
- tests/Fake/*
+ - tests/tmp/*
- src/MediaQueryModule.php
diff --git a/psalm.xml b/psalm.xml
index c29f5771..59b65732 100644
--- a/psalm.xml
+++ b/psalm.xml
@@ -5,12 +5,12 @@
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"
+ errorBaseline="baseline.xml"
>
-
diff --git a/src/ClassesInDirectories.php b/src/ClassesInDirectories.php
new file mode 100644
index 00000000..81c83d0c
--- /dev/null
+++ b/src/ClassesInDirectories.php
@@ -0,0 +1,60 @@
+ $directories
+ *
+ * @return Generator
+ *
+ * This function code is taken from https://github.com/WyriHaximus/php-list-classes-in-directory/blob/master/src/functions.php
+ * and modified for roave/better-reflection 5.x
+ *
+ * @see https://github.com/WyriHaximus/php-list-classes-in-directory
+ * @psalm-suppress MixedReturnTypeCoercion
+ * @phpstan-ignore-next-line/
+ */
+ public static function list(string ...$directories): iterable
+ {
+ /** @var list $directories */
+ $sourceLocator = new AggregateSourceLocator([
+ new DirectoriesSourceLocator(
+ $directories,
+ (new BetterReflection())->astLocator()
+ ),
+ // ↓ required to autoload parent classes/interface from another directory than /src (e.g. /vendor)
+ new AutoloadSourceLocator((new BetterReflection())->astLocator()),
+ ]);
+
+ if (PHP_VERSION_ID >= 80000) {
+ foreach ((new DefaultReflector($sourceLocator))->reflectAllClasses() as $class) {
+ yield $class->getName();
+ }
+
+ return;
+ }
+
+ /** @psalm-suppress all */
+ foreach ((new ClassReflector($sourceLocator))->getAllClasses() as $class) { // @phpstan-ignore-line
+ yield $class->getName();
+ }
+ }
+}
diff --git a/src/GetClassName.php b/src/GetClassName.php
deleted file mode 100644
index 707d6364..00000000
--- a/src/GetClassName.php
+++ /dev/null
@@ -1,26 +0,0 @@
-getDefaultValue();
}
- $object = $this->injector->getInstance($type->getName());
- assert(is_object($object));
+ $object = $this->injector->getInstance($type = $type->getName()); // @phpstan-ignore-line
return $object;
}
diff --git a/src/Queries.php b/src/Queries.php
index 89ba15da..97a702c2 100644
--- a/src/Queries.php
+++ b/src/Queries.php
@@ -4,22 +4,11 @@
namespace Ray\MediaQuery;
-use RecursiveDirectoryIterator;
-use RecursiveIteratorIterator;
-use RecursiveRegexIterator;
-use RegexIterator;
-use SplFileInfo;
-
-use function assert;
-use function interface_exists;
-use function is_dir;
-use function sort;
-
final class Queries
{
/**
* @var list
- * @psalm-readonly
+ * @readonly
*/
public $classes;
@@ -41,44 +30,12 @@ public static function fromClasses(array $mediaQueryClasses): self
public static function fromDir(string $queryDir): self
{
- /** @var array $cache */
- static $cache;
-
- if (isset($cache[$queryDir])) {
- return $cache[$queryDir];
- }
-
- assert(is_dir($queryDir));
- $getClassName = new GetClassName();
$classes = [];
- /** @var SplFileInfo $file */
- foreach (self::files($queryDir) as $file) {
- $class = ($getClassName)((string) $file->getRealPath());
- if ($class) {
- assert(interface_exists($class));
- $classes[] = $class;
- }
+ $genClasses = ClassesInDirectories::list($queryDir);
+ foreach ($genClasses as $class) {
+ $classes[] = $class;
}
- sort($classes);
- $queries = new self($classes);
- $cache[$queryDir] = $queries;
-
- return $queries;
- }
-
- private static function files(string $dir): RegexIterator
- {
- return new RegexIterator(
- new RecursiveIteratorIterator(
- new RecursiveDirectoryIterator(
- $dir,
- /** @psalm-suppress ArgumentTypeCoercion */
- ),
- RecursiveIteratorIterator::LEAVES_ONLY
- ),
- '/^.+\.php$/',
- RecursiveRegexIterator::MATCH
- );
+ return new self($classes);
}
}
diff --git a/tests/Fake/GetClassNameTest.php b/tests/Fake/GetClassNameTest.php
deleted file mode 100644
index 442420f8..00000000
--- a/tests/Fake/GetClassNameTest.php
+++ /dev/null
@@ -1,14 +0,0 @@
-assertSame('', $className);
- }
-}
diff --git a/tests/QueriesTest.php b/tests/QueriesTest.php
index 9888b4aa..995a818d 100644
--- a/tests/QueriesTest.php
+++ b/tests/QueriesTest.php
@@ -8,6 +8,8 @@
use Ray\MediaQuery\FromDir\TodoAddInterface;
use Ray\MediaQuery\FromDir\TodoItemInterface;
+use function sort;
+
class QueriesTest extends TestCase
{
public function testFromClasses(): void
@@ -20,6 +22,7 @@ public function testFromClasses(): void
public function testFromDir(): void
{
$mediaQueries = Queries::fromDir(__DIR__ . '/Fake/FromDir');
+ sort($mediaQueries->classes);
$this->assertSame([
TodoAddInterface::class,
TodoItemInterface::class,
@@ -29,6 +32,7 @@ public function testFromDir(): void
public function testFromDirCache(): void
{
$mediaQueries = Queries::fromDir(__DIR__ . '/Fake/FromDir');
+ sort($mediaQueries->classes);
$this->assertSame([
TodoAddInterface::class,
TodoItemInterface::class,
diff --git a/vendor-bin/tools/composer.lock b/vendor-bin/tools/composer.lock
index 2adc701a..3b088c56 100644
--- a/vendor-bin/tools/composer.lock
+++ b/vendor-bin/tools/composer.lock
@@ -8,16 +8,16 @@
"packages": [
{
"name": "amphp/amp",
- "version": "v2.6.0",
+ "version": "v2.6.1",
"source": {
"type": "git",
"url": "https://github.com/amphp/amp.git",
- "reference": "caa95edeb1ca1bf7532e9118ede4a3c3126408cc"
+ "reference": "c5fc66a78ee38d7ac9195a37bacaf940eb3f65ae"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/amphp/amp/zipball/caa95edeb1ca1bf7532e9118ede4a3c3126408cc",
- "reference": "caa95edeb1ca1bf7532e9118ede4a3c3126408cc",
+ "url": "https://api.github.com/repos/amphp/amp/zipball/c5fc66a78ee38d7ac9195a37bacaf940eb3f65ae",
+ "reference": "c5fc66a78ee38d7ac9195a37bacaf940eb3f65ae",
"shasum": ""
},
"require": {
@@ -85,7 +85,7 @@
"support": {
"irc": "irc://irc.freenode.org/amphp",
"issues": "https://github.com/amphp/amp/issues",
- "source": "https://github.com/amphp/amp/tree/v2.6.0"
+ "source": "https://github.com/amphp/amp/tree/v2.6.1"
},
"funding": [
{
@@ -93,7 +93,7 @@
"type": "github"
}
],
- "time": "2021-07-16T20:06:06+00:00"
+ "time": "2021-09-23T18:43:08+00:00"
},
{
"name": "amphp/byte-stream",
@@ -247,16 +247,16 @@
},
{
"name": "composer/semver",
- "version": "3.2.5",
+ "version": "3.2.6",
"source": {
"type": "git",
"url": "https://github.com/composer/semver.git",
- "reference": "31f3ea725711245195f62e54ffa402d8ef2fdba9"
+ "reference": "83e511e247de329283478496f7a1e114c9517506"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/semver/zipball/31f3ea725711245195f62e54ffa402d8ef2fdba9",
- "reference": "31f3ea725711245195f62e54ffa402d8ef2fdba9",
+ "url": "https://api.github.com/repos/composer/semver/zipball/83e511e247de329283478496f7a1e114c9517506",
+ "reference": "83e511e247de329283478496f7a1e114c9517506",
"shasum": ""
},
"require": {
@@ -308,7 +308,7 @@
"support": {
"irc": "irc://irc.freenode.org/composer",
"issues": "https://github.com/composer/semver/issues",
- "source": "https://github.com/composer/semver/tree/3.2.5"
+ "source": "https://github.com/composer/semver/tree/3.2.6"
},
"funding": [
{
@@ -324,7 +324,7 @@
"type": "tidelift"
}
],
- "time": "2021-05-24T12:41:47+00:00"
+ "time": "2021-10-25T11:34:17+00:00"
},
{
"name": "composer/xdebug-handler",
@@ -833,16 +833,16 @@
},
{
"name": "nikic/php-parser",
- "version": "v4.12.0",
+ "version": "v4.13.1",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "6608f01670c3cc5079e18c1dab1104e002579143"
+ "reference": "63a79e8daa781cac14e5195e63ed8ae231dd10fd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6608f01670c3cc5079e18c1dab1104e002579143",
- "reference": "6608f01670c3cc5079e18c1dab1104e002579143",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/63a79e8daa781cac14e5195e63ed8ae231dd10fd",
+ "reference": "63a79e8daa781cac14e5195e63ed8ae231dd10fd",
"shasum": ""
},
"require": {
@@ -883,9 +883,9 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
- "source": "https://github.com/nikic/PHP-Parser/tree/v4.12.0"
+ "source": "https://github.com/nikic/PHP-Parser/tree/v4.13.1"
},
- "time": "2021-07-21T10:44:31+00:00"
+ "time": "2021-11-03T20:52:16+00:00"
},
{
"name": "openlss/lib-array2xml",
@@ -942,16 +942,16 @@
},
{
"name": "pdepend/pdepend",
- "version": "2.10.0",
+ "version": "2.10.1",
"source": {
"type": "git",
"url": "https://github.com/pdepend/pdepend.git",
- "reference": "1fd30f4352b630ad53fec3fd5e8b8ba760f85596"
+ "reference": "30452fdabb3dfca89f4bf977abc44adc5391e062"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/pdepend/pdepend/zipball/1fd30f4352b630ad53fec3fd5e8b8ba760f85596",
- "reference": "1fd30f4352b630ad53fec3fd5e8b8ba760f85596",
+ "url": "https://api.github.com/repos/pdepend/pdepend/zipball/30452fdabb3dfca89f4bf977abc44adc5391e062",
+ "reference": "30452fdabb3dfca89f4bf977abc44adc5391e062",
"shasum": ""
},
"require": {
@@ -987,7 +987,7 @@
"description": "Official version of pdepend to be handled with Composer",
"support": {
"issues": "https://github.com/pdepend/pdepend/issues",
- "source": "https://github.com/pdepend/pdepend/tree/2.10.0"
+ "source": "https://github.com/pdepend/pdepend/tree/2.10.1"
},
"funding": [
{
@@ -995,7 +995,7 @@
"type": "tidelift"
}
],
- "time": "2021-07-20T09:56:09+00:00"
+ "time": "2021-10-11T12:15:18+00:00"
},
{
"name": "phar-io/manifest",
@@ -1163,16 +1163,16 @@
},
{
"name": "phpdocumentor/reflection-docblock",
- "version": "5.2.2",
+ "version": "5.3.0",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
- "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556"
+ "reference": "622548b623e81ca6d78b721c5e029f4ce664f170"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556",
- "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170",
+ "reference": "622548b623e81ca6d78b721c5e029f4ce664f170",
"shasum": ""
},
"require": {
@@ -1183,7 +1183,8 @@
"webmozart/assert": "^1.9.1"
},
"require-dev": {
- "mockery/mockery": "~1.3.2"
+ "mockery/mockery": "~1.3.2",
+ "psalm/phar": "^4.8"
},
"type": "library",
"extra": {
@@ -1213,22 +1214,22 @@
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
"support": {
"issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
- "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/master"
+ "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0"
},
- "time": "2020-09-03T19:13:55+00:00"
+ "time": "2021-10-19T17:43:47+00:00"
},
{
"name": "phpdocumentor/type-resolver",
- "version": "1.4.0",
+ "version": "1.5.1",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/TypeResolver.git",
- "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0"
+ "reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0",
- "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0",
+ "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/a12f7e301eb7258bb68acd89d4aefa05c2906cae",
+ "reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae",
"shasum": ""
},
"require": {
@@ -1236,7 +1237,8 @@
"phpdocumentor/reflection-common": "^2.0"
},
"require-dev": {
- "ext-tokenizer": "*"
+ "ext-tokenizer": "*",
+ "psalm/phar": "^4.8"
},
"type": "library",
"extra": {
@@ -1262,9 +1264,9 @@
"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.4.0"
+ "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.5.1"
},
- "time": "2020-09-17T18:55:26+00:00"
+ "time": "2021-10-02T14:08:47+00:00"
},
{
"name": "phpmd/phpmd",
@@ -1602,23 +1604,23 @@
},
{
"name": "phpunit/php-code-coverage",
- "version": "9.2.6",
+ "version": "9.2.8",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "f6293e1b30a2354e8428e004689671b83871edde"
+ "reference": "cf04e88a2e3c56fc1a65488afd493325b4c1bc3e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f6293e1b30a2354e8428e004689671b83871edde",
- "reference": "f6293e1b30a2354e8428e004689671b83871edde",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/cf04e88a2e3c56fc1a65488afd493325b4c1bc3e",
+ "reference": "cf04e88a2e3c56fc1a65488afd493325b4c1bc3e",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
"ext-xmlwriter": "*",
- "nikic/php-parser": "^4.10.2",
+ "nikic/php-parser": "^4.13.0",
"php": ">=7.3",
"phpunit/php-file-iterator": "^3.0.3",
"phpunit/php-text-template": "^2.0.2",
@@ -1667,7 +1669,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
- "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.6"
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.8"
},
"funding": [
{
@@ -1675,7 +1677,7 @@
"type": "github"
}
],
- "time": "2021-03-28T07:26:59+00:00"
+ "time": "2021-10-30T08:01:38+00:00"
},
{
"name": "phpunit/php-file-iterator",
@@ -1920,16 +1922,16 @@
},
{
"name": "phpunit/phpunit",
- "version": "9.5.9",
+ "version": "9.5.10",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "ea8c2dfb1065eb35a79b3681eee6e6fb0a6f273b"
+ "reference": "c814a05837f2edb0d1471d6e3f4ab3501ca3899a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/ea8c2dfb1065eb35a79b3681eee6e6fb0a6f273b",
- "reference": "ea8c2dfb1065eb35a79b3681eee6e6fb0a6f273b",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c814a05837f2edb0d1471d6e3f4ab3501ca3899a",
+ "reference": "c814a05837f2edb0d1471d6e3f4ab3501ca3899a",
"shasum": ""
},
"require": {
@@ -1945,7 +1947,7 @@
"phar-io/version": "^3.0.2",
"php": ">=7.3",
"phpspec/prophecy": "^1.12.1",
- "phpunit/php-code-coverage": "^9.2.3",
+ "phpunit/php-code-coverage": "^9.2.7",
"phpunit/php-file-iterator": "^3.0.5",
"phpunit/php-invoker": "^3.1.1",
"phpunit/php-text-template": "^2.0.3",
@@ -2007,7 +2009,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.9"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.10"
},
"funding": [
{
@@ -2019,7 +2021,7 @@
"type": "github"
}
],
- "time": "2021-08-31T06:47:40+00:00"
+ "time": "2021-09-25T07:38:51+00:00"
},
{
"name": "psalm/plugin-phpunit",
@@ -2079,20 +2081,20 @@
},
{
"name": "psr/container",
- "version": "1.1.1",
+ "version": "1.1.2",
"source": {
"type": "git",
"url": "https://github.com/php-fig/container.git",
- "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf"
+ "reference": "513e0666f7216c7459170d56df27dfcefe1689ea"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf",
- "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf",
+ "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea",
+ "reference": "513e0666f7216c7459170d56df27dfcefe1689ea",
"shasum": ""
},
"require": {
- "php": ">=7.2.0"
+ "php": ">=7.4.0"
},
"type": "library",
"autoload": {
@@ -2121,9 +2123,9 @@
],
"support": {
"issues": "https://github.com/php-fig/container/issues",
- "source": "https://github.com/php-fig/container/tree/1.1.1"
+ "source": "https://github.com/php-fig/container/tree/1.1.2"
},
- "time": "2021-03-05T17:36:06+00:00"
+ "time": "2021-11-05T16:50:12+00:00"
},
{
"name": "psr/log",
@@ -2604,16 +2606,16 @@
},
{
"name": "sebastian/exporter",
- "version": "4.0.3",
+ "version": "4.0.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65"
+ "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/d89cc98761b8cb5a1a235a6b703ae50d34080e65",
- "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/65e8b7db476c5dd267e65eea9cab77584d3cfff9",
+ "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9",
"shasum": ""
},
"require": {
@@ -2662,14 +2664,14 @@
}
],
"description": "Provides the functionality to export PHP variables for visualization",
- "homepage": "http://www.github.com/sebastianbergmann/exporter",
+ "homepage": "https://www.github.com/sebastianbergmann/exporter",
"keywords": [
"export",
"exporter"
],
"support": {
"issues": "https://github.com/sebastianbergmann/exporter/issues",
- "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.3"
+ "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.4"
},
"funding": [
{
@@ -2677,7 +2679,7 @@
"type": "github"
}
],
- "time": "2020-09-28T05:24:23+00:00"
+ "time": "2021-11-11T14:18:36+00:00"
},
{
"name": "sebastian/global-state",
@@ -3028,7 +3030,6 @@
"type": "github"
}
],
- "abandoned": true,
"time": "2020-09-28T06:45:17+00:00"
},
{
@@ -3203,16 +3204,16 @@
},
{
"name": "squizlabs/php_codesniffer",
- "version": "3.6.0",
+ "version": "3.6.1",
"source": {
"type": "git",
"url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
- "reference": "ffced0d2c8fa8e6cdc4d695a743271fab6c38625"
+ "reference": "f268ca40d54617c6e06757f83f699775c9b3ff2e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/ffced0d2c8fa8e6cdc4d695a743271fab6c38625",
- "reference": "ffced0d2c8fa8e6cdc4d695a743271fab6c38625",
+ "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/f268ca40d54617c6e06757f83f699775c9b3ff2e",
+ "reference": "f268ca40d54617c6e06757f83f699775c9b3ff2e",
"shasum": ""
},
"require": {
@@ -3255,20 +3256,20 @@
"source": "https://github.com/squizlabs/PHP_CodeSniffer",
"wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki"
},
- "time": "2021-04-09T00:54:41+00:00"
+ "time": "2021-10-11T04:00:11+00:00"
},
{
"name": "symfony/config",
- "version": "v5.3.4",
+ "version": "v5.3.10",
"source": {
"type": "git",
"url": "https://github.com/symfony/config.git",
- "reference": "4268f3059c904c61636275182707f81645517a37"
+ "reference": "ac23c2f24d5634966d665d836c3933d54347e5d4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/config/zipball/4268f3059c904c61636275182707f81645517a37",
- "reference": "4268f3059c904c61636275182707f81645517a37",
+ "url": "https://api.github.com/repos/symfony/config/zipball/ac23c2f24d5634966d665d836c3933d54347e5d4",
+ "reference": "ac23c2f24d5634966d665d836c3933d54347e5d4",
"shasum": ""
},
"require": {
@@ -3318,7 +3319,7 @@
"description": "Helps you find, load, combine, autofill and validate configuration values of any kind",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/config/tree/v5.3.4"
+ "source": "https://github.com/symfony/config/tree/v5.3.10"
},
"funding": [
{
@@ -3334,7 +3335,7 @@
"type": "tidelift"
}
],
- "time": "2021-07-21T12:40:44+00:00"
+ "time": "2021-10-22T09:06:52+00:00"
},
{
"name": "symfony/console",
@@ -3436,16 +3437,16 @@
},
{
"name": "symfony/dependency-injection",
- "version": "v5.3.7",
+ "version": "v5.3.10",
"source": {
"type": "git",
"url": "https://github.com/symfony/dependency-injection.git",
- "reference": "a665946279f566d94ed5eb98999cfa65c6fa5a78"
+ "reference": "be833dd336c248ef2bdabf24665351455f52afdb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/a665946279f566d94ed5eb98999cfa65c6fa5a78",
- "reference": "a665946279f566d94ed5eb98999cfa65c6fa5a78",
+ "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/be833dd336c248ef2bdabf24665351455f52afdb",
+ "reference": "be833dd336c248ef2bdabf24665351455f52afdb",
"shasum": ""
},
"require": {
@@ -3504,7 +3505,7 @@
"description": "Allows you to standardize and centralize the way objects are constructed in your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/dependency-injection/tree/v5.3.7"
+ "source": "https://github.com/symfony/dependency-injection/tree/v5.3.10"
},
"funding": [
{
@@ -3520,7 +3521,7 @@
"type": "tidelift"
}
],
- "time": "2021-08-02T16:16:27+00:00"
+ "time": "2021-10-22T18:11:05+00:00"
},
{
"name": "symfony/deprecation-contracts",
@@ -4298,16 +4299,16 @@
},
{
"name": "symfony/string",
- "version": "v5.3.7",
+ "version": "v5.3.10",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "8d224396e28d30f81969f083a58763b8b9ceb0a5"
+ "reference": "d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/8d224396e28d30f81969f083a58763b8b9ceb0a5",
- "reference": "8d224396e28d30f81969f083a58763b8b9ceb0a5",
+ "url": "https://api.github.com/repos/symfony/string/zipball/d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c",
+ "reference": "d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c",
"shasum": ""
},
"require": {
@@ -4361,7 +4362,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v5.3.7"
+ "source": "https://github.com/symfony/string/tree/v5.3.10"
},
"funding": [
{
@@ -4377,7 +4378,7 @@
"type": "tidelift"
}
],
- "time": "2021-08-26T08:00:08+00:00"
+ "time": "2021-10-27T18:21:46+00:00"
},
{
"name": "theseer/tokenizer",
@@ -4431,16 +4432,16 @@
},
{
"name": "vimeo/psalm",
- "version": "4.10.0",
+ "version": "4.12.0",
"source": {
"type": "git",
"url": "https://github.com/vimeo/psalm.git",
- "reference": "916b098b008f6de4543892b1e0651c1c3b92cbfa"
+ "reference": "e42bc4a23f67acba28a23bb09c348e2ff38a1d87"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/vimeo/psalm/zipball/916b098b008f6de4543892b1e0651c1c3b92cbfa",
- "reference": "916b098b008f6de4543892b1e0651c1c3b92cbfa",
+ "url": "https://api.github.com/repos/vimeo/psalm/zipball/e42bc4a23f67acba28a23bb09c348e2ff38a1d87",
+ "reference": "e42bc4a23f67acba28a23bb09c348e2ff38a1d87",
"shasum": ""
},
"require": {
@@ -4460,11 +4461,11 @@
"felixfbecker/advanced-json-rpc": "^3.0.3",
"felixfbecker/language-server-protocol": "^1.5",
"netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0",
- "nikic/php-parser": "^4.12",
+ "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",
+ "symfony/console": "^3.4.17 || ^4.1.6 || ^5.0 || ^6.0",
"webmozart/path-util": "^2.3"
},
"provide": {
@@ -4482,7 +4483,7 @@
"psalm/plugin-phpunit": "^0.16",
"slevomat/coding-standard": "^7.0",
"squizlabs/php_codesniffer": "^3.5",
- "symfony/process": "^4.3 || ^5.0",
+ "symfony/process": "^4.3 || ^5.0 || ^6.0",
"weirdan/prophecy-shim": "^1.0 || ^2.0"
},
"suggest": {
@@ -4530,9 +4531,9 @@
],
"support": {
"issues": "https://github.com/vimeo/psalm/issues",
- "source": "https://github.com/vimeo/psalm/tree/4.10.0"
+ "source": "https://github.com/vimeo/psalm/tree/4.12.0"
},
- "time": "2021-09-04T21:00:09+00:00"
+ "time": "2021-11-06T10:31:17+00:00"
},
{
"name": "webmozart/assert",
@@ -4640,6 +4641,7 @@
"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"
}
],