From 1bad5d375f5f1919d6e914189f91271e7d7b8168 Mon Sep 17 00:00:00 2001 From: Aleksei Lebedev <1329824+LastDragon-ru@users.noreply.github.com> Date: Mon, 15 Jan 2024 11:23:32 +0400 Subject: [PATCH 1/9] New package (with internal phpstan extensions/rules). --- README.md | 6 + UPGRADE.md | 1 + composer.json | 4 +- monorepo-builder.php | 1 + packages/dev/CHANGELOG.md | 3 + packages/dev/LICENSE | 21 + packages/dev/README.md | 58 + packages/dev/UPGRADE.md | 28 + packages/dev/composer.json | 42 + ...AccessDynamicMethodReturnTypeExtension.php | 0 ...ontainerMakeDynamicReturnTypeExtension.php | 0 packages/dev/metadata.json | 20 + packages/dev/phpunit.xml | 21 + packages/dev/src/Package.php | 7 + .../src}/PhpStan/ClassMustBeFinal/Rule.php | 0 .../PhpStan/ClassMustBeFinal/RuleTest.php | 0 .../PhpStan/ClassMustBeFinal/extension.neon | 0 .../src}/PhpStan/ClassMustBeInternal/Rule.php | 0 .../PhpStan/ClassMustBeInternal/RuleTest.php | 0 .../ClassMustBeInternal/extension.neon | 0 .../dev/src}/PhpStan/Container/Extension.php | 0 .../dev/src/PhpStan/Container/Installer.php | 37 + .../dev/src}/PhpStan/Container/extension.neon | 0 phpstan-baseline-well-known.neon | 2 +- phpstan.neon | 6 +- vendor-bin/phpstan/composer.json | 20 +- vendor-bin/phpstan/composer.lock | 1388 +++++------------ 27 files changed, 680 insertions(+), 985 deletions(-) create mode 100644 packages/dev/CHANGELOG.md create mode 100644 packages/dev/LICENSE create mode 100644 packages/dev/README.md create mode 100644 packages/dev/UPGRADE.md create mode 100644 packages/dev/composer.json rename {dev/Larastan => packages/dev/larastan}/ReturnTypes/ContainerArrayAccessDynamicMethodReturnTypeExtension.php (100%) rename {dev/Larastan => packages/dev/larastan}/ReturnTypes/ContainerMakeDynamicReturnTypeExtension.php (100%) create mode 100644 packages/dev/metadata.json create mode 100644 packages/dev/phpunit.xml create mode 100644 packages/dev/src/Package.php rename {dev => packages/dev/src}/PhpStan/ClassMustBeFinal/Rule.php (100%) rename {dev => packages/dev/src}/PhpStan/ClassMustBeFinal/RuleTest.php (100%) rename {dev => packages/dev/src}/PhpStan/ClassMustBeFinal/extension.neon (100%) rename {dev => packages/dev/src}/PhpStan/ClassMustBeInternal/Rule.php (100%) rename {dev => packages/dev/src}/PhpStan/ClassMustBeInternal/RuleTest.php (100%) rename {dev => packages/dev/src}/PhpStan/ClassMustBeInternal/extension.neon (100%) rename {dev => packages/dev/src}/PhpStan/Container/Extension.php (100%) create mode 100644 packages/dev/src/PhpStan/Container/Installer.php rename {dev => packages/dev/src}/PhpStan/Container/extension.neon (100%) diff --git a/README.md b/README.md index ad12f75c3..89a4b6620 100644 --- a/README.md +++ b/README.md @@ -50,6 +50,12 @@ This package contains useful utilities and classes. [Read more](). +## Dev 🐝 + +Various tools and helpers to develop the package. + +[Read more](). + ## Documentator This package provides various utilities for documentation generation. diff --git a/UPGRADE.md b/UPGRADE.md index 912ec222c..744477164 100644 --- a/UPGRADE.md +++ b/UPGRADE.md @@ -34,6 +34,7 @@ Please also see [changelog](https://github.com/LastDragon-ru/lara-asp/releases) [//]: # (warning: Generated automatically. Do not edit.) * [Core]() +* [Dev 🐝]() * [Documentator]() * [Eloquent Helpers]() * [Formatter]() diff --git a/composer.json b/composer.json index ca6e66de7..1b53653fa 100644 --- a/composer.json +++ b/composer.json @@ -97,7 +97,6 @@ }, "autoload": { "exclude-from-classmap": [ - "dev/**.php", "packages/core/src/**Test.php", "packages/core/src/Testing/**.php", "packages/documentator/src/**Test.php", @@ -151,10 +150,8 @@ "packages/testing/docs/" ], "psr-4": { - "Larastan\\Larastan\\": "dev/Larastan", "LastDragon_ru\\LaraASP\\Core\\Docs\\": "packages/core/docs", "LastDragon_ru\\LaraASP\\Dev\\App\\": "dev/App", - "LastDragon_ru\\LaraASP\\Dev\\PhpStan\\": "dev/PhpStan", "LastDragon_ru\\LaraASP\\Documentator\\Docs\\": "packages/documentator/docs", "LastDragon_ru\\LaraASP\\Eloquent\\Docs\\": "packages/eloquent/docs", "LastDragon_ru\\LaraASP\\Formatter\\Docs\\": "packages/formatter/docs", @@ -261,6 +258,7 @@ "replace": { "lastdragon-ru/lara-asp-core": "self.version", "lastdragon-ru/lara-asp-documentator": "self.version", + "lastdragon-ru/lara-asp-dev": "self.version", "lastdragon-ru/lara-asp-eloquent": "self.version", "lastdragon-ru/lara-asp-formatter": "self.version", "lastdragon-ru/lara-asp-graphql": "self.version", diff --git a/monorepo-builder.php b/monorepo-builder.php index 3d4986e99..8344230f9 100644 --- a/monorepo-builder.php +++ b/monorepo-builder.php @@ -4,4 +4,5 @@ return static function (MBConfig $config): void { $config->packageDirectories([__DIR__.'/packages']); + $config->packageDirectoriesExcludes([__DIR__.'/packages/dev']); }; diff --git a/packages/dev/CHANGELOG.md b/packages/dev/CHANGELOG.md new file mode 100644 index 000000000..8a5f44710 --- /dev/null +++ b/packages/dev/CHANGELOG.md @@ -0,0 +1,3 @@ +# Changelog + +Please see [Releases](https://github.com/LastDragon-ru/lara-asp/releases). diff --git a/packages/dev/LICENSE b/packages/dev/LICENSE new file mode 100644 index 000000000..e970b27ef --- /dev/null +++ b/packages/dev/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 Aleksei Lebedev + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/packages/dev/README.md b/packages/dev/README.md new file mode 100644 index 000000000..74bf14b21 --- /dev/null +++ b/packages/dev/README.md @@ -0,0 +1,58 @@ +# Dev 🐝 + +Various tools and helpers to develop the package. + +[include:exec]: <../../dev/artisan lara-asp-documentator:requirements> +[//]: # (start: 876a9177c0e8e3722ac84e8f3888245fc9070a64a87dedfe7c9d9ba2a13b374b) +[//]: # (warning: Generated automatically. Do not edit.) + +# Requirements + +| Requirement | Constraint | Supported by | +|--------------|---------------------|------------------| +| PHP | `^8.3` | `HEAD` | +| | `^8.2` | `HEAD` | +| | `^8.1` | `HEAD` | +| PHPStan | `^1.10` | `HEAD` | + +[//]: # (end: 876a9177c0e8e3722ac84e8f3888245fc9070a64a87dedfe7c9d9ba2a13b374b) + +[include:template]: ../../docs/Shared/InstallationDev.md ({"data": {"package": "dev"}}) +[//]: # (start: e7fd13bb6d43bcc48d9fe51411b607bee0e47ccbcb1b788889f59b733865e0f1) +[//]: # (warning: Generated automatically. Do not edit.) + +# Installation + +> [!NOTE] +> +> The package intended to use in dev. + +```shell +composer require --dev lastdragon-ru/lara-asp-dev +``` + +[//]: # (end: e7fd13bb6d43bcc48d9fe51411b607bee0e47ccbcb1b788889f59b733865e0f1) + +## Usage + +_In progress_. + +[include:file]: ../../docs/Shared/Upgrading.md +[//]: # (start: e9139abedb89f69284102c9112b548fd7add07cf196259916ea4f1c98977223b) +[//]: # (warning: Generated automatically. Do not edit.) + +# Upgrading + +Please follow [Upgrade Guide](UPGRADE.md). + +[//]: # (end: e9139abedb89f69284102c9112b548fd7add07cf196259916ea4f1c98977223b) + +[include:file]: ../../docs/Shared/Contributing.md +[//]: # (start: 057ec3a599c54447e95d6dd2e9f0f6a6621d9eb75446a5e5e471ba9b2f414b89) +[//]: # (warning: Generated automatically. Do not edit.) + +# Contributing + +This package is the part of Awesome Set of Packages for Laravel. Please use the [main repository](https://github.com/LastDragon-ru/lara-asp) to [report issues](https://github.com/LastDragon-ru/lara-asp/issues), send [pull requests](https://github.com/LastDragon-ru/lara-asp/pulls), or [ask questions](https://github.com/LastDragon-ru/lara-asp/discussions). + +[//]: # (end: 057ec3a599c54447e95d6dd2e9f0f6a6621d9eb75446a5e5e471ba9b2f414b89) diff --git a/packages/dev/UPGRADE.md b/packages/dev/UPGRADE.md new file mode 100644 index 000000000..7f94b9128 --- /dev/null +++ b/packages/dev/UPGRADE.md @@ -0,0 +1,28 @@ +# Upgrade Guide + +[include:file]: ../../docs/Shared/Upgrade.md +[//]: # (start: c70a9a43c0a80bd2e7fa6010a9b2c0fbcab4cb4d536d7a498216d9df7431f7e2) +[//]: # (warning: Generated automatically. Do not edit.) + +## Instructions + +1. Determine the current version (`composer info ...`) +2. Choose the wanted version +3. Follow the instructions +4. ?????? +5. PROFIT + +For example, if the current version is `2.x` and you want to migrate to `5.x`, you need to perform all steps in the following order: + +* "Upgrade from v2" +* "Upgrade from v3" +* "Upgrade from v4" + +Please also see [changelog](https://github.com/LastDragon-ru/lara-asp/releases) to find all changes. + +## Legend + +| 🤝 | Backward-compatible change. Please note that despite you can ignore it now, but it will be mandatory in the future. | +|:--:|:--------------------------------------------------------------------------------------------------------------------| + +[//]: # (end: c70a9a43c0a80bd2e7fa6010a9b2c0fbcab4cb4d536d7a498216d9df7431f7e2) diff --git a/packages/dev/composer.json b/packages/dev/composer.json new file mode 100644 index 000000000..155a2efa1 --- /dev/null +++ b/packages/dev/composer.json @@ -0,0 +1,42 @@ +{ + "name": "lastdragon-ru/lara-asp-dev", + "homepage": "https://github.com/LastDragon-ru/lara-asp", + "description": "The Awesome Set of Packages for Laravel - Dev tools.", + "readme": "README.md", + "license": "MIT", + "type": "library", + "keywords": [ + "php", + "dev", + "phpstan", + "phpstan-rule", + "phpstan-extension" + ], + "support": { + "issues": "https://github.com/LastDragon-ru/lara-asp/issues", + "source": "https://github.com/LastDragon-ru/lara-asp", + "forum": "https://github.com/LastDragon-ru/lara-asp/discussions" + }, + "require": { + "php": "^8.1|^8.2|^8.3", + "ext-mbstring": "*", + "phpstan/phpstan": "^1.10", + "illuminate/container": "^10.34.0" + }, + "require-dev": { + "phpunit/phpunit": "^10.1.0" + }, + "autoload": { + "psr-4": { + "LastDragon_ru\\LaraASP\\Dev\\": "src/", + "Larastan\\Larastan\\": "larastan/" + }, + "exclude-from-classmap": [ + "src/**Test.php" + ] + }, + "config": { + "sort-packages": true, + "optimize-autoloader": true + } +} diff --git a/dev/Larastan/ReturnTypes/ContainerArrayAccessDynamicMethodReturnTypeExtension.php b/packages/dev/larastan/ReturnTypes/ContainerArrayAccessDynamicMethodReturnTypeExtension.php similarity index 100% rename from dev/Larastan/ReturnTypes/ContainerArrayAccessDynamicMethodReturnTypeExtension.php rename to packages/dev/larastan/ReturnTypes/ContainerArrayAccessDynamicMethodReturnTypeExtension.php diff --git a/dev/Larastan/ReturnTypes/ContainerMakeDynamicReturnTypeExtension.php b/packages/dev/larastan/ReturnTypes/ContainerMakeDynamicReturnTypeExtension.php similarity index 100% rename from dev/Larastan/ReturnTypes/ContainerMakeDynamicReturnTypeExtension.php rename to packages/dev/larastan/ReturnTypes/ContainerMakeDynamicReturnTypeExtension.php diff --git a/packages/dev/metadata.json b/packages/dev/metadata.json new file mode 100644 index 000000000..f83fbef3a --- /dev/null +++ b/packages/dev/metadata.json @@ -0,0 +1,20 @@ +{ + "version": "HEAD", + "require": { + "php": "PHP", + "phpstan/phpstan": "PHPStan" + }, + "merge": null, + "requirements": { + "HEAD": { + "php": [ + "^8.3", + "^8.2", + "^8.1" + ], + "phpstan/phpstan": [ + "^1.10" + ] + } + } +} diff --git a/packages/dev/phpunit.xml b/packages/dev/phpunit.xml new file mode 100644 index 000000000..81ae5ad6f --- /dev/null +++ b/packages/dev/phpunit.xml @@ -0,0 +1,21 @@ + + + + + ./src + + + + + ./src + + + ./src + + + + diff --git a/packages/dev/src/Package.php b/packages/dev/src/Package.php new file mode 100644 index 000000000..5f2726373 --- /dev/null +++ b/packages/dev/src/Package.php @@ -0,0 +1,7 @@ +=5.0.0" + "doctrine/dbal": "<3.7.0 || >=4.0.0" }, "require-dev": { - "doctrine/dbal": "^4.0.0", + "doctrine/dbal": "^3.7.0", "nesbot/carbon": "^2.71.0 || ^3.0.0", "phpunit/phpunit": "^10.3" }, @@ -118,7 +118,7 @@ ], "support": { "issues": "https://github.com/CarbonPHP/carbon-doctrine-types/issues", - "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/3.2.0" + "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/2.1.0" }, "funding": [ { @@ -134,7 +134,7 @@ "type": "tidelift" } ], - "time": "2024-02-09T16:56:22+00:00" + "time": "2023-12-11T17:09:12+00:00" }, { "name": "doctrine/inflector", @@ -298,331 +298,6 @@ ], "time": "2023-10-12T05:21:21+00:00" }, - { - "name": "guzzlehttp/guzzle", - "version": "7.8.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "41042bc7ab002487b876a0683fc8dce04ddce104" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/41042bc7ab002487b876a0683fc8dce04ddce104", - "reference": "41042bc7ab002487b876a0683fc8dce04ddce104", - "shasum": "" - }, - "require": { - "ext-json": "*", - "guzzlehttp/promises": "^1.5.3 || ^2.0.1", - "guzzlehttp/psr7": "^1.9.1 || ^2.5.1", - "php": "^7.2.5 || ^8.0", - "psr/http-client": "^1.0", - "symfony/deprecation-contracts": "^2.2 || ^3.0" - }, - "provide": { - "psr/http-client-implementation": "1.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.2", - "ext-curl": "*", - "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999", - "php-http/message-factory": "^1.1", - "phpunit/phpunit": "^8.5.36 || ^9.6.15", - "psr/log": "^1.1 || ^2.0 || ^3.0" - }, - "suggest": { - "ext-curl": "Required for CURL handler support", - "ext-intl": "Required for Internationalized Domain Name (IDN) support", - "psr/log": "Required for using the Log middleware" - }, - "type": "library", - "extra": { - "bamarni-bin": { - "bin-links": true, - "forward-command": false - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - }, - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Jeremy Lindblom", - "email": "jeremeamia@gmail.com", - "homepage": "https://github.com/jeremeamia" - }, - { - "name": "George Mponos", - "email": "gmponos@gmail.com", - "homepage": "https://github.com/gmponos" - }, - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com", - "homepage": "https://github.com/Nyholm" - }, - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com", - "homepage": "https://github.com/sagikazarmark" - }, - { - "name": "Tobias Schultze", - "email": "webmaster@tubo-world.de", - "homepage": "https://github.com/Tobion" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "psr-18", - "psr-7", - "rest", - "web service" - ], - "support": { - "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.8.1" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://github.com/Nyholm", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle", - "type": "tidelift" - } - ], - "time": "2023-12-03T20:35:24+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "2.0.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/bbff78d96034045e58e13dedd6ad91b5d1253223", - "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223", - "shasum": "" - }, - "require": { - "php": "^7.2.5 || ^8.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.36 || ^9.6.15" - }, - "type": "library", - "extra": { - "bamarni-bin": { - "bin-links": true, - "forward-command": false - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - }, - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com", - "homepage": "https://github.com/Nyholm" - }, - { - "name": "Tobias Schultze", - "email": "webmaster@tubo-world.de", - "homepage": "https://github.com/Tobion" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "support": { - "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/2.0.2" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://github.com/Nyholm", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises", - "type": "tidelift" - } - ], - "time": "2023-12-03T20:19:20+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "2.6.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/45b30f99ac27b5ca93cb4831afe16285f57b8221", - "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221", - "shasum": "" - }, - "require": { - "php": "^7.2.5 || ^8.0", - "psr/http-factory": "^1.0", - "psr/http-message": "^1.1 || ^2.0", - "ralouphie/getallheaders": "^3.0" - }, - "provide": { - "psr/http-factory-implementation": "1.0", - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.2", - "http-interop/http-factory-tests": "^0.9", - "phpunit/phpunit": "^8.5.36 || ^9.6.15" - }, - "suggest": { - "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" - }, - "type": "library", - "extra": { - "bamarni-bin": { - "bin-links": true, - "forward-command": false - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - }, - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "George Mponos", - "email": "gmponos@gmail.com", - "homepage": "https://github.com/gmponos" - }, - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com", - "homepage": "https://github.com/Nyholm" - }, - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com", - "homepage": "https://github.com/sagikazarmark" - }, - { - "name": "Tobias Schultze", - "email": "webmaster@tubo-world.de", - "homepage": "https://github.com/Tobion" - }, - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com", - "homepage": "https://sagikazarmark.hu" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "psr-7", - "request", - "response", - "stream", - "uri", - "url" - ], - "support": { - "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.6.2" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://github.com/Nyholm", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7", - "type": "tidelift" - } - ], - "time": "2023-12-03T20:05:35+00:00" - }, { "name": "guzzlehttp/uri-template", "version": "v1.0.3", @@ -711,24 +386,24 @@ }, { "name": "illuminate/bus", - "version": "v11.0.8", + "version": "v10.48.4", "source": { "type": "git", "url": "https://github.com/illuminate/bus.git", - "reference": "d1b729047ec536f01b590cc1e5d3e46fe18a55d6" + "reference": "33993b8f54e91b03fb5000e55693e146e7370763" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/bus/zipball/d1b729047ec536f01b590cc1e5d3e46fe18a55d6", - "reference": "d1b729047ec536f01b590cc1e5d3e46fe18a55d6", + "url": "https://api.github.com/repos/illuminate/bus/zipball/33993b8f54e91b03fb5000e55693e146e7370763", + "reference": "33993b8f54e91b03fb5000e55693e146e7370763", "shasum": "" }, "require": { - "illuminate/collections": "^11.0", - "illuminate/contracts": "^11.0", - "illuminate/pipeline": "^11.0", - "illuminate/support": "^11.0", - "php": "^8.2" + "illuminate/collections": "^10.0", + "illuminate/contracts": "^10.0", + "illuminate/pipeline": "^10.0", + "illuminate/support": "^10.0", + "php": "^8.1" }, "suggest": { "illuminate/queue": "Required to use closures when chaining jobs (^7.0)." @@ -736,7 +411,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "11.x-dev" + "dev-master": "10.x-dev" } }, "autoload": { @@ -760,35 +435,35 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2024-02-26T10:36:42+00:00" + "time": "2024-02-23T15:38:25+00:00" }, { "name": "illuminate/collections", - "version": "v11.0.8", + "version": "v10.48.4", "source": { "type": "git", "url": "https://github.com/illuminate/collections.git", - "reference": "4cbbdae4ef3654378e28e7ebd43cad91adf4a658" + "reference": "f9589f1063a449111dcaa1d68285b507d9483a95" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/collections/zipball/4cbbdae4ef3654378e28e7ebd43cad91adf4a658", - "reference": "4cbbdae4ef3654378e28e7ebd43cad91adf4a658", + "url": "https://api.github.com/repos/illuminate/collections/zipball/f9589f1063a449111dcaa1d68285b507d9483a95", + "reference": "f9589f1063a449111dcaa1d68285b507d9483a95", "shasum": "" }, "require": { - "illuminate/conditionable": "^11.0", - "illuminate/contracts": "^11.0", - "illuminate/macroable": "^11.0", - "php": "^8.2" + "illuminate/conditionable": "^10.0", + "illuminate/contracts": "^10.0", + "illuminate/macroable": "^10.0", + "php": "^8.1" }, "suggest": { - "symfony/var-dumper": "Required to use the dump method (^7.0)." + "symfony/var-dumper": "Required to use the dump method (^6.2)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "11.x-dev" + "dev-master": "10.x-dev" } }, "autoload": { @@ -815,20 +490,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2024-03-21T09:12:36+00:00" + "time": "2024-03-20T20:09:13+00:00" }, { "name": "illuminate/conditionable", - "version": "v11.0.8", + "version": "v10.48.4", "source": { "type": "git", "url": "https://github.com/illuminate/conditionable.git", - "reference": "e4c5c9b855c60c7bb16ce92ca9372684448cce47" + "reference": "d0958e4741fc9d6f516a552060fd1b829a85e009" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/conditionable/zipball/e4c5c9b855c60c7bb16ce92ca9372684448cce47", - "reference": "e4c5c9b855c60c7bb16ce92ca9372684448cce47", + "url": "https://api.github.com/repos/illuminate/conditionable/zipball/d0958e4741fc9d6f516a552060fd1b829a85e009", + "reference": "d0958e4741fc9d6f516a552060fd1b829a85e009", "shasum": "" }, "require": { @@ -837,7 +512,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "11.x-dev" + "dev-master": "10.x-dev" } }, "autoload": { @@ -861,49 +536,48 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2023-02-07T10:39:14+00:00" + "time": "2023-02-03T08:06:17+00:00" }, { "name": "illuminate/console", - "version": "v11.0.8", + "version": "v10.48.4", "source": { "type": "git", "url": "https://github.com/illuminate/console.git", - "reference": "9acf4744c096ad2aed303a530afdcf73a1a313a5" + "reference": "f6f9b944ef0f59dd331350bdd1e720c850946bb1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/console/zipball/9acf4744c096ad2aed303a530afdcf73a1a313a5", - "reference": "9acf4744c096ad2aed303a530afdcf73a1a313a5", + "url": "https://api.github.com/repos/illuminate/console/zipball/f6f9b944ef0f59dd331350bdd1e720c850946bb1", + "reference": "f6f9b944ef0f59dd331350bdd1e720c850946bb1", "shasum": "" }, "require": { "ext-mbstring": "*", - "illuminate/collections": "^11.0", - "illuminate/contracts": "^11.0", - "illuminate/macroable": "^11.0", - "illuminate/support": "^11.0", - "illuminate/view": "^11.0", - "laravel/prompts": "^0.1.12", - "nunomaduro/termwind": "^2.0", - "php": "^8.2", - "symfony/console": "^7.0", - "symfony/polyfill-php83": "^1.28", - "symfony/process": "^7.0" + "illuminate/collections": "^10.0", + "illuminate/contracts": "^10.0", + "illuminate/macroable": "^10.0", + "illuminate/support": "^10.0", + "illuminate/view": "^10.0", + "laravel/prompts": "^0.1.9", + "nunomaduro/termwind": "^1.13", + "php": "^8.1", + "symfony/console": "^6.2", + "symfony/process": "^6.2" }, "suggest": { "dragonmantank/cron-expression": "Required to use scheduler (^3.3.2).", "ext-pcntl": "Required to use signal trapping.", - "guzzlehttp/guzzle": "Required to use the ping methods on schedules (^7.8).", - "illuminate/bus": "Required to use the scheduled job dispatcher (^11.0).", - "illuminate/container": "Required to use the scheduler (^11.0).", - "illuminate/filesystem": "Required to use the generator command (^11.0).", - "illuminate/queue": "Required to use closures for scheduled jobs (^11.0)." + "guzzlehttp/guzzle": "Required to use the ping methods on schedules (^7.5).", + "illuminate/bus": "Required to use the scheduled job dispatcher (^10.0).", + "illuminate/container": "Required to use the scheduler (^10.0).", + "illuminate/filesystem": "Required to use the generator command (^10.0).", + "illuminate/queue": "Required to use closures for scheduled jobs (^10.0)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "11.x-dev" + "dev-master": "10.x-dev" } }, "autoload": { @@ -927,25 +601,25 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2024-03-21T13:11:39+00:00" + "time": "2024-03-11T21:46:09+00:00" }, { "name": "illuminate/container", - "version": "v11.0.8", + "version": "v10.48.4", "source": { "type": "git", "url": "https://github.com/illuminate/container.git", - "reference": "78cbe88cdc7300efd4cf90244abec2e3c42219bb" + "reference": "ddc26273085fad3c471b2602ad820e0097ff7939" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/container/zipball/78cbe88cdc7300efd4cf90244abec2e3c42219bb", - "reference": "78cbe88cdc7300efd4cf90244abec2e3c42219bb", + "url": "https://api.github.com/repos/illuminate/container/zipball/ddc26273085fad3c471b2602ad820e0097ff7939", + "reference": "ddc26273085fad3c471b2602ad820e0097ff7939", "shasum": "" }, "require": { - "illuminate/contracts": "^11.0", - "php": "^8.2", + "illuminate/contracts": "^10.0", + "php": "^8.1", "psr/container": "^1.1.1|^2.0.1" }, "provide": { @@ -954,7 +628,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "11.x-dev" + "dev-master": "10.x-dev" } }, "autoload": { @@ -978,31 +652,31 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2023-09-15T13:17:41+00:00" + "time": "2023-06-18T09:12:03+00:00" }, { "name": "illuminate/contracts", - "version": "v11.0.8", + "version": "v10.48.4", "source": { "type": "git", "url": "https://github.com/illuminate/contracts.git", - "reference": "fae548ad43f569fc506f40385b2e0dcf1f4eb2c9" + "reference": "8d7152c4a1f5d9cf7da3e8b71f23e4556f6138ac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/contracts/zipball/fae548ad43f569fc506f40385b2e0dcf1f4eb2c9", - "reference": "fae548ad43f569fc506f40385b2e0dcf1f4eb2c9", + "url": "https://api.github.com/repos/illuminate/contracts/zipball/8d7152c4a1f5d9cf7da3e8b71f23e4556f6138ac", + "reference": "8d7152c4a1f5d9cf7da3e8b71f23e4556f6138ac", "shasum": "" }, "require": { - "php": "^8.2", + "php": "^8.1", "psr/container": "^1.1.1|^2.0.1", "psr/simple-cache": "^1.0|^2.0|^3.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "11.x-dev" + "dev-master": "10.x-dev" } }, "autoload": { @@ -1026,45 +700,50 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2024-02-23T15:52:10+00:00" + "time": "2024-01-15T18:52:32+00:00" }, { "name": "illuminate/database", - "version": "v11.0.8", + "version": "v10.48.4", "source": { "type": "git", "url": "https://github.com/illuminate/database.git", - "reference": "b3b8cd87a2271fc9427006dc56710ea9dc55af1c" + "reference": "0f003d7970b966d3bccf407876fe83cac35ebe67" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/database/zipball/b3b8cd87a2271fc9427006dc56710ea9dc55af1c", - "reference": "b3b8cd87a2271fc9427006dc56710ea9dc55af1c", + "url": "https://api.github.com/repos/illuminate/database/zipball/0f003d7970b966d3bccf407876fe83cac35ebe67", + "reference": "0f003d7970b966d3bccf407876fe83cac35ebe67", "shasum": "" }, "require": { "brick/math": "^0.9.3|^0.10.2|^0.11|^0.12", "ext-pdo": "*", - "illuminate/collections": "^11.0", - "illuminate/container": "^11.0", - "illuminate/contracts": "^11.0", - "illuminate/macroable": "^11.0", - "illuminate/support": "^11.0", - "php": "^8.2" + "illuminate/collections": "^10.0", + "illuminate/container": "^10.0", + "illuminate/contracts": "^10.0", + "illuminate/macroable": "^10.0", + "illuminate/support": "^10.0", + "php": "^8.1" + }, + "conflict": { + "carbonphp/carbon-doctrine-types": ">=3.0", + "doctrine/dbal": ">=4.0" }, "suggest": { + "doctrine/dbal": "Required to rename columns and drop SQLite columns (^3.5.1).", "ext-filter": "Required to use the Postgres database driver.", "fakerphp/faker": "Required to use the eloquent factory builder (^1.21).", - "illuminate/console": "Required to use the database commands (^11.0).", - "illuminate/events": "Required to use the observers with Eloquent (^11.0).", - "illuminate/filesystem": "Required to use the migrations (^11.0).", - "illuminate/pagination": "Required to paginate the result set (^11.0).", - "symfony/finder": "Required to use Eloquent model factories (^7.0)." + "illuminate/console": "Required to use the database commands (^10.0).", + "illuminate/events": "Required to use the observers with Eloquent (^10.0).", + "illuminate/filesystem": "Required to use the migrations (^10.0).", + "illuminate/pagination": "Required to paginate the result set (^10.0).", + "symfony/finder": "Required to use Eloquent model factories (^6.2)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "11.x-dev" + "dev-master": "10.x-dev" } }, "autoload": { @@ -1094,35 +773,35 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2024-03-19T20:07:36+00:00" + "time": "2024-03-12T02:39:22+00:00" }, { "name": "illuminate/events", - "version": "v11.0.8", + "version": "v10.48.4", "source": { "type": "git", "url": "https://github.com/illuminate/events.git", - "reference": "e9a0c67fcdff75b902234dd34108d4961fa542fd" + "reference": "a931bfa88edc6ac52c9abbfd7b769343d321d3eb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/events/zipball/e9a0c67fcdff75b902234dd34108d4961fa542fd", - "reference": "e9a0c67fcdff75b902234dd34108d4961fa542fd", + "url": "https://api.github.com/repos/illuminate/events/zipball/a931bfa88edc6ac52c9abbfd7b769343d321d3eb", + "reference": "a931bfa88edc6ac52c9abbfd7b769343d321d3eb", "shasum": "" }, "require": { - "illuminate/bus": "^11.0", - "illuminate/collections": "^11.0", - "illuminate/container": "^11.0", - "illuminate/contracts": "^11.0", - "illuminate/macroable": "^11.0", - "illuminate/support": "^11.0", - "php": "^8.2" + "illuminate/bus": "^10.0", + "illuminate/collections": "^10.0", + "illuminate/container": "^10.0", + "illuminate/contracts": "^10.0", + "illuminate/macroable": "^10.0", + "illuminate/support": "^10.0", + "php": "^8.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "11.x-dev" + "dev-master": "10.x-dev" } }, "autoload": { @@ -1149,29 +828,29 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2024-03-05T17:20:18+00:00" + "time": "2024-03-04T14:41:04+00:00" }, { "name": "illuminate/filesystem", - "version": "v11.0.8", + "version": "v10.48.4", "source": { "type": "git", "url": "https://github.com/illuminate/filesystem.git", - "reference": "5467e5c884a78847321926c748294c06f191027f" + "reference": "592fb581a52fba43bf78c2e4b22db540c9f9f149" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/filesystem/zipball/5467e5c884a78847321926c748294c06f191027f", - "reference": "5467e5c884a78847321926c748294c06f191027f", + "url": "https://api.github.com/repos/illuminate/filesystem/zipball/592fb581a52fba43bf78c2e4b22db540c9f9f149", + "reference": "592fb581a52fba43bf78c2e4b22db540c9f9f149", "shasum": "" }, "require": { - "illuminate/collections": "^11.0", - "illuminate/contracts": "^11.0", - "illuminate/macroable": "^11.0", - "illuminate/support": "^11.0", - "php": "^8.2", - "symfony/finder": "^7.0" + "illuminate/collections": "^10.0", + "illuminate/contracts": "^10.0", + "illuminate/macroable": "^10.0", + "illuminate/support": "^10.0", + "php": "^8.1", + "symfony/finder": "^6.2" }, "suggest": { "ext-fileinfo": "Required to use the Filesystem class.", @@ -1183,13 +862,13 @@ "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.0).", "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.0).", "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", - "symfony/filesystem": "Required to enable support for relative symbolic links (^7.0).", - "symfony/mime": "Required to enable support for guessing extensions (^7.0)." + "symfony/filesystem": "Required to enable support for relative symbolic links (^6.2).", + "symfony/mime": "Required to enable support for guessing extensions (^6.2)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "11.x-dev" + "dev-master": "10.x-dev" } }, "autoload": { @@ -1216,44 +895,43 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2024-03-12T11:29:47+00:00" + "time": "2024-03-11T21:45:53+00:00" }, { "name": "illuminate/http", - "version": "v11.0.8", + "version": "v10.48.4", "source": { "type": "git", "url": "https://github.com/illuminate/http.git", - "reference": "99d260ab8bb700266341332e23f6e03ae980d6aa" + "reference": "0dd2ee794017c7f5e811cf8fb0dc74c646918d30" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/http/zipball/99d260ab8bb700266341332e23f6e03ae980d6aa", - "reference": "99d260ab8bb700266341332e23f6e03ae980d6aa", + "url": "https://api.github.com/repos/illuminate/http/zipball/0dd2ee794017c7f5e811cf8fb0dc74c646918d30", + "reference": "0dd2ee794017c7f5e811cf8fb0dc74c646918d30", "shasum": "" }, "require": { "ext-filter": "*", - "fruitcake/php-cors": "^1.3", - "guzzlehttp/guzzle": "^7.8", + "fruitcake/php-cors": "^1.2", "guzzlehttp/uri-template": "^1.0", - "illuminate/collections": "^11.0", - "illuminate/macroable": "^11.0", - "illuminate/session": "^11.0", - "illuminate/support": "^11.0", - "php": "^8.2", - "symfony/http-foundation": "^7.0", - "symfony/http-kernel": "^7.0", - "symfony/mime": "^7.0", - "symfony/polyfill-php83": "^1.28" + "illuminate/collections": "^10.0", + "illuminate/macroable": "^10.0", + "illuminate/session": "^10.0", + "illuminate/support": "^10.0", + "php": "^8.1", + "symfony/http-foundation": "^6.4", + "symfony/http-kernel": "^6.2", + "symfony/mime": "^6.2" }, "suggest": { - "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image()." + "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().", + "guzzlehttp/guzzle": "Required to use the HTTP Client (^7.5)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "11.x-dev" + "dev-master": "10.x-dev" } }, "autoload": { @@ -1277,29 +955,29 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2024-03-08T21:04:03+00:00" + "time": "2024-02-21T15:19:17+00:00" }, { "name": "illuminate/macroable", - "version": "v11.0.8", + "version": "v10.48.4", "source": { "type": "git", "url": "https://github.com/illuminate/macroable.git", - "reference": "e1be58f9b2af73f242dc6a9add1f376b3ec89eef" + "reference": "dff667a46ac37b634dcf68909d9d41e94dc97c27" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/macroable/zipball/e1be58f9b2af73f242dc6a9add1f376b3ec89eef", - "reference": "e1be58f9b2af73f242dc6a9add1f376b3ec89eef", + "url": "https://api.github.com/repos/illuminate/macroable/zipball/dff667a46ac37b634dcf68909d9d41e94dc97c27", + "reference": "dff667a46ac37b634dcf68909d9d41e94dc97c27", "shasum": "" }, "require": { - "php": "^8.2" + "php": "^8.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "11.x-dev" + "dev-master": "10.x-dev" } }, "autoload": { @@ -1323,31 +1001,31 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2023-06-08T14:08:27+00:00" + "time": "2023-06-05T12:46:42+00:00" }, { "name": "illuminate/pipeline", - "version": "v11.0.8", + "version": "v10.48.4", "source": { "type": "git", "url": "https://github.com/illuminate/pipeline.git", - "reference": "cbb4a3d3e41e06ec506f14d0f270fe5cf7a9b437" + "reference": "f802187e917a171332cc90f8c1a102939c57405d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/pipeline/zipball/cbb4a3d3e41e06ec506f14d0f270fe5cf7a9b437", - "reference": "cbb4a3d3e41e06ec506f14d0f270fe5cf7a9b437", + "url": "https://api.github.com/repos/illuminate/pipeline/zipball/f802187e917a171332cc90f8c1a102939c57405d", + "reference": "f802187e917a171332cc90f8c1a102939c57405d", "shasum": "" }, "require": { - "illuminate/contracts": "^11.0", - "illuminate/support": "^11.0", - "php": "^8.2" + "illuminate/contracts": "^10.0", + "illuminate/support": "^10.0", + "php": "^8.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "11.x-dev" + "dev-master": "10.x-dev" } }, "autoload": { @@ -1371,40 +1049,40 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2023-12-21T04:51:19+00:00" + "time": "2023-12-19T14:47:26+00:00" }, { "name": "illuminate/session", - "version": "v11.0.8", + "version": "v10.48.4", "source": { "type": "git", "url": "https://github.com/illuminate/session.git", - "reference": "d49c97421691c1dd25c8b29e5d552886e773089e" + "reference": "a095707b83327e27ba292c9c4d2413888b1f517c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/session/zipball/d49c97421691c1dd25c8b29e5d552886e773089e", - "reference": "d49c97421691c1dd25c8b29e5d552886e773089e", + "url": "https://api.github.com/repos/illuminate/session/zipball/a095707b83327e27ba292c9c4d2413888b1f517c", + "reference": "a095707b83327e27ba292c9c4d2413888b1f517c", "shasum": "" }, "require": { "ext-ctype": "*", "ext-session": "*", - "illuminate/collections": "^11.0", - "illuminate/contracts": "^11.0", - "illuminate/filesystem": "^11.0", - "illuminate/support": "^11.0", - "php": "^8.2", - "symfony/finder": "^7.0", - "symfony/http-foundation": "^7.0" + "illuminate/collections": "^10.0", + "illuminate/contracts": "^10.0", + "illuminate/filesystem": "^10.0", + "illuminate/support": "^10.0", + "php": "^8.1", + "symfony/finder": "^6.2", + "symfony/http-foundation": "^6.4" }, "suggest": { - "illuminate/console": "Required to use the session:table command (^11.0)." + "illuminate/console": "Required to use the session:table command (^10.0)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "11.x-dev" + "dev-master": "10.x-dev" } }, "autoload": { @@ -1428,20 +1106,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2024-03-19T20:11:10+00:00" + "time": "2023-12-29T21:53:12+00:00" }, { "name": "illuminate/support", - "version": "v11.0.8", + "version": "v10.48.4", "source": { "type": "git", "url": "https://github.com/illuminate/support.git", - "reference": "9e4c65a95465d6c5d4282c4d2435dc04a2f9f10a" + "reference": "980d80017e859c8b1720892d952516e8c0b6708f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/support/zipball/9e4c65a95465d6c5d4282c4d2435dc04a2f9f10a", - "reference": "9e4c65a95465d6c5d4282c4d2435dc04a2f9f10a", + "url": "https://api.github.com/repos/illuminate/support/zipball/980d80017e859c8b1720892d952516e8c0b6708f", + "reference": "980d80017e859c8b1720892d952516e8c0b6708f", "shasum": "" }, "require": { @@ -1449,33 +1127,30 @@ "ext-ctype": "*", "ext-filter": "*", "ext-mbstring": "*", - "illuminate/collections": "^11.0", - "illuminate/conditionable": "^11.0", - "illuminate/contracts": "^11.0", - "illuminate/macroable": "^11.0", - "nesbot/carbon": "^2.72.2|^3.0", - "php": "^8.2", + "illuminate/collections": "^10.0", + "illuminate/conditionable": "^10.0", + "illuminate/contracts": "^10.0", + "illuminate/macroable": "^10.0", + "nesbot/carbon": "^2.67", + "php": "^8.1", "voku/portable-ascii": "^2.0" }, "conflict": { "tightenco/collect": "<5.5.33" }, - "replace": { - "spatie/once": "*" - }, "suggest": { - "illuminate/filesystem": "Required to use the composer class (^11.0).", + "illuminate/filesystem": "Required to use the composer class (^10.0).", "league/commonmark": "Required to use Str::markdown() and Stringable::markdown() (^2.0.2).", "ramsey/uuid": "Required to use Str::uuid() (^4.7).", - "symfony/process": "Required to use the composer class (^7.0).", - "symfony/uid": "Required to use Str::ulid() (^7.0).", - "symfony/var-dumper": "Required to use the dd function (^7.0).", + "symfony/process": "Required to use the composer class (^6.2).", + "symfony/uid": "Required to use Str::ulid() (^6.2).", + "symfony/var-dumper": "Required to use the dd function (^6.2).", "vlucas/phpdotenv": "Required to use the Env class and env helper (^5.4.1)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "11.x-dev" + "dev-master": "10.x-dev" } }, "autoload": { @@ -1502,37 +1177,37 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2024-03-20T20:10:03+00:00" + "time": "2024-03-11T21:46:45+00:00" }, { "name": "illuminate/view", - "version": "v11.0.8", + "version": "v10.48.4", "source": { "type": "git", "url": "https://github.com/illuminate/view.git", - "reference": "2a9125ef0bb54d7164d8cb28d5b4fd46df5f2633" + "reference": "504d55e0f2d90c75588627e6a77a4d1228cf1a02" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/view/zipball/2a9125ef0bb54d7164d8cb28d5b4fd46df5f2633", - "reference": "2a9125ef0bb54d7164d8cb28d5b4fd46df5f2633", + "url": "https://api.github.com/repos/illuminate/view/zipball/504d55e0f2d90c75588627e6a77a4d1228cf1a02", + "reference": "504d55e0f2d90c75588627e6a77a4d1228cf1a02", "shasum": "" }, "require": { "ext-tokenizer": "*", - "illuminate/collections": "^11.0", - "illuminate/container": "^11.0", - "illuminate/contracts": "^11.0", - "illuminate/events": "^11.0", - "illuminate/filesystem": "^11.0", - "illuminate/macroable": "^11.0", - "illuminate/support": "^11.0", - "php": "^8.2" + "illuminate/collections": "^10.0", + "illuminate/container": "^10.0", + "illuminate/contracts": "^10.0", + "illuminate/events": "^10.0", + "illuminate/filesystem": "^10.0", + "illuminate/macroable": "^10.0", + "illuminate/support": "^10.0", + "php": "^8.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "11.x-dev" + "dev-master": "10.x-dev" } }, "autoload": { @@ -1556,7 +1231,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2024-03-12T16:42:08+00:00" + "time": "2024-03-12T16:33:42+00:00" }, { "name": "larastan/larastan", @@ -1712,48 +1387,97 @@ "MIT" ], "support": { - "issues": "https://github.com/laravel/prompts/issues", - "source": "https://github.com/laravel/prompts/tree/v0.1.16" + "issues": "https://github.com/laravel/prompts/issues", + "source": "https://github.com/laravel/prompts/tree/v0.1.16" + }, + "time": "2024-02-21T19:25:27+00:00" + }, + { + "name": "lastdragon-ru/lara-asp-dev", + "version": "dev-main", + "dist": { + "type": "path", + "url": "../../packages/dev", + "reference": "22ac6b72feab0c4c8234cf52c937697b44068889" + }, + "require": { + "ext-mbstring": "*", + "illuminate/container": "^10.0.0", + "php": "^8.1|^8.2|^8.3", + "phpstan/phpstan": "^1.10" + }, + "require-dev": { + "phpunit/phpunit": "^10.1.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "LastDragon_ru\\LaraASP\\Dev\\": "src/", + "Larastan\\Larastan\\": "larastan/" + }, + "exclude-from-classmap": [ + "src/**Test.php" + ] + }, + "license": [ + "MIT" + ], + "description": "The Awesome Set of Packages for Laravel - Dev tools.", + "homepage": "https://github.com/LastDragon-ru/lara-asp", + "keywords": [ + "dev", + "php", + "phpstan", + "phpstan-extension", + "phpstan-rule" + ], + "support": { + "issues": "https://github.com/LastDragon-ru/lara-asp/issues", + "source": "https://github.com/LastDragon-ru/lara-asp", + "forum": "https://github.com/LastDragon-ru/lara-asp/discussions" }, - "time": "2024-02-21T19:25:27+00:00" + "transport-options": { + "relative": true + } }, { "name": "nesbot/carbon", - "version": "3.1.1", + "version": "2.72.3", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "34ccf6f6b49c915421c7886c88c0cb77f3ebbfd2" + "reference": "0c6fd108360c562f6e4fd1dedb8233b423e91c83" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/34ccf6f6b49c915421c7886c88c0cb77f3ebbfd2", - "reference": "34ccf6f6b49c915421c7886c88c0cb77f3ebbfd2", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/0c6fd108360c562f6e4fd1dedb8233b423e91c83", + "reference": "0c6fd108360c562f6e4fd1dedb8233b423e91c83", "shasum": "" }, "require": { "carbonphp/carbon-doctrine-types": "*", "ext-json": "*", - "php": "^8.1", + "php": "^7.1.8 || ^8.0", "psr/clock": "^1.0", - "symfony/clock": "^6.3 || ^7.0", "symfony/polyfill-mbstring": "^1.0", - "symfony/translation": "^4.4.18 || ^5.2.1|| ^6.0 || ^7.0" + "symfony/polyfill-php80": "^1.16", + "symfony/translation": "^3.4 || ^4.0 || ^5.0 || ^6.0" }, "provide": { "psr/clock-implementation": "1.0" }, "require-dev": { - "doctrine/dbal": "^3.6.3 || ^4.0", - "doctrine/orm": "^2.15.2 || ^3.0", - "friendsofphp/php-cs-fixer": "^3.18.0", - "kylekatarnls/multi-tester": "^2.2.0", - "ondrejmirtes/better-reflection": "^6.11.0.0", - "phpmd/phpmd": "^2.13.0", - "phpstan/extension-installer": "^1.3.0", - "phpstan/phpstan": "^1.10.20", - "phpunit/phpunit": "^10.2.2", - "squizlabs/php_codesniffer": "^3.7.2" + "doctrine/dbal": "^2.0 || ^3.1.4 || ^4.0", + "doctrine/orm": "^2.7 || ^3.0", + "friendsofphp/php-cs-fixer": "^3.0", + "kylekatarnls/multi-tester": "^2.0", + "ondrejmirtes/better-reflection": "*", + "phpmd/phpmd": "^2.9", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^0.12.99 || ^1.7.14", + "phpunit/php-file-iterator": "^2.0.5 || ^3.0.6", + "phpunit/phpunit": "^7.5.20 || ^8.5.26 || ^9.5.20", + "squizlabs/php_codesniffer": "^3.4" }, "bin": [ "bin/carbon" @@ -1761,8 +1485,8 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.x-dev", - "dev-2.x": "2.x-dev" + "dev-3.x": "3.x-dev", + "dev-master": "2.x-dev" }, "laravel": { "providers": [ @@ -1821,36 +1545,37 @@ "type": "tidelift" } ], - "time": "2024-03-13T12:42:37+00:00" + "time": "2024-01-25T10:35:09+00:00" }, { "name": "nunomaduro/termwind", - "version": "v2.0.1", + "version": "v1.15.1", "source": { "type": "git", "url": "https://github.com/nunomaduro/termwind.git", - "reference": "58c4c58cf23df7f498daeb97092e34f5259feb6a" + "reference": "8ab0b32c8caa4a2e09700ea32925441385e4a5dc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/58c4c58cf23df7f498daeb97092e34f5259feb6a", - "reference": "58c4c58cf23df7f498daeb97092e34f5259feb6a", + "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/8ab0b32c8caa4a2e09700ea32925441385e4a5dc", + "reference": "8ab0b32c8caa4a2e09700ea32925441385e4a5dc", "shasum": "" }, "require": { "ext-mbstring": "*", - "php": "^8.2", - "symfony/console": "^7.0.4" + "php": "^8.0", + "symfony/console": "^5.3.0|^6.0.0" }, "require-dev": { - "ergebnis/phpstan-rules": "^2.2.0", - "illuminate/console": "^11.0.0", - "laravel/pint": "^1.14.0", - "mockery/mockery": "^1.6.7", - "pestphp/pest": "^2.34.1", - "phpstan/phpstan": "^1.10.59", - "phpstan/phpstan-strict-rules": "^1.5.2", - "symfony/var-dumper": "^7.0.4", + "ergebnis/phpstan-rules": "^1.0.", + "illuminate/console": "^8.0|^9.0", + "illuminate/support": "^8.0|^9.0", + "laravel/pint": "^1.0.0", + "pestphp/pest": "^1.21.0", + "pestphp/pest-plugin-mock": "^1.0", + "phpstan/phpstan": "^1.4.6", + "phpstan/phpstan-strict-rules": "^1.1.0", + "symfony/var-dumper": "^5.2.7|^6.0.0", "thecodingmachine/phpstan-strict-rules": "^1.0.0" }, "type": "library", @@ -1859,9 +1584,6 @@ "providers": [ "Termwind\\Laravel\\TermwindServiceProvider" ] - }, - "branch-alias": { - "dev-2.x": "2.x-dev" } }, "autoload": { @@ -1893,7 +1615,7 @@ ], "support": { "issues": "https://github.com/nunomaduro/termwind/issues", - "source": "https://github.com/nunomaduro/termwind/tree/v2.0.1" + "source": "https://github.com/nunomaduro/termwind/tree/v1.15.1" }, "funding": [ { @@ -1909,7 +1631,7 @@ "type": "github" } ], - "time": "2024-03-06T16:17:14+00:00" + "time": "2023-02-08T01:06:31+00:00" }, { "name": "phpmyadmin/sql-parser", @@ -2363,166 +2085,6 @@ }, "time": "2019-01-08T18:20:26+00:00" }, - { - "name": "psr/http-client", - "version": "1.0.3", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-client.git", - "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90", - "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90", - "shasum": "" - }, - "require": { - "php": "^7.0 || ^8.0", - "psr/http-message": "^1.0 || ^2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Client\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP clients", - "homepage": "https://github.com/php-fig/http-client", - "keywords": [ - "http", - "http-client", - "psr", - "psr-18" - ], - "support": { - "source": "https://github.com/php-fig/http-client" - }, - "time": "2023-09-23T14:17:50+00:00" - }, - { - "name": "psr/http-factory", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-factory.git", - "reference": "e616d01114759c4c489f93b099585439f795fe35" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35", - "reference": "e616d01114759c4c489f93b099585439f795fe35", - "shasum": "" - }, - "require": { - "php": ">=7.0.0", - "psr/http-message": "^1.0 || ^2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.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 interfaces for PSR-7 HTTP message factories", - "keywords": [ - "factory", - "http", - "message", - "psr", - "psr-17", - "psr-7", - "request", - "response" - ], - "support": { - "source": "https://github.com/php-fig/http-factory/tree/1.0.2" - }, - "time": "2023-04-10T20:10:41+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": "psr/log", "version": "3.0.0", @@ -2624,50 +2186,6 @@ }, "time": "2021-10-29T13:26:27+00:00" }, - { - "name": "ralouphie/getallheaders", - "version": "3.0.3", - "source": { - "type": "git", - "url": "https://github.com/ralouphie/getallheaders.git", - "reference": "120b605dfeb996808c31b6477290a714d356e822" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", - "reference": "120b605dfeb996808c31b6477290a714d356e822", - "shasum": "" - }, - "require": { - "php": ">=5.6" - }, - "require-dev": { - "php-coveralls/php-coveralls": "^2.1", - "phpunit/phpunit": "^5 || ^6.5" - }, - "type": "library", - "autoload": { - "files": [ - "src/getallheaders.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ralph Khattar", - "email": "ralph.khattar@gmail.com" - } - ], - "description": "A polyfill for getallheaders.", - "support": { - "issues": "https://github.com/ralouphie/getallheaders/issues", - "source": "https://github.com/ralouphie/getallheaders/tree/develop" - }, - "time": "2019-03-08T08:55:37+00:00" - }, { "name": "spaze/phpstan-disallowed-calls", "version": "v3.1.2", @@ -2734,122 +2252,49 @@ ], "time": "2024-02-13T18:26:25+00:00" }, - { - "name": "symfony/clock", - "version": "v7.0.5", - "source": { - "type": "git", - "url": "https://github.com/symfony/clock.git", - "reference": "8b9d08887353d627d5f6c3bf3373b398b49051c2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/clock/zipball/8b9d08887353d627d5f6c3bf3373b398b49051c2", - "reference": "8b9d08887353d627d5f6c3bf3373b398b49051c2", - "shasum": "" - }, - "require": { - "php": ">=8.2", - "psr/clock": "^1.0", - "symfony/polyfill-php83": "^1.28" - }, - "provide": { - "psr/clock-implementation": "1.0" - }, - "type": "library", - "autoload": { - "files": [ - "Resources/now.php" - ], - "psr-4": { - "Symfony\\Component\\Clock\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Decouples applications from the system clock", - "homepage": "https://symfony.com", - "keywords": [ - "clock", - "psr20", - "time" - ], - "support": { - "source": "https://github.com/symfony/clock/tree/v7.0.5" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-03-02T12:46:12+00:00" - }, { "name": "symfony/console", - "version": "v7.0.4", + "version": "v6.4.4", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "6b099f3306f7c9c2d2786ed736d0026b2903205f" + "reference": "0d9e4eb5ad413075624378f474c4167ea202de78" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/6b099f3306f7c9c2d2786ed736d0026b2903205f", - "reference": "6b099f3306f7c9c2d2786ed736d0026b2903205f", + "url": "https://api.github.com/repos/symfony/console/zipball/0d9e4eb5ad413075624378f474c4167ea202de78", + "reference": "0d9e4eb5ad413075624378f474c4167ea202de78", "shasum": "" }, "require": { - "php": ">=8.2", + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0", "symfony/service-contracts": "^2.5|^3", - "symfony/string": "^6.4|^7.0" + "symfony/string": "^5.4|^6.0|^7.0" }, "conflict": { - "symfony/dependency-injection": "<6.4", - "symfony/dotenv": "<6.4", - "symfony/event-dispatcher": "<6.4", - "symfony/lock": "<6.4", - "symfony/process": "<6.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|3.0" }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^6.4|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/event-dispatcher": "^6.4|^7.0", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", "symfony/http-foundation": "^6.4|^7.0", "symfony/http-kernel": "^6.4|^7.0", - "symfony/lock": "^6.4|^7.0", - "symfony/messenger": "^6.4|^7.0", - "symfony/process": "^6.4|^7.0", - "symfony/stopwatch": "^6.4|^7.0", - "symfony/var-dumper": "^6.4|^7.0" + "symfony/lock": "^5.4|^6.0|^7.0", + "symfony/messenger": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/stopwatch": "^5.4|^6.0|^7.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -2883,7 +2328,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v7.0.4" + "source": "https://github.com/symfony/console/tree/v6.4.4" }, "funding": [ { @@ -2899,7 +2344,7 @@ "type": "tidelift" } ], - "time": "2024-02-22T20:27:20+00:00" + "time": "2024-02-22T20:27:10+00:00" }, { "name": "symfony/deprecation-contracts", @@ -3201,23 +2646,23 @@ }, { "name": "symfony/finder", - "version": "v7.0.0", + "version": "v6.4.0", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "6e5688d69f7cfc4ed4a511e96007e06c2d34ce56" + "reference": "11d736e97f116ac375a81f96e662911a34cd50ce" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/6e5688d69f7cfc4ed4a511e96007e06c2d34ce56", - "reference": "6e5688d69f7cfc4ed4a511e96007e06c2d34ce56", + "url": "https://api.github.com/repos/symfony/finder/zipball/11d736e97f116ac375a81f96e662911a34cd50ce", + "reference": "11d736e97f116ac375a81f96e662911a34cd50ce", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=8.1" }, "require-dev": { - "symfony/filesystem": "^6.4|^7.0" + "symfony/filesystem": "^6.0|^7.0" }, "type": "library", "autoload": { @@ -3245,7 +2690,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v7.0.0" + "source": "https://github.com/symfony/finder/tree/v6.4.0" }, "funding": [ { @@ -3261,40 +2706,40 @@ "type": "tidelift" } ], - "time": "2023-10-31T17:59:56+00:00" + "time": "2023-10-31T17:30:12+00:00" }, { "name": "symfony/http-foundation", - "version": "v7.0.4", + "version": "v6.4.4", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "439fdfdd344943254b1ef6278613e79040548045" + "reference": "ebc713bc6e6f4b53f46539fc158be85dfcd77304" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/439fdfdd344943254b1ef6278613e79040548045", - "reference": "439fdfdd344943254b1ef6278613e79040548045", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/ebc713bc6e6f4b53f46539fc158be85dfcd77304", + "reference": "ebc713bc6e6f4b53f46539fc158be85dfcd77304", "shasum": "" }, "require": { - "php": ">=8.2", + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.1", "symfony/polyfill-php83": "^1.27" }, "conflict": { - "doctrine/dbal": "<3.6", - "symfony/cache": "<6.4" + "symfony/cache": "<6.3" }, "require-dev": { - "doctrine/dbal": "^3.6|^4", + "doctrine/dbal": "^2.13.1|^3|^4", "predis/predis": "^1.1|^2.0", - "symfony/cache": "^6.4|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/expression-language": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/mime": "^6.4|^7.0", - "symfony/rate-limiter": "^6.4|^7.0" + "symfony/cache": "^6.3|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4|^7.0", + "symfony/mime": "^5.4|^6.0|^7.0", + "symfony/rate-limiter": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -3322,7 +2767,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v7.0.4" + "source": "https://github.com/symfony/http-foundation/tree/v6.4.4" }, "funding": [ { @@ -3338,75 +2783,76 @@ "type": "tidelift" } ], - "time": "2024-02-08T19:22:56+00:00" + "time": "2024-02-08T15:01:18+00:00" }, { "name": "symfony/http-kernel", - "version": "v7.0.5", + "version": "v6.4.5", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "37c24ca28f65e3121a68f3dd4daeb36fb1fa2a72" + "reference": "f6947cb939d8efee137797382cb4db1af653ef75" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/37c24ca28f65e3121a68f3dd4daeb36fb1fa2a72", - "reference": "37c24ca28f65e3121a68f3dd4daeb36fb1fa2a72", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/f6947cb939d8efee137797382cb4db1af653ef75", + "reference": "f6947cb939d8efee137797382cb4db1af653ef75", "shasum": "" }, "require": { - "php": ">=8.2", + "php": ">=8.1", "psr/log": "^1|^2|^3", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/error-handler": "^6.4|^7.0", - "symfony/event-dispatcher": "^6.4|^7.0", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", "symfony/http-foundation": "^6.4|^7.0", "symfony/polyfill-ctype": "^1.8" }, "conflict": { - "symfony/browser-kit": "<6.4", - "symfony/cache": "<6.4", - "symfony/config": "<6.4", - "symfony/console": "<6.4", + "symfony/browser-kit": "<5.4", + "symfony/cache": "<5.4", + "symfony/config": "<6.1", + "symfony/console": "<5.4", "symfony/dependency-injection": "<6.4", - "symfony/doctrine-bridge": "<6.4", - "symfony/form": "<6.4", - "symfony/http-client": "<6.4", + "symfony/doctrine-bridge": "<5.4", + "symfony/form": "<5.4", + "symfony/http-client": "<5.4", "symfony/http-client-contracts": "<2.5", - "symfony/mailer": "<6.4", - "symfony/messenger": "<6.4", - "symfony/translation": "<6.4", + "symfony/mailer": "<5.4", + "symfony/messenger": "<5.4", + "symfony/translation": "<5.4", "symfony/translation-contracts": "<2.5", - "symfony/twig-bridge": "<6.4", + "symfony/twig-bridge": "<5.4", "symfony/validator": "<6.4", - "symfony/var-dumper": "<6.4", - "twig/twig": "<3.0.4" + "symfony/var-dumper": "<6.3", + "twig/twig": "<2.13" }, "provide": { "psr/log-implementation": "1.0|2.0|3.0" }, "require-dev": { "psr/cache": "^1.0|^2.0|^3.0", - "symfony/browser-kit": "^6.4|^7.0", - "symfony/clock": "^6.4|^7.0", - "symfony/config": "^6.4|^7.0", - "symfony/console": "^6.4|^7.0", - "symfony/css-selector": "^6.4|^7.0", + "symfony/browser-kit": "^5.4|^6.0|^7.0", + "symfony/clock": "^6.2|^7.0", + "symfony/config": "^6.1|^7.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/css-selector": "^5.4|^6.0|^7.0", "symfony/dependency-injection": "^6.4|^7.0", - "symfony/dom-crawler": "^6.4|^7.0", - "symfony/expression-language": "^6.4|^7.0", - "symfony/finder": "^6.4|^7.0", + "symfony/dom-crawler": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/finder": "^5.4|^6.0|^7.0", "symfony/http-client-contracts": "^2.5|^3", - "symfony/process": "^6.4|^7.0", - "symfony/property-access": "^6.4|^7.0", - "symfony/routing": "^6.4|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/property-access": "^5.4.5|^6.0.5|^7.0", + "symfony/routing": "^5.4|^6.0|^7.0", "symfony/serializer": "^6.4.4|^7.0.4", - "symfony/stopwatch": "^6.4|^7.0", - "symfony/translation": "^6.4|^7.0", + "symfony/stopwatch": "^5.4|^6.0|^7.0", + "symfony/translation": "^5.4|^6.0|^7.0", "symfony/translation-contracts": "^2.5|^3", - "symfony/uid": "^6.4|^7.0", + "symfony/uid": "^5.4|^6.0|^7.0", "symfony/validator": "^6.4|^7.0", - "symfony/var-exporter": "^6.4|^7.0", - "twig/twig": "^3.0.4" + "symfony/var-exporter": "^6.2|^7.0", + "twig/twig": "^2.13|^3.0.4" }, "type": "library", "autoload": { @@ -3434,7 +2880,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v7.0.5" + "source": "https://github.com/symfony/http-kernel/tree/v6.4.5" }, "funding": [ { @@ -3450,24 +2896,25 @@ "type": "tidelift" } ], - "time": "2024-03-04T21:05:24+00:00" + "time": "2024-03-04T21:00:47+00:00" }, { "name": "symfony/mime", - "version": "v7.0.3", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "c1ffe24ba6fdc3e3f0f3fcb93519103b326a3716" + "reference": "5017e0a9398c77090b7694be46f20eb796262a34" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/c1ffe24ba6fdc3e3f0f3fcb93519103b326a3716", - "reference": "c1ffe24ba6fdc3e3f0f3fcb93519103b326a3716", + "url": "https://api.github.com/repos/symfony/mime/zipball/5017e0a9398c77090b7694be46f20eb796262a34", + "reference": "5017e0a9398c77090b7694be46f20eb796262a34", "shasum": "" }, "require": { - "php": ">=8.2", + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-intl-idn": "^1.10", "symfony/polyfill-mbstring": "^1.0" }, @@ -3475,17 +2922,17 @@ "egulias/email-validator": "~3.0.0", "phpdocumentor/reflection-docblock": "<3.2.2", "phpdocumentor/type-resolver": "<1.4.0", - "symfony/mailer": "<6.4", - "symfony/serializer": "<6.4" + "symfony/mailer": "<5.4", + "symfony/serializer": "<6.3.2" }, "require-dev": { "egulias/email-validator": "^2.1.10|^3.1|^4", "league/html-to-markdown": "^5.0", "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/property-access": "^6.4|^7.0", - "symfony/property-info": "^6.4|^7.0", - "symfony/serializer": "^6.4|^7.0" + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/property-access": "^5.4|^6.0|^7.0", + "symfony/property-info": "^5.4|^6.0|^7.0", + "symfony/serializer": "^6.3.2|^7.0" }, "type": "library", "autoload": { @@ -3517,7 +2964,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v7.0.3" + "source": "https://github.com/symfony/mime/tree/v6.4.3" }, "funding": [ { @@ -3533,7 +2980,7 @@ "type": "tidelift" } ], - "time": "2024-01-30T08:34:29+00:00" + "time": "2024-01-30T08:32:12+00:00" }, { "name": "symfony/polyfill-ctype", @@ -4169,20 +3616,20 @@ }, { "name": "symfony/process", - "version": "v7.0.4", + "version": "v6.4.4", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "0e7727191c3b71ebec6d529fa0e50a01ca5679e9" + "reference": "710e27879e9be3395de2b98da3f52a946039f297" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/0e7727191c3b71ebec6d529fa0e50a01ca5679e9", - "reference": "0e7727191c3b71ebec6d529fa0e50a01ca5679e9", + "url": "https://api.github.com/repos/symfony/process/zipball/710e27879e9be3395de2b98da3f52a946039f297", + "reference": "710e27879e9be3395de2b98da3f52a946039f297", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=8.1" }, "type": "library", "autoload": { @@ -4210,7 +3657,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v7.0.4" + "source": "https://github.com/symfony/process/tree/v6.4.4" }, "funding": [ { @@ -4226,7 +3673,7 @@ "type": "tidelift" } ], - "time": "2024-02-22T20:27:20+00:00" + "time": "2024-02-20T12:31:00+00:00" }, { "name": "symfony/service-contracts", @@ -4398,32 +3845,33 @@ }, { "name": "symfony/translation", - "version": "v7.0.4", + "version": "v6.4.4", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "5b75e872f7d135d7abb4613809fadc8d9f3d30a0" + "reference": "bce6a5a78e94566641b2594d17e48b0da3184a8e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/5b75e872f7d135d7abb4613809fadc8d9f3d30a0", - "reference": "5b75e872f7d135d7abb4613809fadc8d9f3d30a0", + "url": "https://api.github.com/repos/symfony/translation/zipball/bce6a5a78e94566641b2594d17e48b0da3184a8e", + "reference": "bce6a5a78e94566641b2594d17e48b0da3184a8e", "shasum": "" }, "require": { - "php": ">=8.2", + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0", "symfony/translation-contracts": "^2.5|^3.0" }, "conflict": { - "symfony/config": "<6.4", - "symfony/console": "<6.4", - "symfony/dependency-injection": "<6.4", + "symfony/config": "<5.4", + "symfony/console": "<5.4", + "symfony/dependency-injection": "<5.4", "symfony/http-client-contracts": "<2.5", - "symfony/http-kernel": "<6.4", + "symfony/http-kernel": "<5.4", "symfony/service-contracts": "<2.5", - "symfony/twig-bundle": "<6.4", - "symfony/yaml": "<6.4" + "symfony/twig-bundle": "<5.4", + "symfony/yaml": "<5.4" }, "provide": { "symfony/translation-implementation": "2.3|3.0" @@ -4431,17 +3879,17 @@ "require-dev": { "nikic/php-parser": "^4.18|^5.0", "psr/log": "^1|^2|^3", - "symfony/config": "^6.4|^7.0", - "symfony/console": "^6.4|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/finder": "^6.4|^7.0", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/finder": "^5.4|^6.0|^7.0", "symfony/http-client-contracts": "^2.5|^3.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/intl": "^6.4|^7.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/intl": "^5.4|^6.0|^7.0", "symfony/polyfill-intl-icu": "^1.21", - "symfony/routing": "^6.4|^7.0", + "symfony/routing": "^5.4|^6.0|^7.0", "symfony/service-contracts": "^2.5|^3", - "symfony/yaml": "^6.4|^7.0" + "symfony/yaml": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -4472,7 +3920,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v7.0.4" + "source": "https://github.com/symfony/translation/tree/v6.4.4" }, "funding": [ { @@ -4488,7 +3936,7 @@ "type": "tidelift" } ], - "time": "2024-02-22T20:27:20+00:00" + "time": "2024-02-20T13:16:58+00:00" }, { "name": "symfony/translation-contracts", @@ -4728,7 +4176,9 @@ ], "aliases": [], "minimum-stability": "stable", - "stability-flags": [], + "stability-flags": { + "lastdragon-ru/lara-asp-dev": 20 + }, "prefer-stable": false, "prefer-lowest": false, "platform": [], From 4e493531e079c46ff26321f331be281f3965a9bf Mon Sep 17 00:00:00 2001 From: Aleksei Lebedev <1329824+LastDragon-ru@users.noreply.github.com> Date: Mon, 15 Jan 2024 13:19:52 +0400 Subject: [PATCH 2/9] Better way to exclude unwanted Larastan extensions/rules. --- packages/dev/composer.json | 9 +- ...AccessDynamicMethodReturnTypeExtension.php | 46 -- ...ontainerMakeDynamicReturnTypeExtension.php | 39 -- .../dev/src/PhpStan/Container/Installer.php | 142 +++- .../dev/src/PhpStan/Container/extension.neon | 3 + .../dev/src/PhpStan/Container/larastan.neon | 605 ++++++++++++++++++ phpstan.neon | 9 +- vendor-bin/phpstan/composer.json | 9 +- vendor-bin/phpstan/composer.lock | 217 ++++++- 9 files changed, 963 insertions(+), 116 deletions(-) delete mode 100644 packages/dev/larastan/ReturnTypes/ContainerArrayAccessDynamicMethodReturnTypeExtension.php delete mode 100644 packages/dev/larastan/ReturnTypes/ContainerMakeDynamicReturnTypeExtension.php create mode 100644 packages/dev/src/PhpStan/Container/larastan.neon diff --git a/packages/dev/composer.json b/packages/dev/composer.json index 155a2efa1..a3e403ac2 100644 --- a/packages/dev/composer.json +++ b/packages/dev/composer.json @@ -20,16 +20,17 @@ "require": { "php": "^8.1|^8.2|^8.3", "ext-mbstring": "*", - "phpstan/phpstan": "^1.10", - "illuminate/container": "^10.34.0" + "illuminate/container": "^10.34.0", + "lastdragon-ru/lara-asp-core": "self.version", + "nette/neon": "^3.4", + "phpstan/phpstan": "^1.10" }, "require-dev": { "phpunit/phpunit": "^10.1.0" }, "autoload": { "psr-4": { - "LastDragon_ru\\LaraASP\\Dev\\": "src/", - "Larastan\\Larastan\\": "larastan/" + "LastDragon_ru\\LaraASP\\Dev\\": "src/" }, "exclude-from-classmap": [ "src/**Test.php" diff --git a/packages/dev/larastan/ReturnTypes/ContainerArrayAccessDynamicMethodReturnTypeExtension.php b/packages/dev/larastan/ReturnTypes/ContainerArrayAccessDynamicMethodReturnTypeExtension.php deleted file mode 100644 index 7fe6a8709..000000000 --- a/packages/dev/larastan/ReturnTypes/ContainerArrayAccessDynamicMethodReturnTypeExtension.php +++ /dev/null @@ -1,46 +0,0 @@ -className; - } - - #[Override] - public function isMethodSupported(MethodReflection $methodReflection): bool { - return false; - } - - #[Override] - public function getTypeFromMethodCall( - MethodReflection $methodReflection, - MethodCall $methodCall, - Scope $scope, - ): ?Type { - return null; - } -} diff --git a/packages/dev/larastan/ReturnTypes/ContainerMakeDynamicReturnTypeExtension.php b/packages/dev/larastan/ReturnTypes/ContainerMakeDynamicReturnTypeExtension.php deleted file mode 100644 index 1a1d90772..000000000 --- a/packages/dev/larastan/ReturnTypes/ContainerMakeDynamicReturnTypeExtension.php +++ /dev/null @@ -1,39 +0,0 @@ - $extension + * + * @return array + */ + private static function updateBootstrapFiles(array $extension): array { + // Valid? + if (!isset($extension['parameters']) || !is_array($extension['parameters'])) { + throw new Exception('The `$extension[\'parameters\']` expected to be an array.'); + } + + // Update + $source = self::getLarastanPath(); + $files = (array) ($extension['parameters']['bootstrapFiles'] ?? []); + $root = self::getOwnPath(); + $root = Path::join($root, Path::getRelativePath((string) realpath($root), __DIR__)); + + foreach ($files as $index => $file) { + if (!is_string($file)) { + throw new Exception( + sprintf( + 'The `$extension[\'parameters\'][\'bootstrapFiles\'][%s]` expected to be a string.', + $index, + ), + ); + } + + $file = Path::getPath($source, $file); + $extension['parameters']['bootstrapFiles'][$index] = Path::getRelativePath($root, $file); + } + + // Return + return $extension; + } + + /** + * @param array $extension + * + * @return array + */ + private static function updateServices(array $extension): array { + // Remove + $disabled = [ + ApplicationMakeDynamicReturnTypeExtension::class => true, + AppMakeDynamicReturnTypeExtension::class => true, + ContainerArrayAccessDynamicMethodReturnTypeExtension::class => true, + ContainerMakeDynamicReturnTypeExtension::class => true, ]; - foreach ($classes as $class) { - $file = $path.'/'.str_replace('\\', '/', str_replace('Larastan\\Larastan', $root, $class)).'.php'; + foreach ($extension['services'] ?? [] as $index => $service) { + $class = $service['class'] ?? ''; - echo " Removing {$file} ... "; + if (isset($disabled[$class])) { + unset($extension['services'][$index]); - if (is_file($file)) { - echo @unlink($file) ? 'ok' : 'failed'; - } else { - echo 'not found'; + $disabled[$class] = false; } + } - echo PHP_EOL; + // Reindex + $extension['services'] = array_values($extension['services']); + + // Unused? + $unused = array_keys(array_filter($disabled)); + + if ($unused) { + throw new Exception( + sprintf( + 'The following services is unknown: `%s`', + implode('`, `', $unused), + ), + ); } + + // Return + return $extension; + } + + private static function getOwnPath(): string { + return self::getPackagePath('lastdragon-ru/lara-asp-dev'); + } + + private static function getLarastanPath(): string { + return self::getPackagePath('larastan/larastan'); + } + + private static function getPackagePath(string $package): string { + return InstalledVersions::getInstallPath($package) + ?? throw new Exception(sprintf('The `%s` package is not found/installed.', $package)); } } diff --git a/packages/dev/src/PhpStan/Container/extension.neon b/packages/dev/src/PhpStan/Container/extension.neon index 78cba40c3..7e233f960 100644 --- a/packages/dev/src/PhpStan/Container/extension.neon +++ b/packages/dev/src/PhpStan/Container/extension.neon @@ -3,3 +3,6 @@ services: class: LastDragon_ru\LaraASP\Dev\PhpStan\Container\Extension tags: - phpstan.broker.dynamicMethodReturnTypeExtension + +includes: + - ./larastan.neon diff --git a/packages/dev/src/PhpStan/Container/larastan.neon b/packages/dev/src/PhpStan/Container/larastan.neon new file mode 100644 index 000000000..6a565dd21 --- /dev/null +++ b/packages/dev/src/PhpStan/Container/larastan.neon @@ -0,0 +1,605 @@ +parameters: + universalObjectCratesClasses: + - Illuminate\Http\Request + - Illuminate\Support\Optional + + earlyTerminatingFunctionCalls: + - abort + - dd + + excludePaths: + - *.blade.php + + mixinExcludeClasses: + - Eloquent + + bootstrapFiles: + - bootstrap.php + + checkOctaneCompatibility: false + noEnvCallsOutsideOfConfig: false + noModelMake: true + noUnnecessaryCollectionCall: true + noUnnecessaryCollectionCallOnly: [] + noUnnecessaryCollectionCallExcept: [] + squashedMigrationsPath: [] + databaseMigrationsPath: [] + disableMigrationScan: false + disableSchemaScan: false + viewDirectories: [] + checkModelProperties: false + checkPhpDocMissingReturn: false + checkUnusedViews: false + +parametersSchema: + checkOctaneCompatibility: bool() + noEnvCallsOutsideOfConfig: bool() + noModelMake: bool() + noUnnecessaryCollectionCall: bool() + noUnnecessaryCollectionCallOnly: listOf(string()) + noUnnecessaryCollectionCallExcept: listOf(string()) + databaseMigrationsPath: listOf(string()) + disableMigrationScan: bool() + viewDirectories: listOf(string()) + squashedMigrationsPath: listOf(string()) + disableSchemaScan: bool() + checkModelProperties: bool() + checkUnusedViews: bool() + +conditionalTags: + Larastan\Larastan\Rules\NoEnvCallsOutsideOfConfigRule: + phpstan.rules.rule: %noEnvCallsOutsideOfConfig% + + Larastan\Larastan\Rules\NoModelMakeRule: + phpstan.rules.rule: %noModelMake% + + Larastan\Larastan\Rules\NoUnnecessaryCollectionCallRule: + phpstan.rules.rule: %noUnnecessaryCollectionCall% + + Larastan\Larastan\Rules\OctaneCompatibilityRule: + phpstan.rules.rule: %checkOctaneCompatibility% + + Larastan\Larastan\Rules\ModelProperties\ModelPropertyRule: + phpstan.rules.rule: %checkModelProperties% + + Larastan\Larastan\Rules\ModelProperties\ModelPropertyStaticCallRule: + phpstan.rules.rule: %checkModelProperties% + + Larastan\Larastan\Rules\UnusedViewsRule: + phpstan.rules.rule: %checkUnusedViews% + +services: + - + class: Larastan\Larastan\Methods\RelationForwardsCallsExtension + tags: + - phpstan.broker.methodsClassReflectionExtension + + - + class: Larastan\Larastan\Methods\ModelForwardsCallsExtension + tags: + - phpstan.broker.methodsClassReflectionExtension + + - + class: Larastan\Larastan\Methods\EloquentBuilderForwardsCallsExtension + tags: + - phpstan.broker.methodsClassReflectionExtension + + - + class: Larastan\Larastan\Methods\HigherOrderTapProxyExtension + tags: + - phpstan.broker.methodsClassReflectionExtension + + - + class: Larastan\Larastan\Methods\HigherOrderCollectionProxyExtension + tags: + - phpstan.broker.methodsClassReflectionExtension + + - + class: Larastan\Larastan\Methods\StorageMethodsClassReflectionExtension + tags: + - phpstan.broker.methodsClassReflectionExtension + + - + class: Larastan\Larastan\Methods\Extension + tags: + - phpstan.broker.methodsClassReflectionExtension + + - + class: Larastan\Larastan\Methods\ModelFactoryMethodsClassReflectionExtension + tags: + - phpstan.broker.methodsClassReflectionExtension + + - + class: Larastan\Larastan\Methods\RedirectResponseMethodsClassReflectionExtension + tags: + - phpstan.broker.methodsClassReflectionExtension + + - + class: Larastan\Larastan\Methods\MacroMethodsClassReflectionExtension + tags: + - phpstan.broker.methodsClassReflectionExtension + + - + class: Larastan\Larastan\Methods\ViewWithMethodsClassReflectionExtension + tags: + - phpstan.broker.methodsClassReflectionExtension + + - + class: Larastan\Larastan\Properties\ModelAccessorExtension + tags: + - phpstan.broker.propertiesClassReflectionExtension + + - + class: Larastan\Larastan\Properties\ModelPropertyExtension + tags: + - phpstan.broker.propertiesClassReflectionExtension + + - + class: Larastan\Larastan\Properties\HigherOrderCollectionProxyPropertyExtension + tags: + - phpstan.broker.propertiesClassReflectionExtension + + - + class: Larastan\Larastan\Types\RelationDynamicMethodReturnTypeExtension + tags: + - phpstan.broker.dynamicMethodReturnTypeExtension + + - + class: Larastan\Larastan\Types\ModelRelationsDynamicMethodReturnTypeExtension + tags: + - phpstan.broker.dynamicMethodReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\HigherOrderTapProxyExtension + tags: + - phpstan.broker.dynamicMethodReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\ContainerArrayAccessDynamicMethodReturnTypeExtension + tags: + - phpstan.broker.dynamicMethodReturnTypeExtension + + arguments: + className: Illuminate\Contracts\Container\Container + + - + class: Larastan\Larastan\ReturnTypes\ContainerArrayAccessDynamicMethodReturnTypeExtension + tags: + - phpstan.broker.dynamicMethodReturnTypeExtension + + arguments: + className: Illuminate\Container\Container + + - + class: Larastan\Larastan\ReturnTypes\ContainerArrayAccessDynamicMethodReturnTypeExtension + tags: + - phpstan.broker.dynamicMethodReturnTypeExtension + + arguments: + className: Illuminate\Foundation\Application + + - + class: Larastan\Larastan\ReturnTypes\ContainerArrayAccessDynamicMethodReturnTypeExtension + tags: + - phpstan.broker.dynamicMethodReturnTypeExtension + + arguments: + className: Illuminate\Contracts\Foundation\Application + + - + class: Larastan\Larastan\Properties\ModelRelationsExtension + tags: + - phpstan.broker.propertiesClassReflectionExtension + + - + class: Larastan\Larastan\ReturnTypes\ModelOnlyDynamicMethodReturnTypeExtension + tags: + - phpstan.broker.dynamicMethodReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\ModelFactoryDynamicStaticMethodReturnTypeExtension + tags: + - phpstan.broker.dynamicStaticMethodReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\ModelDynamicStaticMethodReturnTypeExtension + tags: + - phpstan.broker.dynamicStaticMethodReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\AppMakeDynamicReturnTypeExtension + tags: + - phpstan.broker.dynamicStaticMethodReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\AuthExtension + tags: + - phpstan.broker.dynamicStaticMethodReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\GuardDynamicStaticMethodReturnTypeExtension + tags: + - phpstan.broker.dynamicStaticMethodReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\AuthManagerExtension + tags: + - phpstan.broker.dynamicMethodReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\DateExtension + tags: + - phpstan.broker.dynamicStaticMethodReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\GuardExtension + tags: + - phpstan.broker.dynamicMethodReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\RequestFileExtension + tags: + - phpstan.broker.dynamicMethodReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\RequestRouteExtension + tags: + - phpstan.broker.dynamicMethodReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\RequestUserExtension + tags: + - phpstan.broker.dynamicMethodReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\EloquentBuilderExtension + tags: + - phpstan.broker.dynamicMethodReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\RelationFindExtension + tags: + - phpstan.broker.dynamicMethodReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\RelationCollectionExtension + tags: + - phpstan.broker.dynamicMethodReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\ModelFindExtension + tags: + - phpstan.broker.dynamicStaticMethodReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\BuilderModelFindExtension + tags: + - phpstan.broker.dynamicMethodReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\TestCaseExtension + tags: + - phpstan.broker.dynamicMethodReturnTypeExtension + + - + class: Larastan\Larastan\Support\CollectionHelper + + - + class: Larastan\Larastan\ReturnTypes\Helpers\AuthExtension + tags: + - phpstan.broker.dynamicFunctionReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\Helpers\CollectExtension + tags: + - phpstan.broker.dynamicFunctionReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\Helpers\NowAndTodayExtension + tags: + - phpstan.broker.dynamicFunctionReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\Helpers\ResponseExtension + tags: + - phpstan.broker.dynamicFunctionReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\Helpers\ValidatorExtension + tags: + - phpstan.broker.dynamicFunctionReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\CollectionFilterDynamicReturnTypeExtension + tags: + - phpstan.broker.dynamicMethodReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\CollectionWhereNotNullDynamicReturnTypeExtension + tags: + - phpstan.broker.dynamicMethodReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\CollectionGenericStaticMethodDynamicMethodReturnTypeExtension + tags: + - phpstan.broker.dynamicMethodReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\NewModelQueryDynamicMethodReturnTypeExtension + tags: + - phpstan.broker.dynamicMethodReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\FactoryDynamicMethodReturnTypeExtension + tags: + - phpstan.broker.dynamicMethodReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\CollectionGenericStaticMethodDynamicStaticMethodReturnTypeExtension + tags: + - phpstan.broker.dynamicStaticMethodReturnTypeExtension + + - + class: Larastan\Larastan\Types\AbortIfFunctionTypeSpecifyingExtension + tags: + - phpstan.typeSpecifier.functionTypeSpecifyingExtension + + arguments: + methodName: abort + negate: false + + - + class: Larastan\Larastan\Types\AbortIfFunctionTypeSpecifyingExtension + tags: + - phpstan.typeSpecifier.functionTypeSpecifyingExtension + + arguments: + methodName: abort + negate: true + + - + class: Larastan\Larastan\Types\AbortIfFunctionTypeSpecifyingExtension + tags: + - phpstan.typeSpecifier.functionTypeSpecifyingExtension + + arguments: + methodName: throw + negate: false + + - + class: Larastan\Larastan\Types\AbortIfFunctionTypeSpecifyingExtension + tags: + - phpstan.typeSpecifier.functionTypeSpecifyingExtension + + arguments: + methodName: throw + negate: true + + - + class: Larastan\Larastan\ReturnTypes\Helpers\AppExtension + tags: + - phpstan.broker.dynamicFunctionReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\Helpers\ValueExtension + tags: + - phpstan.broker.dynamicFunctionReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\Helpers\StrExtension + tags: + - phpstan.broker.dynamicFunctionReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\Helpers\TapExtension + tags: + - phpstan.broker.dynamicFunctionReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\StorageDynamicStaticMethodReturnTypeExtension + tags: + - phpstan.broker.dynamicStaticMethodReturnTypeExtension + + - + class: Larastan\Larastan\Types\GenericEloquentCollectionTypeNodeResolverExtension + tags: + - phpstan.phpDoc.typeNodeResolverExtension + + - + class: Larastan\Larastan\Types\ViewStringTypeNodeResolverExtension + tags: + - phpstan.phpDoc.typeNodeResolverExtension + + - + class: Larastan\Larastan\Rules\OctaneCompatibilityRule + + - + class: Larastan\Larastan\Rules\NoEnvCallsOutsideOfConfigRule + + - + class: Larastan\Larastan\Rules\NoModelMakeRule + + - + class: Larastan\Larastan\Rules\NoUnnecessaryCollectionCallRule + arguments: + onlyMethods: %noUnnecessaryCollectionCallOnly% + excludeMethods: %noUnnecessaryCollectionCallExcept% + + - + class: Larastan\Larastan\Rules\ModelProperties\ModelPropertyRule + + - + class: Larastan\Larastan\Rules\ModelProperties\ModelPropertyStaticCallRule + + - + class: Larastan\Larastan\Types\GenericEloquentBuilderTypeNodeResolverExtension + tags: + - phpstan.phpDoc.typeNodeResolverExtension + + - + class: Larastan\Larastan\ReturnTypes\AppEnvironmentReturnTypeExtension + tags: + - phpstan.broker.dynamicMethodReturnTypeExtension + + - + class: Larastan\Larastan\Types\ModelProperty\ModelPropertyTypeNodeResolverExtension + tags: + - phpstan.phpDoc.typeNodeResolverExtension + + arguments: + active: %checkModelProperties% + + - + class: Larastan\Larastan\Types\RelationParserHelper + arguments: + parser: @currentPhpVersionSimpleDirectParser + + - + class: Larastan\Larastan\Properties\MigrationHelper + arguments: + databaseMigrationPath: %databaseMigrationsPath% + disableMigrationScan: %disableMigrationScan% + parser: @currentPhpVersionSimpleDirectParser + reflectionProvider: @reflectionProvider + + - + class: Larastan\Larastan\Properties\SquashedMigrationHelper + arguments: + schemaPaths: %squashedMigrationsPath% + disableSchemaScan: %disableSchemaScan% + + - + class: Larastan\Larastan\Properties\ModelCastHelper + + - + class: Larastan\Larastan\Rules\ModelProperties\ModelPropertiesRuleHelper + + - + class: Larastan\Larastan\Rules\ModelRuleHelper + + - + class: Larastan\Larastan\Methods\BuilderHelper + arguments: + checkProperties: %checkModelProperties% + + - + class: Larastan\Larastan\Rules\RelationExistenceRule + tags: + - phpstan.rules.rule + + - + class: Larastan\Larastan\Rules\CheckDispatchArgumentTypesCompatibleWithClassConstructorRule + arguments: + dispatchableClass: Illuminate\Foundation\Bus\Dispatchable + + tags: + - phpstan.rules.rule + + - + class: Larastan\Larastan\Rules\CheckDispatchArgumentTypesCompatibleWithClassConstructorRule + arguments: + dispatchableClass: Illuminate\Foundation\Events\Dispatchable + + tags: + - phpstan.rules.rule + + - Larastan\Larastan\Properties\Schema\PhpMyAdminDataTypeToPhpTypeConverter + - + class: Larastan\Larastan\LarastanStubFilesExtension + tags: + - phpstan.stubFilesExtension + + - + class: Larastan\Larastan\Rules\UnusedViewsRule + + - + class: Larastan\Larastan\Collectors\UsedViewFunctionCollector + tags: + - phpstan.collector + + - + class: Larastan\Larastan\Collectors\UsedEmailViewCollector + tags: + - phpstan.collector + + - + class: Larastan\Larastan\Collectors\UsedViewMakeCollector + tags: + - phpstan.collector + + - + class: Larastan\Larastan\Collectors\UsedViewFacadeMakeCollector + tags: + - phpstan.collector + + - + class: Larastan\Larastan\Collectors\UsedRouteFacadeViewCollector + tags: + - phpstan.collector + + - + class: Larastan\Larastan\Collectors\UsedViewInAnotherViewCollector + arguments: + parser: @currentPhpVersionSimpleDirectParser + + - + class: Larastan\Larastan\Support\ViewFileHelper + arguments: + viewDirectories: %viewDirectories% + + - + class: Larastan\Larastan\ReturnTypes\ApplicationMakeDynamicReturnTypeExtension + tags: + - phpstan.broker.dynamicMethodReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\ContainerMakeDynamicReturnTypeExtension + tags: + - phpstan.broker.dynamicMethodReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\ConsoleCommand\ArgumentDynamicReturnTypeExtension + tags: + - phpstan.broker.dynamicMethodReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\ConsoleCommand\HasArgumentDynamicReturnTypeExtension + tags: + - phpstan.broker.dynamicMethodReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\ConsoleCommand\OptionDynamicReturnTypeExtension + tags: + - phpstan.broker.dynamicMethodReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\ConsoleCommand\HasOptionDynamicReturnTypeExtension + tags: + - phpstan.broker.dynamicMethodReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\TranslatorGetReturnTypeExtension + tags: + - phpstan.broker.dynamicMethodReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\TransHelperReturnTypeExtension + tags: + - phpstan.broker.dynamicFunctionReturnTypeExtension + + - + class: Larastan\Larastan\ReturnTypes\DoubleUnderscoreHelperReturnTypeExtension + tags: + - phpstan.broker.dynamicFunctionReturnTypeExtension + + - Larastan\Larastan\ReturnTypes\AppMakeHelper + - Larastan\Larastan\Internal\ConsoleApplicationResolver + - Larastan\Larastan\Internal\ConsoleApplicationHelper + - Larastan\Larastan\Support\HigherOrderCollectionProxyHelper + +rules: + - Larastan\Larastan\Rules\UselessConstructs\NoUselessWithFunctionCallsRule + - Larastan\Larastan\Rules\UselessConstructs\NoUselessValueFunctionCallsRule + - Larastan\Larastan\Rules\DeferrableServiceProviderMissingProvidesRule + - Larastan\Larastan\Rules\ConsoleCommand\UndefinedArgumentOrOptionRule + diff --git a/phpstan.neon b/phpstan.neon index c887cadeb..6c815b46e 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -5,6 +5,8 @@ parameters: excludePaths: - dev/App/bootstrap/cache - dev/App/storage + scanDirectories: + - vendor-bin/phpstan/vendor/larastan/larastan # The level 9 is the highest level level: max @@ -46,7 +48,6 @@ includes: - ./vendor-bin/phpstan/vendor/phpstan/phpstan-phpunit/extension.neon - ./vendor-bin/phpstan/vendor/phpstan/phpstan-phpunit/rules.neon - ./vendor-bin/phpstan/vendor/phpstan/phpstan-strict-rules/rules.neon - - ./vendor-bin/phpstan/vendor/larastan/larastan/extension.neon - ./vendor-bin/phpstan/vendor/spaze/phpstan-disallowed-calls/extension.neon - ./vendor-bin/phpstan/vendor/spaze/phpstan-disallowed-calls/disallowed-dangerous-calls.neon - ./vendor-bin/phpstan/vendor/spaze/phpstan-disallowed-calls/disallowed-execution-calls.neon @@ -54,9 +55,9 @@ includes: - ./vendor-bin/phpstan/vendor/spaze/phpstan-disallowed-calls/disallowed-loose-calls.neon # Package - - ./packages/dev/src/PhpStan/Container/extension.neon - - ./packages/dev/src/PhpStan/ClassMustBeFinal/extension.neon - - ./packages/dev/src/PhpStan/ClassMustBeInternal/extension.neon + - ./vendor-bin/phpstan/vendor/lastdragon-ru/lara-asp-dev/src/PhpStan/Container/extension.neon + - ./vendor-bin/phpstan/vendor/lastdragon-ru/lara-asp-dev/src/PhpStan/ClassMustBeFinal/extension.neon + - ./vendor-bin/phpstan/vendor/lastdragon-ru/lara-asp-dev/src/PhpStan/ClassMustBeInternal/extension.neon # Baseline - phpstan-baseline-well-known.neon diff --git a/vendor-bin/phpstan/composer.json b/vendor-bin/phpstan/composer.json index 259008543..c00305182 100644 --- a/vendor-bin/phpstan/composer.json +++ b/vendor-bin/phpstan/composer.json @@ -6,17 +6,22 @@ "phpstan/phpstan-phpunit": "^1.3", "phpstan/phpstan-strict-rules": "^1.5", "spaze/phpstan-disallowed-calls": "^3.0", + "lastdragon-ru/lara-asp-core": "self.version", "lastdragon-ru/lara-asp-dev": "self.version" }, "scripts": { - "pre-autoload-dump": [ - "LastDragon_ru\\LaraASP\\Dev\\PhpStan\\Container\\Installer::install" + "post-update-cmd": [ + "LastDragon_ru\\LaraASP\\Dev\\PhpStan\\Container\\Installer::dump" ] }, "repositories": { "dev": { "type": "path", "url": "../../packages/dev" + }, + "core": { + "type": "path", + "url": "../../packages/core" } } } diff --git a/vendor-bin/phpstan/composer.lock b/vendor-bin/phpstan/composer.lock index 1e4e3f907..d736e8549 100644 --- a/vendor-bin/phpstan/composer.lock +++ b/vendor-bin/phpstan/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "20aaf9c1e4e019d217f175a7770e8ccd", + "content-hash": "a1f7fc68a0021d79dff11f12b9ebbd22", "packages": [], "packages-dev": [ { @@ -1392,17 +1392,95 @@ }, "time": "2024-02-21T19:25:27+00:00" }, + { + "name": "lastdragon-ru/lara-asp-core", + "version": "dev-main", + "dist": { + "type": "path", + "url": "../../packages/core", + "reference": "27679fa0bed97f910f4b69ab874bfaed1c31de43" + }, + "require": { + "illuminate/console": "^10.34.0", + "illuminate/container": "^10.34.0", + "illuminate/contracts": "^10.34.0", + "php": "^8.1|^8.2|^8.3", + "symfony/filesystem": "^6.3.0", + "symfony/polyfill-php83": "^1.28" + }, + "require-dev": { + "illuminate/support": "^10.34.0", + "lastdragon-ru/lara-asp-testing": "self.version", + "mockery/mockery": "^1.6.2", + "orchestra/testbench": "^8.0.0", + "phpunit/phpunit": "^10.1.0" + }, + "type": "library", + "extra": { + "lara-asp": { + "ci": { + "required-extensions": { + "league/flysystem": [ + "ext-fileinfo" + ], + "illuminate/console": [ + "ext-mbstring" + ] + } + } + } + }, + "autoload": { + "psr-4": { + "LastDragon_ru\\LaraASP\\Core\\": "src/" + }, + "exclude-from-classmap": [ + "src/**Test.php", + "src/Testing/**.php" + ] + }, + "autoload-dev": { + "psr-4": { + "LastDragon_ru\\LaraASP\\Core\\Docs\\": "docs" + }, + "exclude-from-classmap": [ + "docs/" + ] + }, + "license": [ + "MIT" + ], + "description": "The Awesome Set of Packages for Laravel - The Core.", + "homepage": "https://github.com/LastDragon-ru/lara-asp", + "keywords": [ + "laravel", + "laravel-package", + "laravel-queue", + "php", + "queue" + ], + "support": { + "issues": "https://github.com/LastDragon-ru/lara-asp/issues", + "source": "https://github.com/LastDragon-ru/lara-asp", + "forum": "https://github.com/LastDragon-ru/lara-asp/discussions" + }, + "transport-options": { + "relative": true + } + }, { "name": "lastdragon-ru/lara-asp-dev", "version": "dev-main", "dist": { "type": "path", "url": "../../packages/dev", - "reference": "22ac6b72feab0c4c8234cf52c937697b44068889" + "reference": "6a462ef64e9b6d81cb6c2d245916ca474cdcf635" }, "require": { "ext-mbstring": "*", "illuminate/container": "^10.0.0", + "lastdragon-ru/lara-asp-core": "self.version", + "nette/neon": "^3.4", "php": "^8.1|^8.2|^8.3", "phpstan/phpstan": "^1.10" }, @@ -1412,8 +1490,7 @@ "type": "library", "autoload": { "psr-4": { - "LastDragon_ru\\LaraASP\\Dev\\": "src/", - "Larastan\\Larastan\\": "larastan/" + "LastDragon_ru\\LaraASP\\Dev\\": "src/" }, "exclude-from-classmap": [ "src/**Test.php" @@ -1547,6 +1624,74 @@ ], "time": "2024-01-25T10:35:09+00:00" }, + { + "name": "nette/neon", + "version": "v3.4.1", + "source": { + "type": "git", + "url": "https://github.com/nette/neon.git", + "reference": "457bfbf0560f600b30d9df4233af382a478bb44d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/neon/zipball/457bfbf0560f600b30d9df4233af382a478bb44d", + "reference": "457bfbf0560f600b30d9df4233af382a478bb44d", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": "8.0 - 8.3" + }, + "require-dev": { + "nette/tester": "^2.4", + "phpstan/phpstan": "^1.0", + "tracy/tracy": "^2.7" + }, + "bin": [ + "bin/neon-lint" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "🍸 Nette NEON: encodes and decodes NEON file format.", + "homepage": "https://ne-on.org", + "keywords": [ + "export", + "import", + "neon", + "nette", + "yaml" + ], + "support": { + "issues": "https://github.com/nette/neon/issues", + "source": "https://github.com/nette/neon/tree/v3.4.1" + }, + "time": "2023-09-27T08:59:11+00:00" + }, { "name": "nunomaduro/termwind", "version": "v1.15.1", @@ -2644,6 +2789,69 @@ ], "time": "2023-05-23T14:45:45+00:00" }, + { + "name": "symfony/filesystem", + "version": "v6.4.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "7f3b1755eb49297a0827a7575d5d2b2fd11cc9fb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/7f3b1755eb49297a0827a7575d5d2b2fd11cc9fb", + "reference": "7f3b1755eb49297a0827a7575d5d2b2fd11cc9fb", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.8" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides basic utilities for the filesystem", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/filesystem/tree/v6.4.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-23T14:51:35+00:00" + }, { "name": "symfony/finder", "version": "v6.4.0", @@ -4177,6 +4385,7 @@ "aliases": [], "minimum-stability": "stable", "stability-flags": { + "lastdragon-ru/lara-asp-core": 20, "lastdragon-ru/lara-asp-dev": 20 }, "prefer-stable": false, From 4b4181c71996257335bf293cb495754a2112cf52 Mon Sep 17 00:00:00 2001 From: Aleksei Lebedev <1329824+LastDragon-ru@users.noreply.github.com> Date: Sat, 23 Mar 2024 14:11:41 +0400 Subject: [PATCH 3/9] `larastan.neon` updated. --- .../dev/src/PhpStan/Container/larastan.neon | 49 +------------------ 1 file changed, 1 insertion(+), 48 deletions(-) diff --git a/packages/dev/src/PhpStan/Container/larastan.neon b/packages/dev/src/PhpStan/Container/larastan.neon index 6a565dd21..ef3bcc052 100644 --- a/packages/dev/src/PhpStan/Container/larastan.neon +++ b/packages/dev/src/PhpStan/Container/larastan.neon @@ -14,7 +14,7 @@ parameters: - Eloquent bootstrapFiles: - - bootstrap.php + - ../../../../../larastan/larastan/bootstrap.php checkOctaneCompatibility: false noEnvCallsOutsideOfConfig: false @@ -154,38 +154,6 @@ services: tags: - phpstan.broker.dynamicMethodReturnTypeExtension - - - class: Larastan\Larastan\ReturnTypes\ContainerArrayAccessDynamicMethodReturnTypeExtension - tags: - - phpstan.broker.dynamicMethodReturnTypeExtension - - arguments: - className: Illuminate\Contracts\Container\Container - - - - class: Larastan\Larastan\ReturnTypes\ContainerArrayAccessDynamicMethodReturnTypeExtension - tags: - - phpstan.broker.dynamicMethodReturnTypeExtension - - arguments: - className: Illuminate\Container\Container - - - - class: Larastan\Larastan\ReturnTypes\ContainerArrayAccessDynamicMethodReturnTypeExtension - tags: - - phpstan.broker.dynamicMethodReturnTypeExtension - - arguments: - className: Illuminate\Foundation\Application - - - - class: Larastan\Larastan\ReturnTypes\ContainerArrayAccessDynamicMethodReturnTypeExtension - tags: - - phpstan.broker.dynamicMethodReturnTypeExtension - - arguments: - className: Illuminate\Contracts\Foundation\Application - - class: Larastan\Larastan\Properties\ModelRelationsExtension tags: @@ -206,11 +174,6 @@ services: tags: - phpstan.broker.dynamicStaticMethodReturnTypeExtension - - - class: Larastan\Larastan\ReturnTypes\AppMakeDynamicReturnTypeExtension - tags: - - phpstan.broker.dynamicStaticMethodReturnTypeExtension - - class: Larastan\Larastan\ReturnTypes\AuthExtension tags: @@ -547,16 +510,6 @@ services: arguments: viewDirectories: %viewDirectories% - - - class: Larastan\Larastan\ReturnTypes\ApplicationMakeDynamicReturnTypeExtension - tags: - - phpstan.broker.dynamicMethodReturnTypeExtension - - - - class: Larastan\Larastan\ReturnTypes\ContainerMakeDynamicReturnTypeExtension - tags: - - phpstan.broker.dynamicMethodReturnTypeExtension - - class: Larastan\Larastan\ReturnTypes\ConsoleCommand\ArgumentDynamicReturnTypeExtension tags: From 8096e56b9ac6a2110ae7c21958ac53b7d1143b5d Mon Sep 17 00:00:00 2001 From: Aleksei Lebedev <1329824+LastDragon-ru@users.noreply.github.com> Date: Sat, 23 Mar 2024 14:31:42 +0400 Subject: [PATCH 4/9] Dependencies fix. --- packages/dev/composer.json | 10 +++++++++- vendor-bin/phpstan/composer.json | 1 - 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/dev/composer.json b/packages/dev/composer.json index a3e403ac2..f9e0a9d4d 100644 --- a/packages/dev/composer.json +++ b/packages/dev/composer.json @@ -19,9 +19,11 @@ }, "require": { "php": "^8.1|^8.2|^8.3", - "ext-mbstring": "*", "illuminate/container": "^10.34.0", + "illuminate/contracts": "^10.34.0", + "larastan/larastan": "^2.8.1", "lastdragon-ru/lara-asp-core": "self.version", + "nikic/php-parser": "^4.18|^5.0", "nette/neon": "^3.4", "phpstan/phpstan": "^1.10" }, @@ -39,5 +41,11 @@ "config": { "sort-packages": true, "optimize-autoloader": true + }, + "repositories": { + "core": { + "type": "path", + "url": "../core" + } } } diff --git a/vendor-bin/phpstan/composer.json b/vendor-bin/phpstan/composer.json index c00305182..dc2cbb4a9 100644 --- a/vendor-bin/phpstan/composer.json +++ b/vendor-bin/phpstan/composer.json @@ -1,6 +1,5 @@ { "require-dev": { - "larastan/larastan": "^2.8.1", "phpstan/phpstan": "^1.10.55", "phpstan/phpstan-mockery": "^1.1", "phpstan/phpstan-phpunit": "^1.3", From eaeceffbd00f231add9b31de330cff881f746916 Mon Sep 17 00:00:00 2001 From: Aleksei Lebedev <1329824+LastDragon-ru@users.noreply.github.com> Date: Sat, 23 Mar 2024 14:37:00 +0400 Subject: [PATCH 5/9] `monorepo-builder` config fix. --- monorepo-builder.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/monorepo-builder.php b/monorepo-builder.php index 8344230f9..9d1e4983b 100644 --- a/monorepo-builder.php +++ b/monorepo-builder.php @@ -4,5 +4,5 @@ return static function (MBConfig $config): void { $config->packageDirectories([__DIR__.'/packages']); - $config->packageDirectoriesExcludes([__DIR__.'/packages/dev']); + $config->packageDirectoriesExcludes(['dev']); }; From 337e6a2d4cea26fc64756eb6a80da30112a18062 Mon Sep 17 00:00:00 2001 From: Aleksei Lebedev <1329824+LastDragon-ru@users.noreply.github.com> Date: Sat, 23 Mar 2024 15:39:09 +0400 Subject: [PATCH 6/9] `composer-require-checker` will ignore `PHPStan\*` classes because it cannot load them from phar :( --- composer-require-checker.json | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/composer-require-checker.json b/composer-require-checker.json index 7f37b7f62..4764f894f 100644 --- a/composer-require-checker.json +++ b/composer-require-checker.json @@ -7,6 +7,14 @@ "Illuminate\\Foundation\\Testing\\RefreshDatabaseState", "Illuminate\\Foundation\\Testing\\TestCase", "LastDragon_ru\\LaraASP\\GraphQLPrinter\\Testing\\Package\\GraphQLAstNode", - "LastDragon_ru\\LaraASP\\GraphQLPrinter\\Testing\\Package\\GraphQLDefinition" + "LastDragon_ru\\LaraASP\\GraphQLPrinter\\Testing\\Package\\GraphQLDefinition", + "PHPStan\\Analyser\\Scope", + "PHPStan\\Node\\InClassNode", + "PHPStan\\Reflection\\ClassReflection", + "PHPStan\\Reflection\\MethodReflection", + "PHPStan\\Rules\\Rule", + "PHPStan\\Rules\\RuleErrorBuilder", + "PHPStan\\Type\\DynamicMethodReturnTypeExtension", + "PHPStan\\Type\\ObjectType" ] } From 8aaa7f4faeb930e075c3613bee81d10eb83a26c1 Mon Sep 17 00:00:00 2001 From: Aleksei Lebedev <1329824+LastDragon-ru@users.noreply.github.com> Date: Sun, 24 Mar 2024 08:14:12 +0400 Subject: [PATCH 7/9] Larastan extension moved to separate namespace. --- packages/dev/src/PhpStan/Container/extension.neon | 3 --- .../{Container/Installer.php => Larastan/Extension.php} | 4 ++-- .../dev/src/PhpStan/{Container => Larastan}/larastan.neon | 0 phpstan.neon | 1 + vendor-bin/phpstan/composer.json | 2 +- 5 files changed, 4 insertions(+), 6 deletions(-) rename packages/dev/src/PhpStan/{Container/Installer.php => Larastan/Extension.php} (98%) rename packages/dev/src/PhpStan/{Container => Larastan}/larastan.neon (100%) diff --git a/packages/dev/src/PhpStan/Container/extension.neon b/packages/dev/src/PhpStan/Container/extension.neon index 7e233f960..78cba40c3 100644 --- a/packages/dev/src/PhpStan/Container/extension.neon +++ b/packages/dev/src/PhpStan/Container/extension.neon @@ -3,6 +3,3 @@ services: class: LastDragon_ru\LaraASP\Dev\PhpStan\Container\Extension tags: - phpstan.broker.dynamicMethodReturnTypeExtension - -includes: - - ./larastan.neon diff --git a/packages/dev/src/PhpStan/Container/Installer.php b/packages/dev/src/PhpStan/Larastan/Extension.php similarity index 98% rename from packages/dev/src/PhpStan/Container/Installer.php rename to packages/dev/src/PhpStan/Larastan/Extension.php index d04c1c209..15ae9a067 100644 --- a/packages/dev/src/PhpStan/Container/Installer.php +++ b/packages/dev/src/PhpStan/Larastan/Extension.php @@ -1,6 +1,6 @@ Date: Sun, 24 Mar 2024 08:31:44 +0400 Subject: [PATCH 8/9] `larastan.neon` moved to `vendor-bin/phpstan`. --- .../dev/src/PhpStan/Larastan/Extension.php | 27 ++++++++++--------- phpstan.neon | 2 +- .../phpstan}/larastan.neon | 2 +- 3 files changed, 16 insertions(+), 15 deletions(-) rename {packages/dev/src/PhpStan/Larastan => vendor-bin/phpstan}/larastan.neon (99%) diff --git a/packages/dev/src/PhpStan/Larastan/Extension.php b/packages/dev/src/PhpStan/Larastan/Extension.php index 15ae9a067..0b111018f 100644 --- a/packages/dev/src/PhpStan/Larastan/Extension.php +++ b/packages/dev/src/PhpStan/Larastan/Extension.php @@ -16,10 +16,10 @@ use function array_values; use function file_get_contents; use function file_put_contents; +use function getcwd; use function implode; use function is_array; use function is_string; -use function realpath; use function sprintf; use const PHP_EOL; @@ -31,21 +31,23 @@ class Extension { * original file). */ public static function dump(): void { + // Prepare + $origin = Path::join(self::getLarastanPath(), 'extension.neon'); + $target = Path::getPath(self::getRootPath(), 'larastan.neon'); + // Load - $origin = (string) file_get_contents(Path::join(self::getLarastanPath(), 'extension.neon')); - $extension = Neon::decode($origin); + $extension = Neon::decode((string) file_get_contents($origin)); if (!is_array($extension)) { throw new Exception('The `$extension` expected to be an array.'); } // Process - $extension = self::updateBootstrapFiles($extension); - $extension = self::updateServices($extension); + $extension = self::updateBootstrapFiles($target, $extension); + $extension = self::updateServices($target, $extension); // Save - $target = __DIR__.'/larastan.neon'; - $neon = Neon::encode($extension, true, ' '); + $neon = Neon::encode($extension, true, ' '); file_put_contents($target, $neon); @@ -57,7 +59,7 @@ public static function dump(): void { * * @return array */ - private static function updateBootstrapFiles(array $extension): array { + private static function updateBootstrapFiles(string $path, array $extension): array { // Valid? if (!isset($extension['parameters']) || !is_array($extension['parameters'])) { throw new Exception('The `$extension[\'parameters\']` expected to be an array.'); @@ -66,8 +68,7 @@ private static function updateBootstrapFiles(array $extension): array { // Update $source = self::getLarastanPath(); $files = (array) ($extension['parameters']['bootstrapFiles'] ?? []); - $root = self::getOwnPath(); - $root = Path::join($root, Path::getRelativePath((string) realpath($root), __DIR__)); + $root = Path::getDirname($path); foreach ($files as $index => $file) { if (!is_string($file)) { @@ -92,7 +93,7 @@ private static function updateBootstrapFiles(array $extension): array { * * @return array */ - private static function updateServices(array $extension): array { + private static function updateServices(string $path, array $extension): array { // Remove $disabled = [ ApplicationMakeDynamicReturnTypeExtension::class => true, @@ -130,8 +131,8 @@ private static function updateServices(array $extension): array { return $extension; } - private static function getOwnPath(): string { - return self::getPackagePath('lastdragon-ru/lara-asp-dev'); + private static function getRootPath(): string { + return (string) getcwd(); } private static function getLarastanPath(): string { diff --git a/phpstan.neon b/phpstan.neon index d40ce562f..d9075ba19 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -55,7 +55,7 @@ includes: - ./vendor-bin/phpstan/vendor/spaze/phpstan-disallowed-calls/disallowed-loose-calls.neon # Package - - ./vendor-bin/phpstan/vendor/lastdragon-ru/lara-asp-dev/src/PhpStan/Larastan/larastan.neon + - ./vendor-bin/phpstan/larastan.neon - ./vendor-bin/phpstan/vendor/lastdragon-ru/lara-asp-dev/src/PhpStan/Container/extension.neon - ./vendor-bin/phpstan/vendor/lastdragon-ru/lara-asp-dev/src/PhpStan/ClassMustBeFinal/extension.neon - ./vendor-bin/phpstan/vendor/lastdragon-ru/lara-asp-dev/src/PhpStan/ClassMustBeInternal/extension.neon diff --git a/packages/dev/src/PhpStan/Larastan/larastan.neon b/vendor-bin/phpstan/larastan.neon similarity index 99% rename from packages/dev/src/PhpStan/Larastan/larastan.neon rename to vendor-bin/phpstan/larastan.neon index ef3bcc052..0915b11cc 100644 --- a/packages/dev/src/PhpStan/Larastan/larastan.neon +++ b/vendor-bin/phpstan/larastan.neon @@ -14,7 +14,7 @@ parameters: - Eloquent bootstrapFiles: - - ../../../../../larastan/larastan/bootstrap.php + - vendor/larastan/larastan/bootstrap.php checkOctaneCompatibility: false noEnvCallsOutsideOfConfig: false From fc651eb8dbc91624a4bb5de6cb2f33f190f6f0bb Mon Sep 17 00:00:00 2001 From: Aleksei Lebedev <1329824+LastDragon-ru@users.noreply.github.com> Date: Sun, 24 Mar 2024 08:42:29 +0400 Subject: [PATCH 9/9] `composer.json` scripts fix. --- vendor-bin/phpstan/composer.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/vendor-bin/phpstan/composer.json b/vendor-bin/phpstan/composer.json index 8b9cd261f..5e7912ff2 100644 --- a/vendor-bin/phpstan/composer.json +++ b/vendor-bin/phpstan/composer.json @@ -9,7 +9,13 @@ "lastdragon-ru/lara-asp-dev": "self.version" }, "scripts": { + "post-install-cmd": [ + "composer run-script dump:larastan" + ], "post-update-cmd": [ + "composer run-script dump:larastan" + ], + "dump:larastan": [ "LastDragon_ru\\LaraASP\\Dev\\PhpStan\\Larastan\\Extension::dump" ] },