mirror of
https://gitee.com/celaraze/chemex.git
synced 2024-12-02 03:07:49 +08:00
例行性安全性更新&合并PR
This commit is contained in:
parent
9e81dd15a9
commit
a478e48167
17
vendor/adldap2/adldap2-laravel/composer.json
vendored
17
vendor/adldap2/adldap2-laravel/composer.json
vendored
@ -1,21 +1,28 @@
|
||||
{
|
||||
"name": "adldap2/adldap2-laravel",
|
||||
"description": "LDAP Authentication & Management for Laravel.",
|
||||
"keywords": ["adldap", "adldap2", "ldap", "laravel"],
|
||||
"keywords": [
|
||||
"adldap",
|
||||
"adldap2",
|
||||
"ldap",
|
||||
"laravel"
|
||||
],
|
||||
"license": "MIT",
|
||||
"type": "project",
|
||||
"require": {
|
||||
"php": ">=7.1",
|
||||
"adldap2/adldap2": "^10.1",
|
||||
"illuminate/support": "~5.5|~6.0|~7.0|~8.0|~9.0"
|
||||
"illuminate/support": "~5.5|~6.0|~7.0|~8.0|~9.0|^10.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"mockery/mockery": "~1.0",
|
||||
"phpunit/phpunit": "~7.0|~8.0",
|
||||
"orchestra/testbench": "~3.7|~4.0"
|
||||
"phpunit/phpunit": "~7.0|~8.0|^9.5.10",
|
||||
"orchestra/testbench": "~3.7|~4.0|^8.0"
|
||||
},
|
||||
"archive": {
|
||||
"exclude": ["/tests"]
|
||||
"exclude": [
|
||||
"/tests"
|
||||
]
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
|
@ -32,6 +32,7 @@ jobs:
|
||||
- "7.4"
|
||||
- "8.0"
|
||||
- "8.1"
|
||||
- "8.2"
|
||||
|
||||
name: PHP ${{ matrix.php-version }} tests
|
||||
|
||||
|
12
vendor/adldap2/adldap2/composer.json
vendored
12
vendor/adldap2/adldap2/composer.json
vendored
@ -29,14 +29,14 @@
|
||||
"php": ">=7.0",
|
||||
"ext-ldap": "*",
|
||||
"ext-json": "*",
|
||||
"psr/log": "~1.0|~2.0|~3.0",
|
||||
"psr/simple-cache": "~1.0|~2.0",
|
||||
"tightenco/collect": "~5.0|~6.0|~7.0|~8.0",
|
||||
"illuminate/contracts": "~5.0|~6.0|~7.0|~8.0|~9.0"
|
||||
"psr/log": "^1.0|^2.0|^3.0",
|
||||
"psr/simple-cache": "^1.0|^2.0|^3.0",
|
||||
"tightenco/collect": "^5.0|^6.0|^7.0|^8.0|^9.0",
|
||||
"illuminate/contracts": "^5.0|^6.0|^7.0|^8.0|^9.0|^10.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"symfony/phpunit-bridge": "~5.2|~6.0",
|
||||
"mockery/mockery": "~1.0"
|
||||
"symfony/phpunit-bridge": "^5.2|^6.0",
|
||||
"mockery/mockery": "^1.0"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-fileinfo": "fileinfo is required when retrieving user encoded thumbnails"
|
||||
|
34
vendor/composer/autoload_classmap.php
vendored
34
vendor/composer/autoload_classmap.php
vendored
@ -2981,6 +2981,7 @@ return array(
|
||||
'Illuminate\\Cache\\Events\\CacheMissed' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/Events/CacheMissed.php',
|
||||
'Illuminate\\Cache\\Events\\KeyForgotten' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/Events/KeyForgotten.php',
|
||||
'Illuminate\\Cache\\Events\\KeyWritten' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/Events/KeyWritten.php',
|
||||
'Illuminate\\Cache\\FileLock' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/FileLock.php',
|
||||
'Illuminate\\Cache\\FileStore' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/FileStore.php',
|
||||
'Illuminate\\Cache\\HasCacheLock' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/HasCacheLock.php',
|
||||
'Illuminate\\Cache\\Lock' => $vendorDir . '/laravel/framework/src/Illuminate/Cache/Lock.php',
|
||||
@ -3368,6 +3369,7 @@ return array(
|
||||
'Illuminate\\Database\\Query\\Grammars\\PostgresGrammar' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Query/Grammars/PostgresGrammar.php',
|
||||
'Illuminate\\Database\\Query\\Grammars\\SQLiteGrammar' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Query/Grammars/SQLiteGrammar.php',
|
||||
'Illuminate\\Database\\Query\\Grammars\\SqlServerGrammar' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Query/Grammars/SqlServerGrammar.php',
|
||||
'Illuminate\\Database\\Query\\IndexHint' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Query/IndexHint.php',
|
||||
'Illuminate\\Database\\Query\\JoinClause' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Query/JoinClause.php',
|
||||
'Illuminate\\Database\\Query\\Processors\\MySqlProcessor' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php',
|
||||
'Illuminate\\Database\\Query\\Processors\\PostgresProcessor' => $vendorDir . '/laravel/framework/src/Illuminate/Database/Query/Processors/PostgresProcessor.php',
|
||||
@ -3637,6 +3639,7 @@ return array(
|
||||
'Illuminate\\Mail\\Transport\\ArrayTransport' => $vendorDir . '/laravel/framework/src/Illuminate/Mail/Transport/ArrayTransport.php',
|
||||
'Illuminate\\Mail\\Transport\\LogTransport' => $vendorDir . '/laravel/framework/src/Illuminate/Mail/Transport/LogTransport.php',
|
||||
'Illuminate\\Mail\\Transport\\SesTransport' => $vendorDir . '/laravel/framework/src/Illuminate/Mail/Transport/SesTransport.php',
|
||||
'Illuminate\\Mail\\Transport\\SesV2Transport' => $vendorDir . '/laravel/framework/src/Illuminate/Mail/Transport/SesV2Transport.php',
|
||||
'Illuminate\\Notifications\\Action' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/Action.php',
|
||||
'Illuminate\\Notifications\\AnonymousNotifiable' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/AnonymousNotifiable.php',
|
||||
'Illuminate\\Notifications\\ChannelManager' => $vendorDir . '/laravel/framework/src/Illuminate/Notifications/ChannelManager.php',
|
||||
@ -6466,6 +6469,9 @@ return array(
|
||||
'Spipu\\Html2Pdf\\Tag\\Svg\\Polyline' => $vendorDir . '/spipu/html2pdf/src/Tag/Svg/Polyline.php',
|
||||
'Spipu\\Html2Pdf\\Tag\\Svg\\Rect' => $vendorDir . '/spipu/html2pdf/src/Tag/Svg/Rect.php',
|
||||
'Spipu\\Html2Pdf\\Tag\\TagInterface' => $vendorDir . '/spipu/html2pdf/src/Tag/TagInterface.php',
|
||||
'Spiral\\Core\\Attribute\\Finalize' => $vendorDir . '/spiral/core/src/Attribute/Finalize.php',
|
||||
'Spiral\\Core\\Attribute\\Scope' => $vendorDir . '/spiral/core/src/Attribute/Scope.php',
|
||||
'Spiral\\Core\\Attribute\\Singleton' => $vendorDir . '/spiral/core/src/Attribute/Singleton.php',
|
||||
'Spiral\\Core\\BinderInterface' => $vendorDir . '/spiral/core/src/BinderInterface.php',
|
||||
'Spiral\\Core\\Config' => $vendorDir . '/spiral/core/src/Config.php',
|
||||
'Spiral\\Core\\ConfigsInterface' => $vendorDir . '/spiral/core/src/ConfigsInterface.php',
|
||||
@ -6495,20 +6501,29 @@ return array(
|
||||
'Spiral\\Core\\Exception\\Resolver\\WrongTypeException' => $vendorDir . '/spiral/core/src/Exception/Resolver/WrongTypeException.php',
|
||||
'Spiral\\Core\\Exception\\RuntimeException' => $vendorDir . '/spiral/core/src/Exception/RuntimeException.php',
|
||||
'Spiral\\Core\\Exception\\ScopeException' => $vendorDir . '/spiral/core/src/Exception/ScopeException.php',
|
||||
'Spiral\\Core\\Exception\\Scope\\BadScopeException' => $vendorDir . '/spiral/core/src/Exception/Scope/BadScopeException.php',
|
||||
'Spiral\\Core\\Exception\\Scope\\FinalizersException' => $vendorDir . '/spiral/core/src/Exception/Scope/FinalizersException.php',
|
||||
'Spiral\\Core\\Exception\\Scope\\NamedScopeDuplicationException' => $vendorDir . '/spiral/core/src/Exception/Scope/NamedScopeDuplicationException.php',
|
||||
'Spiral\\Core\\Exception\\Scope\\ScopeContainerLeakedException' => $vendorDir . '/spiral/core/src/Exception/Scope/ScopeContainerLeakedException.php',
|
||||
'Spiral\\Core\\Exception\\Scope\\ScopeException' => $vendorDir . '/spiral/core/src/Exception/Scope/ScopeException.php',
|
||||
'Spiral\\Core\\Exception\\Traits\\ClosureRendererTrait' => $vendorDir . '/spiral/core/src/Exception/Traits/ClosureRendererTrait.php',
|
||||
'Spiral\\Core\\FactoryInterface' => $vendorDir . '/spiral/core/src/FactoryInterface.php',
|
||||
'Spiral\\Core\\InjectableConfig' => $vendorDir . '/spiral/core/src/InjectableConfig.php',
|
||||
'Spiral\\Core\\Internal\\Binder' => $vendorDir . '/spiral/core/src/Internal/Binder.php',
|
||||
'Spiral\\Core\\Internal\\Common\\DestructorTrait' => $vendorDir . '/spiral/core/src/Internal/Common/DestructorTrait.php',
|
||||
'Spiral\\Core\\Internal\\Common\\Registry' => $vendorDir . '/spiral/core/src/Internal/Common/Registry.php',
|
||||
'Spiral\\Core\\Internal\\Config\\StateBinder' => $vendorDir . '/spiral/core/src/Internal/Config/StateBinder.php',
|
||||
'Spiral\\Core\\Internal\\Config\\StateStorage' => $vendorDir . '/spiral/core/src/Internal/Config/StateStorage.php',
|
||||
'Spiral\\Core\\Internal\\Container' => $vendorDir . '/spiral/core/src/Internal/Container.php',
|
||||
'Spiral\\Core\\Internal\\DestructorTrait' => $vendorDir . '/spiral/core/src/Internal/DestructorTrait.php',
|
||||
'Spiral\\Core\\Internal\\Factory' => $vendorDir . '/spiral/core/src/Internal/Factory.php',
|
||||
'Spiral\\Core\\Internal\\Factory\\Ctx' => $vendorDir . '/spiral/core/src/Internal/Factory/Ctx.php',
|
||||
'Spiral\\Core\\Internal\\Invoker' => $vendorDir . '/spiral/core/src/Internal/Invoker.php',
|
||||
'Spiral\\Core\\Internal\\Registry' => $vendorDir . '/spiral/core/src/Internal/Registry.php',
|
||||
'Spiral\\Core\\Internal\\Resolver' => $vendorDir . '/spiral/core/src/Internal/Resolver.php',
|
||||
'Spiral\\Core\\Internal\\ResolvingState' => $vendorDir . '/spiral/core/src/Internal/ResolvingState.php',
|
||||
'Spiral\\Core\\Internal\\Resolver\\ResolvingState' => $vendorDir . '/spiral/core/src/Internal/Resolver/ResolvingState.php',
|
||||
'Spiral\\Core\\Internal\\Scope' => $vendorDir . '/spiral/core/src/Internal/Scope.php',
|
||||
'Spiral\\Core\\Internal\\State' => $vendorDir . '/spiral/core/src/Internal/State.php',
|
||||
'Spiral\\Core\\Internal\\Trace' => $vendorDir . '/spiral/core/src/Internal/Trace.php',
|
||||
'Spiral\\Core\\Internal\\Tracer' => $vendorDir . '/spiral/core/src/Internal/Tracer.php',
|
||||
'Spiral\\Core\\Internal\\Tracer\\Trace' => $vendorDir . '/spiral/core/src/Internal/Tracer/Trace.php',
|
||||
'Spiral\\Core\\InvokerInterface' => $vendorDir . '/spiral/core/src/InvokerInterface.php',
|
||||
'Spiral\\Core\\ResolverInterface' => $vendorDir . '/spiral/core/src/ResolverInterface.php',
|
||||
'Spiral\\Core\\ScopeInterface' => $vendorDir . '/spiral/core/src/ScopeInterface.php',
|
||||
@ -6630,6 +6645,9 @@ return array(
|
||||
'Spiral\\RoadRunner\\WorkerAwareInterface' => $vendorDir . '/spiral/roadrunner-worker/src/WorkerAwareInterface.php',
|
||||
'Spiral\\RoadRunner\\WorkerInterface' => $vendorDir . '/spiral/roadrunner-worker/src/WorkerInterface.php',
|
||||
'Spiral\\Tokenizer\\AbstractLocator' => $vendorDir . '/spiral/tokenizer/src/AbstractLocator.php',
|
||||
'Spiral\\Tokenizer\\Attribute\\AbstractTarget' => $vendorDir . '/spiral/tokenizer/src/Attribute/AbstractTarget.php',
|
||||
'Spiral\\Tokenizer\\Attribute\\TargetAttribute' => $vendorDir . '/spiral/tokenizer/src/Attribute/TargetAttribute.php',
|
||||
'Spiral\\Tokenizer\\Attribute\\TargetClass' => $vendorDir . '/spiral/tokenizer/src/Attribute/TargetClass.php',
|
||||
'Spiral\\Tokenizer\\Bootloader\\TokenizerBootloader' => $vendorDir . '/spiral/tokenizer/src/Bootloader/TokenizerBootloader.php',
|
||||
'Spiral\\Tokenizer\\Bootloader\\TokenizerListenerBootloader' => $vendorDir . '/spiral/tokenizer/src/Bootloader/TokenizerListenerBootloader.php',
|
||||
'Spiral\\Tokenizer\\ClassLocator' => $vendorDir . '/spiral/tokenizer/src/ClassLocator.php',
|
||||
@ -6642,6 +6660,10 @@ return array(
|
||||
'Spiral\\Tokenizer\\InvocationLocator' => $vendorDir . '/spiral/tokenizer/src/InvocationLocator.php',
|
||||
'Spiral\\Tokenizer\\InvocationLocatorInjector' => $vendorDir . '/spiral/tokenizer/src/InvocationLocatorInjector.php',
|
||||
'Spiral\\Tokenizer\\InvocationsInterface' => $vendorDir . '/spiral/tokenizer/src/InvocationsInterface.php',
|
||||
'Spiral\\Tokenizer\\Listener\\CachedClassesLoader' => $vendorDir . '/spiral/tokenizer/src/Listener/CachedClassesLoader.php',
|
||||
'Spiral\\Tokenizer\\Listener\\ClassLocatorByTarget' => $vendorDir . '/spiral/tokenizer/src/Listener/ClassLocatorByTarget.php',
|
||||
'Spiral\\Tokenizer\\Listener\\ClassesLoaderInterface' => $vendorDir . '/spiral/tokenizer/src/Listener/ClassesLoaderInterface.php',
|
||||
'Spiral\\Tokenizer\\Listener\\ListenerInvoker' => $vendorDir . '/spiral/tokenizer/src/Listener/ListenerInvoker.php',
|
||||
'Spiral\\Tokenizer\\Reflection\\ReflectionArgument' => $vendorDir . '/spiral/tokenizer/src/Reflection/ReflectionArgument.php',
|
||||
'Spiral\\Tokenizer\\Reflection\\ReflectionFile' => $vendorDir . '/spiral/tokenizer/src/Reflection/ReflectionFile.php',
|
||||
'Spiral\\Tokenizer\\Reflection\\ReflectionInvocation' => $vendorDir . '/spiral/tokenizer/src/Reflection/ReflectionInvocation.php',
|
||||
@ -7704,6 +7726,7 @@ return array(
|
||||
'TheSeer\\Tokenizer\\TokenCollectionException' => $vendorDir . '/theseer/tokenizer/src/TokenCollectionException.php',
|
||||
'TheSeer\\Tokenizer\\Tokenizer' => $vendorDir . '/theseer/tokenizer/src/Tokenizer.php',
|
||||
'TheSeer\\Tokenizer\\XMLSerializer' => $vendorDir . '/theseer/tokenizer/src/XMLSerializer.php',
|
||||
'Tightenco\\Collect\\Conditionable\\HigherOrderWhenProxy' => $vendorDir . '/tightenco/collect/src/Collect/Conditionable/HigherOrderWhenProxy.php',
|
||||
'Tightenco\\Collect\\Contracts\\Support\\Arrayable' => $vendorDir . '/tightenco/collect/src/Collect/Contracts/Support/Arrayable.php',
|
||||
'Tightenco\\Collect\\Contracts\\Support\\CanBeEscapedWhenCastToString' => $vendorDir . '/tightenco/collect/src/Collect/Contracts/Support/CanBeEscapedWhenCastToString.php',
|
||||
'Tightenco\\Collect\\Contracts\\Support\\Htmlable' => $vendorDir . '/tightenco/collect/src/Collect/Contracts/Support/Htmlable.php',
|
||||
@ -7712,8 +7735,9 @@ return array(
|
||||
'Tightenco\\Collect\\Support\\Collection' => $vendorDir . '/tightenco/collect/src/Collect/Support/Collection.php',
|
||||
'Tightenco\\Collect\\Support\\Enumerable' => $vendorDir . '/tightenco/collect/src/Collect/Support/Enumerable.php',
|
||||
'Tightenco\\Collect\\Support\\HigherOrderCollectionProxy' => $vendorDir . '/tightenco/collect/src/Collect/Support/HigherOrderCollectionProxy.php',
|
||||
'Tightenco\\Collect\\Support\\HigherOrderWhenProxy' => $vendorDir . '/tightenco/collect/src/Collect/Support/HigherOrderWhenProxy.php',
|
||||
'Tightenco\\Collect\\Support\\LazyCollection' => $vendorDir . '/tightenco/collect/src/Collect/Support/LazyCollection.php',
|
||||
'Tightenco\\Collect\\Support\\Str' => $vendorDir . '/tightenco/collect/src/Collect/Support/Str.php',
|
||||
'Tightenco\\Collect\\Support\\Traits\\Conditionable' => $vendorDir . '/tightenco/collect/src/Collect/Support/Traits/Conditionable.php',
|
||||
'Tightenco\\Collect\\Support\\Traits\\EnumeratesValues' => $vendorDir . '/tightenco/collect/src/Collect/Support/Traits/EnumeratesValues.php',
|
||||
'Tightenco\\Collect\\Support\\Traits\\Macroable' => $vendorDir . '/tightenco/collect/src/Collect/Support/Traits/Macroable.php',
|
||||
'Tightenco\\Collect\\Support\\Traits\\Tappable' => $vendorDir . '/tightenco/collect/src/Collect/Support/Traits/Tappable.php',
|
||||
|
34
vendor/composer/autoload_static.php
vendored
34
vendor/composer/autoload_static.php
vendored
@ -3755,6 +3755,7 @@ class ComposerStaticInite758755b0ce068cedf69837a0c438f81
|
||||
'Illuminate\\Cache\\Events\\CacheMissed' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/Events/CacheMissed.php',
|
||||
'Illuminate\\Cache\\Events\\KeyForgotten' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/Events/KeyForgotten.php',
|
||||
'Illuminate\\Cache\\Events\\KeyWritten' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/Events/KeyWritten.php',
|
||||
'Illuminate\\Cache\\FileLock' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/FileLock.php',
|
||||
'Illuminate\\Cache\\FileStore' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/FileStore.php',
|
||||
'Illuminate\\Cache\\HasCacheLock' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/HasCacheLock.php',
|
||||
'Illuminate\\Cache\\Lock' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Cache/Lock.php',
|
||||
@ -4142,6 +4143,7 @@ class ComposerStaticInite758755b0ce068cedf69837a0c438f81
|
||||
'Illuminate\\Database\\Query\\Grammars\\PostgresGrammar' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Query/Grammars/PostgresGrammar.php',
|
||||
'Illuminate\\Database\\Query\\Grammars\\SQLiteGrammar' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Query/Grammars/SQLiteGrammar.php',
|
||||
'Illuminate\\Database\\Query\\Grammars\\SqlServerGrammar' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Query/Grammars/SqlServerGrammar.php',
|
||||
'Illuminate\\Database\\Query\\IndexHint' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Query/IndexHint.php',
|
||||
'Illuminate\\Database\\Query\\JoinClause' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Query/JoinClause.php',
|
||||
'Illuminate\\Database\\Query\\Processors\\MySqlProcessor' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Query/Processors/MySqlProcessor.php',
|
||||
'Illuminate\\Database\\Query\\Processors\\PostgresProcessor' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Database/Query/Processors/PostgresProcessor.php',
|
||||
@ -4411,6 +4413,7 @@ class ComposerStaticInite758755b0ce068cedf69837a0c438f81
|
||||
'Illuminate\\Mail\\Transport\\ArrayTransport' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Mail/Transport/ArrayTransport.php',
|
||||
'Illuminate\\Mail\\Transport\\LogTransport' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Mail/Transport/LogTransport.php',
|
||||
'Illuminate\\Mail\\Transport\\SesTransport' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Mail/Transport/SesTransport.php',
|
||||
'Illuminate\\Mail\\Transport\\SesV2Transport' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Mail/Transport/SesV2Transport.php',
|
||||
'Illuminate\\Notifications\\Action' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/Action.php',
|
||||
'Illuminate\\Notifications\\AnonymousNotifiable' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/AnonymousNotifiable.php',
|
||||
'Illuminate\\Notifications\\ChannelManager' => __DIR__ . '/..' . '/laravel/framework/src/Illuminate/Notifications/ChannelManager.php',
|
||||
@ -7240,6 +7243,9 @@ class ComposerStaticInite758755b0ce068cedf69837a0c438f81
|
||||
'Spipu\\Html2Pdf\\Tag\\Svg\\Polyline' => __DIR__ . '/..' . '/spipu/html2pdf/src/Tag/Svg/Polyline.php',
|
||||
'Spipu\\Html2Pdf\\Tag\\Svg\\Rect' => __DIR__ . '/..' . '/spipu/html2pdf/src/Tag/Svg/Rect.php',
|
||||
'Spipu\\Html2Pdf\\Tag\\TagInterface' => __DIR__ . '/..' . '/spipu/html2pdf/src/Tag/TagInterface.php',
|
||||
'Spiral\\Core\\Attribute\\Finalize' => __DIR__ . '/..' . '/spiral/core/src/Attribute/Finalize.php',
|
||||
'Spiral\\Core\\Attribute\\Scope' => __DIR__ . '/..' . '/spiral/core/src/Attribute/Scope.php',
|
||||
'Spiral\\Core\\Attribute\\Singleton' => __DIR__ . '/..' . '/spiral/core/src/Attribute/Singleton.php',
|
||||
'Spiral\\Core\\BinderInterface' => __DIR__ . '/..' . '/spiral/core/src/BinderInterface.php',
|
||||
'Spiral\\Core\\Config' => __DIR__ . '/..' . '/spiral/core/src/Config.php',
|
||||
'Spiral\\Core\\ConfigsInterface' => __DIR__ . '/..' . '/spiral/core/src/ConfigsInterface.php',
|
||||
@ -7269,20 +7275,29 @@ class ComposerStaticInite758755b0ce068cedf69837a0c438f81
|
||||
'Spiral\\Core\\Exception\\Resolver\\WrongTypeException' => __DIR__ . '/..' . '/spiral/core/src/Exception/Resolver/WrongTypeException.php',
|
||||
'Spiral\\Core\\Exception\\RuntimeException' => __DIR__ . '/..' . '/spiral/core/src/Exception/RuntimeException.php',
|
||||
'Spiral\\Core\\Exception\\ScopeException' => __DIR__ . '/..' . '/spiral/core/src/Exception/ScopeException.php',
|
||||
'Spiral\\Core\\Exception\\Scope\\BadScopeException' => __DIR__ . '/..' . '/spiral/core/src/Exception/Scope/BadScopeException.php',
|
||||
'Spiral\\Core\\Exception\\Scope\\FinalizersException' => __DIR__ . '/..' . '/spiral/core/src/Exception/Scope/FinalizersException.php',
|
||||
'Spiral\\Core\\Exception\\Scope\\NamedScopeDuplicationException' => __DIR__ . '/..' . '/spiral/core/src/Exception/Scope/NamedScopeDuplicationException.php',
|
||||
'Spiral\\Core\\Exception\\Scope\\ScopeContainerLeakedException' => __DIR__ . '/..' . '/spiral/core/src/Exception/Scope/ScopeContainerLeakedException.php',
|
||||
'Spiral\\Core\\Exception\\Scope\\ScopeException' => __DIR__ . '/..' . '/spiral/core/src/Exception/Scope/ScopeException.php',
|
||||
'Spiral\\Core\\Exception\\Traits\\ClosureRendererTrait' => __DIR__ . '/..' . '/spiral/core/src/Exception/Traits/ClosureRendererTrait.php',
|
||||
'Spiral\\Core\\FactoryInterface' => __DIR__ . '/..' . '/spiral/core/src/FactoryInterface.php',
|
||||
'Spiral\\Core\\InjectableConfig' => __DIR__ . '/..' . '/spiral/core/src/InjectableConfig.php',
|
||||
'Spiral\\Core\\Internal\\Binder' => __DIR__ . '/..' . '/spiral/core/src/Internal/Binder.php',
|
||||
'Spiral\\Core\\Internal\\Common\\DestructorTrait' => __DIR__ . '/..' . '/spiral/core/src/Internal/Common/DestructorTrait.php',
|
||||
'Spiral\\Core\\Internal\\Common\\Registry' => __DIR__ . '/..' . '/spiral/core/src/Internal/Common/Registry.php',
|
||||
'Spiral\\Core\\Internal\\Config\\StateBinder' => __DIR__ . '/..' . '/spiral/core/src/Internal/Config/StateBinder.php',
|
||||
'Spiral\\Core\\Internal\\Config\\StateStorage' => __DIR__ . '/..' . '/spiral/core/src/Internal/Config/StateStorage.php',
|
||||
'Spiral\\Core\\Internal\\Container' => __DIR__ . '/..' . '/spiral/core/src/Internal/Container.php',
|
||||
'Spiral\\Core\\Internal\\DestructorTrait' => __DIR__ . '/..' . '/spiral/core/src/Internal/DestructorTrait.php',
|
||||
'Spiral\\Core\\Internal\\Factory' => __DIR__ . '/..' . '/spiral/core/src/Internal/Factory.php',
|
||||
'Spiral\\Core\\Internal\\Factory\\Ctx' => __DIR__ . '/..' . '/spiral/core/src/Internal/Factory/Ctx.php',
|
||||
'Spiral\\Core\\Internal\\Invoker' => __DIR__ . '/..' . '/spiral/core/src/Internal/Invoker.php',
|
||||
'Spiral\\Core\\Internal\\Registry' => __DIR__ . '/..' . '/spiral/core/src/Internal/Registry.php',
|
||||
'Spiral\\Core\\Internal\\Resolver' => __DIR__ . '/..' . '/spiral/core/src/Internal/Resolver.php',
|
||||
'Spiral\\Core\\Internal\\ResolvingState' => __DIR__ . '/..' . '/spiral/core/src/Internal/ResolvingState.php',
|
||||
'Spiral\\Core\\Internal\\Resolver\\ResolvingState' => __DIR__ . '/..' . '/spiral/core/src/Internal/Resolver/ResolvingState.php',
|
||||
'Spiral\\Core\\Internal\\Scope' => __DIR__ . '/..' . '/spiral/core/src/Internal/Scope.php',
|
||||
'Spiral\\Core\\Internal\\State' => __DIR__ . '/..' . '/spiral/core/src/Internal/State.php',
|
||||
'Spiral\\Core\\Internal\\Trace' => __DIR__ . '/..' . '/spiral/core/src/Internal/Trace.php',
|
||||
'Spiral\\Core\\Internal\\Tracer' => __DIR__ . '/..' . '/spiral/core/src/Internal/Tracer.php',
|
||||
'Spiral\\Core\\Internal\\Tracer\\Trace' => __DIR__ . '/..' . '/spiral/core/src/Internal/Tracer/Trace.php',
|
||||
'Spiral\\Core\\InvokerInterface' => __DIR__ . '/..' . '/spiral/core/src/InvokerInterface.php',
|
||||
'Spiral\\Core\\ResolverInterface' => __DIR__ . '/..' . '/spiral/core/src/ResolverInterface.php',
|
||||
'Spiral\\Core\\ScopeInterface' => __DIR__ . '/..' . '/spiral/core/src/ScopeInterface.php',
|
||||
@ -7404,6 +7419,9 @@ class ComposerStaticInite758755b0ce068cedf69837a0c438f81
|
||||
'Spiral\\RoadRunner\\WorkerAwareInterface' => __DIR__ . '/..' . '/spiral/roadrunner-worker/src/WorkerAwareInterface.php',
|
||||
'Spiral\\RoadRunner\\WorkerInterface' => __DIR__ . '/..' . '/spiral/roadrunner-worker/src/WorkerInterface.php',
|
||||
'Spiral\\Tokenizer\\AbstractLocator' => __DIR__ . '/..' . '/spiral/tokenizer/src/AbstractLocator.php',
|
||||
'Spiral\\Tokenizer\\Attribute\\AbstractTarget' => __DIR__ . '/..' . '/spiral/tokenizer/src/Attribute/AbstractTarget.php',
|
||||
'Spiral\\Tokenizer\\Attribute\\TargetAttribute' => __DIR__ . '/..' . '/spiral/tokenizer/src/Attribute/TargetAttribute.php',
|
||||
'Spiral\\Tokenizer\\Attribute\\TargetClass' => __DIR__ . '/..' . '/spiral/tokenizer/src/Attribute/TargetClass.php',
|
||||
'Spiral\\Tokenizer\\Bootloader\\TokenizerBootloader' => __DIR__ . '/..' . '/spiral/tokenizer/src/Bootloader/TokenizerBootloader.php',
|
||||
'Spiral\\Tokenizer\\Bootloader\\TokenizerListenerBootloader' => __DIR__ . '/..' . '/spiral/tokenizer/src/Bootloader/TokenizerListenerBootloader.php',
|
||||
'Spiral\\Tokenizer\\ClassLocator' => __DIR__ . '/..' . '/spiral/tokenizer/src/ClassLocator.php',
|
||||
@ -7416,6 +7434,10 @@ class ComposerStaticInite758755b0ce068cedf69837a0c438f81
|
||||
'Spiral\\Tokenizer\\InvocationLocator' => __DIR__ . '/..' . '/spiral/tokenizer/src/InvocationLocator.php',
|
||||
'Spiral\\Tokenizer\\InvocationLocatorInjector' => __DIR__ . '/..' . '/spiral/tokenizer/src/InvocationLocatorInjector.php',
|
||||
'Spiral\\Tokenizer\\InvocationsInterface' => __DIR__ . '/..' . '/spiral/tokenizer/src/InvocationsInterface.php',
|
||||
'Spiral\\Tokenizer\\Listener\\CachedClassesLoader' => __DIR__ . '/..' . '/spiral/tokenizer/src/Listener/CachedClassesLoader.php',
|
||||
'Spiral\\Tokenizer\\Listener\\ClassLocatorByTarget' => __DIR__ . '/..' . '/spiral/tokenizer/src/Listener/ClassLocatorByTarget.php',
|
||||
'Spiral\\Tokenizer\\Listener\\ClassesLoaderInterface' => __DIR__ . '/..' . '/spiral/tokenizer/src/Listener/ClassesLoaderInterface.php',
|
||||
'Spiral\\Tokenizer\\Listener\\ListenerInvoker' => __DIR__ . '/..' . '/spiral/tokenizer/src/Listener/ListenerInvoker.php',
|
||||
'Spiral\\Tokenizer\\Reflection\\ReflectionArgument' => __DIR__ . '/..' . '/spiral/tokenizer/src/Reflection/ReflectionArgument.php',
|
||||
'Spiral\\Tokenizer\\Reflection\\ReflectionFile' => __DIR__ . '/..' . '/spiral/tokenizer/src/Reflection/ReflectionFile.php',
|
||||
'Spiral\\Tokenizer\\Reflection\\ReflectionInvocation' => __DIR__ . '/..' . '/spiral/tokenizer/src/Reflection/ReflectionInvocation.php',
|
||||
@ -8478,6 +8500,7 @@ class ComposerStaticInite758755b0ce068cedf69837a0c438f81
|
||||
'TheSeer\\Tokenizer\\TokenCollectionException' => __DIR__ . '/..' . '/theseer/tokenizer/src/TokenCollectionException.php',
|
||||
'TheSeer\\Tokenizer\\Tokenizer' => __DIR__ . '/..' . '/theseer/tokenizer/src/Tokenizer.php',
|
||||
'TheSeer\\Tokenizer\\XMLSerializer' => __DIR__ . '/..' . '/theseer/tokenizer/src/XMLSerializer.php',
|
||||
'Tightenco\\Collect\\Conditionable\\HigherOrderWhenProxy' => __DIR__ . '/..' . '/tightenco/collect/src/Collect/Conditionable/HigherOrderWhenProxy.php',
|
||||
'Tightenco\\Collect\\Contracts\\Support\\Arrayable' => __DIR__ . '/..' . '/tightenco/collect/src/Collect/Contracts/Support/Arrayable.php',
|
||||
'Tightenco\\Collect\\Contracts\\Support\\CanBeEscapedWhenCastToString' => __DIR__ . '/..' . '/tightenco/collect/src/Collect/Contracts/Support/CanBeEscapedWhenCastToString.php',
|
||||
'Tightenco\\Collect\\Contracts\\Support\\Htmlable' => __DIR__ . '/..' . '/tightenco/collect/src/Collect/Contracts/Support/Htmlable.php',
|
||||
@ -8486,8 +8509,9 @@ class ComposerStaticInite758755b0ce068cedf69837a0c438f81
|
||||
'Tightenco\\Collect\\Support\\Collection' => __DIR__ . '/..' . '/tightenco/collect/src/Collect/Support/Collection.php',
|
||||
'Tightenco\\Collect\\Support\\Enumerable' => __DIR__ . '/..' . '/tightenco/collect/src/Collect/Support/Enumerable.php',
|
||||
'Tightenco\\Collect\\Support\\HigherOrderCollectionProxy' => __DIR__ . '/..' . '/tightenco/collect/src/Collect/Support/HigherOrderCollectionProxy.php',
|
||||
'Tightenco\\Collect\\Support\\HigherOrderWhenProxy' => __DIR__ . '/..' . '/tightenco/collect/src/Collect/Support/HigherOrderWhenProxy.php',
|
||||
'Tightenco\\Collect\\Support\\LazyCollection' => __DIR__ . '/..' . '/tightenco/collect/src/Collect/Support/LazyCollection.php',
|
||||
'Tightenco\\Collect\\Support\\Str' => __DIR__ . '/..' . '/tightenco/collect/src/Collect/Support/Str.php',
|
||||
'Tightenco\\Collect\\Support\\Traits\\Conditionable' => __DIR__ . '/..' . '/tightenco/collect/src/Collect/Support/Traits/Conditionable.php',
|
||||
'Tightenco\\Collect\\Support\\Traits\\EnumeratesValues' => __DIR__ . '/..' . '/tightenco/collect/src/Collect/Support/Traits/EnumeratesValues.php',
|
||||
'Tightenco\\Collect\\Support\\Traits\\Macroable' => __DIR__ . '/..' . '/tightenco/collect/src/Collect/Support/Traits/Macroable.php',
|
||||
'Tightenco\\Collect\\Support\\Traits\\Tappable' => __DIR__ . '/..' . '/tightenco/collect/src/Collect/Support/Traits/Tappable.php',
|
||||
|
5
vendor/composer/composer/CHANGELOG.md
vendored
5
vendor/composer/composer/CHANGELOG.md
vendored
@ -1,3 +1,7 @@
|
||||
### [2.5.4] 2023-02-15
|
||||
|
||||
* Fixed extra.plugin-optional support in PluginInstaller when doing pre-install checks (#11318)
|
||||
|
||||
### [2.5.3] 2023-02-10
|
||||
|
||||
* Added extra.plugin-optional support for allow auto-disabling unknown plugins which are not critical when running non-interactive (#11315)
|
||||
@ -1695,6 +1699,7 @@
|
||||
|
||||
* Initial release
|
||||
|
||||
[2.5.4]: https://github.com/composer/composer/compare/2.5.3...2.5.4
|
||||
[2.5.3]: https://github.com/composer/composer/compare/2.5.2...2.5.3
|
||||
[2.5.2]: https://github.com/composer/composer/compare/2.5.1...2.5.2
|
||||
[2.5.1]: https://github.com/composer/composer/compare/2.5.0...2.5.1
|
||||
|
@ -51,9 +51,9 @@ class Composer extends PartialComposer
|
||||
*
|
||||
* @see getVersion()
|
||||
*/
|
||||
public const VERSION = '2.5.3';
|
||||
public const VERSION = '2.5.4';
|
||||
public const BRANCH_ALIAS_VERSION = '';
|
||||
public const RELEASE_DATE = '2023-02-10 13:23:52';
|
||||
public const RELEASE_DATE = '2023-02-15 13:10:06';
|
||||
public const SOURCE_VERSION = '';
|
||||
|
||||
/**
|
||||
|
@ -50,7 +50,7 @@ class PluginInstaller extends LibraryInstaller
|
||||
{
|
||||
// fail install process early if it is going to fail due to a plugin not being allowed
|
||||
if (($type === 'install' || $type === 'update') && !$this->getPluginManager()->arePluginsDisabled('local')) {
|
||||
$this->getPluginManager()->isPluginAllowed($package->getName(), false);
|
||||
$this->getPluginManager()->isPluginAllowed($package->getName(), false, true === ($package->getExtra()['plugin-optional'] ?? false));
|
||||
}
|
||||
|
||||
return parent::prepare($type, $package, $prevPackage);
|
||||
|
@ -187,7 +187,7 @@ class PluginManager
|
||||
}
|
||||
}
|
||||
|
||||
if (!$this->isPluginAllowed($package->getName(), $isGlobalPlugin, $package->getExtra()['plugin-optional'] ?? false)) {
|
||||
if (!$this->isPluginAllowed($package->getName(), $isGlobalPlugin, true === ($package->getExtra()['plugin-optional'] ?? false))) {
|
||||
$this->io->writeError('Skipped loading "'.$package->getName() . '" '.($isGlobalPlugin || $this->runningInGlobalDir ? '(installed globally) ' : '').'as it is not in config.allow-plugins', true, IOInterface::DEBUG);
|
||||
|
||||
return;
|
||||
@ -370,7 +370,7 @@ class PluginManager
|
||||
|
||||
if ($sourcePackage === null) {
|
||||
trigger_error('Calling PluginManager::addPlugin without $sourcePackage is deprecated, if you are using this please get in touch with us to explain the use case', E_USER_DEPRECATED);
|
||||
} elseif (!$this->isPluginAllowed($sourcePackage->getName(), $isGlobalPlugin, $sourcePackage->getExtra()['plugin-optional'] ?? false)) {
|
||||
} elseif (!$this->isPluginAllowed($sourcePackage->getName(), $isGlobalPlugin, true === ($sourcePackage->getExtra()['plugin-optional'] ?? false))) {
|
||||
$this->io->writeError('Skipped loading "'.get_class($plugin).' from '.$sourcePackage->getName() . '" '.($isGlobalPlugin || $this->runningInGlobalDir ? '(installed globally) ' : '').' as it is not in config.allow-plugins', true, IOInterface::DEBUG);
|
||||
|
||||
return;
|
||||
|
305
vendor/composer/installed.json
vendored
305
vendor/composer/installed.json
vendored
@ -2,36 +2,36 @@
|
||||
"packages": [
|
||||
{
|
||||
"name": "adldap2/adldap2",
|
||||
"version": "v10.4.3",
|
||||
"version_normalized": "10.4.3.0",
|
||||
"version": "v10.5.0",
|
||||
"version_normalized": "10.5.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Adldap2/Adldap2.git",
|
||||
"reference": "a55e2c5285b9e101ed555894bd7b97b20c0c293e"
|
||||
"reference": "e400eecb7bd7de8ee79aae320b54ad70d37f86b1"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/Adldap2/Adldap2/zipball/a55e2c5285b9e101ed555894bd7b97b20c0c293e",
|
||||
"reference": "a55e2c5285b9e101ed555894bd7b97b20c0c293e",
|
||||
"url": "https://api.github.com/repos/Adldap2/Adldap2/zipball/e400eecb7bd7de8ee79aae320b54ad70d37f86b1",
|
||||
"reference": "e400eecb7bd7de8ee79aae320b54ad70d37f86b1",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-json": "*",
|
||||
"ext-ldap": "*",
|
||||
"illuminate/contracts": "~5.0|~6.0|~7.0|~8.0|~9.0",
|
||||
"illuminate/contracts": "^5.0|^6.0|^7.0|^8.0|^9.0|^10.0",
|
||||
"php": ">=7.0",
|
||||
"psr/log": "~1.0|~2.0|~3.0",
|
||||
"psr/simple-cache": "~1.0|~2.0",
|
||||
"tightenco/collect": "~5.0|~6.0|~7.0|~8.0"
|
||||
"psr/log": "^1.0|^2.0|^3.0",
|
||||
"psr/simple-cache": "^1.0|^2.0|^3.0",
|
||||
"tightenco/collect": "^5.0|^6.0|^7.0|^8.0|^9.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"mockery/mockery": "~1.0",
|
||||
"symfony/phpunit-bridge": "~5.2|~6.0"
|
||||
"mockery/mockery": "^1.0",
|
||||
"symfony/phpunit-bridge": "^5.2|^6.0"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-fileinfo": "fileinfo is required when retrieving user encoded thumbnails"
|
||||
},
|
||||
"time": "2022-10-18T13:33:00+00:00",
|
||||
"time": "2023-02-23T15:00:03+00:00",
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
@ -70,30 +70,30 @@
|
||||
},
|
||||
{
|
||||
"name": "adldap2/adldap2-laravel",
|
||||
"version": "v6.1.6",
|
||||
"version_normalized": "6.1.6.0",
|
||||
"version": "v6.1.7",
|
||||
"version_normalized": "6.1.7.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Adldap2/Adldap2-Laravel.git",
|
||||
"reference": "e67f845db08389acdf7326fd596fda10b3560d25"
|
||||
"reference": "d587c4dea4ffefbbbea7601958c125216ea43452"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/Adldap2/Adldap2-Laravel/zipball/e67f845db08389acdf7326fd596fda10b3560d25",
|
||||
"reference": "e67f845db08389acdf7326fd596fda10b3560d25",
|
||||
"url": "https://api.github.com/repos/Adldap2/Adldap2-Laravel/zipball/d587c4dea4ffefbbbea7601958c125216ea43452",
|
||||
"reference": "d587c4dea4ffefbbbea7601958c125216ea43452",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"adldap2/adldap2": "^10.1",
|
||||
"illuminate/support": "~5.5|~6.0|~7.0|~8.0|~9.0",
|
||||
"illuminate/support": "~5.5|~6.0|~7.0|~8.0|~9.0|^10.0",
|
||||
"php": ">=7.1"
|
||||
},
|
||||
"require-dev": {
|
||||
"mockery/mockery": "~1.0",
|
||||
"orchestra/testbench": "~3.7|~4.0",
|
||||
"phpunit/phpunit": "~7.0|~8.0"
|
||||
"orchestra/testbench": "~3.7|~4.0|^8.0",
|
||||
"phpunit/phpunit": "~7.0|~8.0|^9.5.10"
|
||||
},
|
||||
"time": "2022-02-09T13:04:53+00:00",
|
||||
"time": "2023-02-15T14:51:44+00:00",
|
||||
"type": "project",
|
||||
"extra": {
|
||||
"laravel": {
|
||||
@ -125,7 +125,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/Adldap2/Adldap2-Laravel/issues",
|
||||
"source": "https://github.com/Adldap2/Adldap2-Laravel/tree/v6.1.6"
|
||||
"source": "https://github.com/Adldap2/Adldap2-Laravel/tree/v6.1.7"
|
||||
},
|
||||
"install-path": "../adldap2/adldap2-laravel"
|
||||
},
|
||||
@ -520,17 +520,17 @@
|
||||
},
|
||||
{
|
||||
"name": "composer/composer",
|
||||
"version": "2.5.3",
|
||||
"version_normalized": "2.5.3.0",
|
||||
"version": "2.5.4",
|
||||
"version_normalized": "2.5.4.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/composer/composer.git",
|
||||
"reference": "607a4c04006ce1d2b6fdfd5467bae3d7ad9ce5ab"
|
||||
"reference": "6b67eeea4d72051c369ccdbfb2423a56e2ab51a9"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/composer/composer/zipball/607a4c04006ce1d2b6fdfd5467bae3d7ad9ce5ab",
|
||||
"reference": "607a4c04006ce1d2b6fdfd5467bae3d7ad9ce5ab",
|
||||
"url": "https://api.github.com/repos/composer/composer/zipball/6b67eeea4d72051c369ccdbfb2423a56e2ab51a9",
|
||||
"reference": "6b67eeea4d72051c369ccdbfb2423a56e2ab51a9",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -569,7 +569,7 @@
|
||||
"ext-zip": "Enabling the zip extension allows you to unzip archives",
|
||||
"ext-zlib": "Allow gzip compression of HTTP requests"
|
||||
},
|
||||
"time": "2023-02-10T12:23:52+00:00",
|
||||
"time": "2023-02-15T12:10:06+00:00",
|
||||
"bin": [
|
||||
"bin/composer"
|
||||
],
|
||||
@ -616,7 +616,7 @@
|
||||
"support": {
|
||||
"irc": "ircs://irc.libera.chat:6697/composer",
|
||||
"issues": "https://github.com/composer/composer/issues",
|
||||
"source": "https://github.com/composer/composer/tree/2.5.3"
|
||||
"source": "https://github.com/composer/composer/tree/2.5.4"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -2422,27 +2422,27 @@
|
||||
},
|
||||
{
|
||||
"name": "graham-campbell/result-type",
|
||||
"version": "v1.1.0",
|
||||
"version_normalized": "1.1.0.0",
|
||||
"version": "v1.1.1",
|
||||
"version_normalized": "1.1.1.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/GrahamCampbell/Result-Type.git",
|
||||
"reference": "a878d45c1914464426dc94da61c9e1d36ae262a8"
|
||||
"reference": "672eff8cf1d6fe1ef09ca0f89c4b287d6a3eb831"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/a878d45c1914464426dc94da61c9e1d36ae262a8",
|
||||
"reference": "a878d45c1914464426dc94da61c9e1d36ae262a8",
|
||||
"url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/672eff8cf1d6fe1ef09ca0f89c4b287d6a3eb831",
|
||||
"reference": "672eff8cf1d6fe1ef09ca0f89c4b287d6a3eb831",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.2.5 || ^8.0",
|
||||
"phpoption/phpoption": "^1.9"
|
||||
"phpoption/phpoption": "^1.9.1"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^8.5.28 || ^9.5.21"
|
||||
"phpunit/phpunit": "^8.5.32 || ^9.6.3 || ^10.0.12"
|
||||
},
|
||||
"time": "2022-07-30T15:56:11+00:00",
|
||||
"time": "2023-02-25T20:23:15+00:00",
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
@ -2471,7 +2471,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/GrahamCampbell/Result-Type/issues",
|
||||
"source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.0"
|
||||
"source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -3041,17 +3041,17 @@
|
||||
},
|
||||
{
|
||||
"name": "laravel/framework",
|
||||
"version": "v9.51.0",
|
||||
"version_normalized": "9.51.0.0",
|
||||
"version": "v9.52.4",
|
||||
"version_normalized": "9.52.4.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/framework.git",
|
||||
"reference": "b81123134349a013a738a9f7f715c6ce99d5a414"
|
||||
"reference": "9239128cfb4d22afefb64060dfecf53e82987267"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/framework/zipball/b81123134349a013a738a9f7f715c6ce99d5a414",
|
||||
"reference": "b81123134349a013a738a9f7f715c6ce99d5a414",
|
||||
"url": "https://api.github.com/repos/laravel/framework/zipball/9239128cfb4d22afefb64060dfecf53e82987267",
|
||||
"reference": "9239128cfb4d22afefb64060dfecf53e82987267",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -3194,7 +3194,7 @@
|
||||
"symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^6.0).",
|
||||
"symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0)."
|
||||
},
|
||||
"time": "2023-02-07T15:37:18+00:00",
|
||||
"time": "2023-02-22T14:38:06+00:00",
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
@ -3305,17 +3305,17 @@
|
||||
},
|
||||
{
|
||||
"name": "laravel/tinker",
|
||||
"version": "v2.8.0",
|
||||
"version_normalized": "2.8.0.0",
|
||||
"version": "v2.8.1",
|
||||
"version_normalized": "2.8.1.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/laravel/tinker.git",
|
||||
"reference": "74d0b287cc4ae65d15c368dd697aae71d62a73ad"
|
||||
"reference": "04a2d3bd0d650c0764f70bf49d1ee39393e4eb10"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/laravel/tinker/zipball/74d0b287cc4ae65d15c368dd697aae71d62a73ad",
|
||||
"reference": "74d0b287cc4ae65d15c368dd697aae71d62a73ad",
|
||||
"url": "https://api.github.com/repos/laravel/tinker/zipball/04a2d3bd0d650c0764f70bf49d1ee39393e4eb10",
|
||||
"reference": "04a2d3bd0d650c0764f70bf49d1ee39393e4eb10",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -3333,7 +3333,7 @@
|
||||
"suggest": {
|
||||
"illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0|^10.0)."
|
||||
},
|
||||
"time": "2023-01-10T18:03:30+00:00",
|
||||
"time": "2023-02-15T16:40:09+00:00",
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
@ -3370,7 +3370,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/laravel/tinker/issues",
|
||||
"source": "https://github.com/laravel/tinker/tree/v2.8.0"
|
||||
"source": "https://github.com/laravel/tinker/tree/v2.8.1"
|
||||
},
|
||||
"install-path": "../laravel/tinker"
|
||||
},
|
||||
@ -3520,17 +3520,17 @@
|
||||
},
|
||||
{
|
||||
"name": "league/commonmark",
|
||||
"version": "2.3.8",
|
||||
"version_normalized": "2.3.8.0",
|
||||
"version": "2.3.9",
|
||||
"version_normalized": "2.3.9.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/thephpleague/commonmark.git",
|
||||
"reference": "c493585c130544c4e91d2e0e131e6d35cb0cbc47"
|
||||
"reference": "c1e114f74e518daca2729ea8c4bf1167038fa4b5"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/thephpleague/commonmark/zipball/c493585c130544c4e91d2e0e131e6d35cb0cbc47",
|
||||
"reference": "c493585c130544c4e91d2e0e131e6d35cb0cbc47",
|
||||
"url": "https://api.github.com/repos/thephpleague/commonmark/zipball/c1e114f74e518daca2729ea8c4bf1167038fa4b5",
|
||||
"reference": "c1e114f74e518daca2729ea8c4bf1167038fa4b5",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -3563,7 +3563,7 @@
|
||||
"suggest": {
|
||||
"symfony/yaml": "v2.3+ required if using the Front Matter extension"
|
||||
},
|
||||
"time": "2022-12-10T16:02:17+00:00",
|
||||
"time": "2023-02-15T14:07:24+00:00",
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
@ -3714,17 +3714,17 @@
|
||||
},
|
||||
{
|
||||
"name": "league/flysystem",
|
||||
"version": "3.12.2",
|
||||
"version_normalized": "3.12.2.0",
|
||||
"version": "3.12.3",
|
||||
"version_normalized": "3.12.3.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/thephpleague/flysystem.git",
|
||||
"reference": "f6377c709d2275ed6feaf63e44be7a7162b0e77f"
|
||||
"reference": "81e87e74dd5213795c7846d65089712d2dda90ce"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/f6377c709d2275ed6feaf63e44be7a7162b0e77f",
|
||||
"reference": "f6377c709d2275ed6feaf63e44be7a7162b0e77f",
|
||||
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/81e87e74dd5213795c7846d65089712d2dda90ce",
|
||||
"reference": "81e87e74dd5213795c7846d65089712d2dda90ce",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -3754,7 +3754,7 @@
|
||||
"phpunit/phpunit": "^9.5.11",
|
||||
"sabre/dav": "^4.3.1"
|
||||
},
|
||||
"time": "2023-01-19T12:02:19+00:00",
|
||||
"time": "2023-02-18T15:32:41+00:00",
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
@ -3788,7 +3788,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/thephpleague/flysystem/issues",
|
||||
"source": "https://github.com/thephpleague/flysystem/tree/3.12.2"
|
||||
"source": "https://github.com/thephpleague/flysystem/tree/3.12.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -5157,27 +5157,27 @@
|
||||
},
|
||||
{
|
||||
"name": "phpoption/phpoption",
|
||||
"version": "1.9.0",
|
||||
"version_normalized": "1.9.0.0",
|
||||
"version": "1.9.1",
|
||||
"version_normalized": "1.9.1.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/schmittjoh/php-option.git",
|
||||
"reference": "dc5ff11e274a90cc1c743f66c9ad700ce50db9ab"
|
||||
"reference": "dd3a383e599f49777d8b628dadbb90cae435b87e"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/schmittjoh/php-option/zipball/dc5ff11e274a90cc1c743f66c9ad700ce50db9ab",
|
||||
"reference": "dc5ff11e274a90cc1c743f66c9ad700ce50db9ab",
|
||||
"url": "https://api.github.com/repos/schmittjoh/php-option/zipball/dd3a383e599f49777d8b628dadbb90cae435b87e",
|
||||
"reference": "dd3a383e599f49777d8b628dadbb90cae435b87e",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.2.5 || ^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"bamarni/composer-bin-plugin": "^1.8",
|
||||
"phpunit/phpunit": "^8.5.28 || ^9.5.21"
|
||||
"bamarni/composer-bin-plugin": "^1.8.2",
|
||||
"phpunit/phpunit": "^8.5.32 || ^9.6.3 || ^10.0.12"
|
||||
},
|
||||
"time": "2022-07-30T15:51:26+00:00",
|
||||
"time": "2023-02-25T19:38:58+00:00",
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"bamarni-bin": {
|
||||
@ -5219,7 +5219,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/schmittjoh/php-option/issues",
|
||||
"source": "https://github.com/schmittjoh/php-option/tree/1.9.0"
|
||||
"source": "https://github.com/schmittjoh/php-option/tree/1.9.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -5302,24 +5302,24 @@
|
||||
},
|
||||
{
|
||||
"name": "phpunit/php-code-coverage",
|
||||
"version": "9.2.24",
|
||||
"version_normalized": "9.2.24.0",
|
||||
"version": "9.2.25",
|
||||
"version_normalized": "9.2.25.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
|
||||
"reference": "2cf940ebc6355a9d430462811b5aaa308b174bed"
|
||||
"reference": "0e2b40518197a8c0d4b08bc34dfff1c99c508954"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2cf940ebc6355a9d430462811b5aaa308b174bed",
|
||||
"reference": "2cf940ebc6355a9d430462811b5aaa308b174bed",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/0e2b40518197a8c0d4b08bc34dfff1c99c508954",
|
||||
"reference": "0e2b40518197a8c0d4b08bc34dfff1c99c508954",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-dom": "*",
|
||||
"ext-libxml": "*",
|
||||
"ext-xmlwriter": "*",
|
||||
"nikic/php-parser": "^4.14",
|
||||
"nikic/php-parser": "^4.15",
|
||||
"php": ">=7.3",
|
||||
"phpunit/php-file-iterator": "^3.0.3",
|
||||
"phpunit/php-text-template": "^2.0.2",
|
||||
@ -5337,7 +5337,7 @@
|
||||
"ext-pcov": "*",
|
||||
"ext-xdebug": "*"
|
||||
},
|
||||
"time": "2023-01-26T08:26:55+00:00",
|
||||
"time": "2023-02-25T05:32:00+00:00",
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
@ -5370,7 +5370,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
|
||||
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.24"
|
||||
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.25"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -5635,17 +5635,17 @@
|
||||
},
|
||||
{
|
||||
"name": "phpunit/phpunit",
|
||||
"version": "9.6.3",
|
||||
"version_normalized": "9.6.3.0",
|
||||
"version": "9.6.4",
|
||||
"version_normalized": "9.6.4.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/phpunit.git",
|
||||
"reference": "e7b1615e3e887d6c719121c6d4a44b0ab9645555"
|
||||
"reference": "9125ee085b6d95e78277dc07aa1f46f9e0607b8d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/e7b1615e3e887d6c719121c6d4a44b0ab9645555",
|
||||
"reference": "e7b1615e3e887d6c719121c6d4a44b0ab9645555",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/9125ee085b6d95e78277dc07aa1f46f9e0607b8d",
|
||||
"reference": "9125ee085b6d95e78277dc07aa1f46f9e0607b8d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -5681,7 +5681,7 @@
|
||||
"ext-soap": "*",
|
||||
"ext-xdebug": "*"
|
||||
},
|
||||
"time": "2023-02-04T13:37:15+00:00",
|
||||
"time": "2023-02-27T13:06:37+00:00",
|
||||
"bin": [
|
||||
"phpunit"
|
||||
],
|
||||
@ -5720,7 +5720,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
|
||||
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.3"
|
||||
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.4"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -6174,27 +6174,27 @@
|
||||
},
|
||||
{
|
||||
"name": "psr/simple-cache",
|
||||
"version": "2.0.0",
|
||||
"version_normalized": "2.0.0.0",
|
||||
"version": "3.0.0",
|
||||
"version_normalized": "3.0.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/php-fig/simple-cache.git",
|
||||
"reference": "8707bf3cea6f710bf6ef05491234e3ab06f6432a"
|
||||
"reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/php-fig/simple-cache/zipball/8707bf3cea6f710bf6ef05491234e3ab06f6432a",
|
||||
"reference": "8707bf3cea6f710bf6ef05491234e3ab06f6432a",
|
||||
"url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865",
|
||||
"reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=8.0.0"
|
||||
},
|
||||
"time": "2021-10-29T13:22:09+00:00",
|
||||
"time": "2021-10-29T13:26:27+00:00",
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "2.0.x-dev"
|
||||
"dev-master": "3.0.x-dev"
|
||||
}
|
||||
},
|
||||
"installation-source": "dist",
|
||||
@ -6222,7 +6222,7 @@
|
||||
"simple-cache"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/php-fig/simple-cache/tree/2.0.0"
|
||||
"source": "https://github.com/php-fig/simple-cache/tree/3.0.0"
|
||||
},
|
||||
"install-path": "../psr/simple-cache"
|
||||
},
|
||||
@ -7815,17 +7815,17 @@
|
||||
},
|
||||
{
|
||||
"name": "spatie/backtrace",
|
||||
"version": "1.2.1",
|
||||
"version_normalized": "1.2.1.0",
|
||||
"version": "1.2.2",
|
||||
"version_normalized": "1.2.2.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/spatie/backtrace.git",
|
||||
"reference": "4ee7d41aa5268107906ea8a4d9ceccde136dbd5b"
|
||||
"reference": "7b34fee6c1ad45f8ee0498d17cd8ea9a076402c1"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/spatie/backtrace/zipball/4ee7d41aa5268107906ea8a4d9ceccde136dbd5b",
|
||||
"reference": "4ee7d41aa5268107906ea8a4d9ceccde136dbd5b",
|
||||
"url": "https://api.github.com/repos/spatie/backtrace/zipball/7b34fee6c1ad45f8ee0498d17cd8ea9a076402c1",
|
||||
"reference": "7b34fee6c1ad45f8ee0498d17cd8ea9a076402c1",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -7836,7 +7836,7 @@
|
||||
"phpunit/phpunit": "^9.3",
|
||||
"symfony/var-dumper": "^5.1"
|
||||
},
|
||||
"time": "2021-11-09T10:57:15+00:00",
|
||||
"time": "2023-02-21T08:29:12+00:00",
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
@ -7863,8 +7863,7 @@
|
||||
"spatie"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/spatie/backtrace/issues",
|
||||
"source": "https://github.com/spatie/backtrace/tree/1.2.1"
|
||||
"source": "https://github.com/spatie/backtrace/tree/1.2.2"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@ -8322,17 +8321,17 @@
|
||||
},
|
||||
{
|
||||
"name": "spiral/core",
|
||||
"version": "3.5.0",
|
||||
"version_normalized": "3.5.0.0",
|
||||
"version": "3.6.1",
|
||||
"version_normalized": "3.6.1.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/spiral/core.git",
|
||||
"reference": "4745ec855e74b2d52d49232349d4b11dc19fa7e4"
|
||||
"reference": "dffbc4e7b326004376545aac39161dcfddb57281"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/spiral/core/zipball/4745ec855e74b2d52d49232349d4b11dc19fa7e4",
|
||||
"reference": "4745ec855e74b2d52d49232349d4b11dc19fa7e4",
|
||||
"url": "https://api.github.com/repos/spiral/core/zipball/dffbc4e7b326004376545aac39161dcfddb57281",
|
||||
"reference": "dffbc4e7b326004376545aac39161dcfddb57281",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -8342,13 +8341,13 @@
|
||||
"require-dev": {
|
||||
"mockery/mockery": "^1.5",
|
||||
"phpunit/phpunit": "^9.5.20",
|
||||
"vimeo/psalm": "^4.27"
|
||||
"vimeo/psalm": "^5.6"
|
||||
},
|
||||
"time": "2022-12-23T13:32:05+00:00",
|
||||
"time": "2023-02-19T07:31:17+00:00",
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "3.5.x-dev"
|
||||
"dev-master": "3.7.x-dev"
|
||||
}
|
||||
},
|
||||
"installation-source": "dist",
|
||||
@ -8454,34 +8453,34 @@
|
||||
},
|
||||
{
|
||||
"name": "spiral/logger",
|
||||
"version": "3.5.0",
|
||||
"version_normalized": "3.5.0.0",
|
||||
"version": "3.6.1",
|
||||
"version_normalized": "3.6.1.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/spiral/logger.git",
|
||||
"reference": "1f00e1b57a31af5339a351ecd420df3f76667ecc"
|
||||
"reference": "9fca2309638c9eb90888b1f7ddf2298d90769dd1"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/spiral/logger/zipball/1f00e1b57a31af5339a351ecd420df3f76667ecc",
|
||||
"reference": "1f00e1b57a31af5339a351ecd420df3f76667ecc",
|
||||
"url": "https://api.github.com/repos/spiral/logger/zipball/9fca2309638c9eb90888b1f7ddf2298d90769dd1",
|
||||
"reference": "9fca2309638c9eb90888b1f7ddf2298d90769dd1",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=8.1",
|
||||
"psr/log": "1 - 3",
|
||||
"spiral/core": "^3.5"
|
||||
"spiral/core": "^3.6.1"
|
||||
},
|
||||
"require-dev": {
|
||||
"mockery/mockery": "^1.5",
|
||||
"phpunit/phpunit": "^9.5.20",
|
||||
"vimeo/psalm": "^4.27"
|
||||
},
|
||||
"time": "2022-12-23T13:35:08+00:00",
|
||||
"time": "2023-02-20T15:47:39+00:00",
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "3.5.x-dev"
|
||||
"dev-master": "3.7.x-dev"
|
||||
}
|
||||
},
|
||||
"installation-source": "dist",
|
||||
@ -8522,17 +8521,17 @@
|
||||
},
|
||||
{
|
||||
"name": "spiral/roadrunner",
|
||||
"version": "v2.12.2",
|
||||
"version_normalized": "2.12.2.0",
|
||||
"version": "v2.12.3",
|
||||
"version_normalized": "2.12.3.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/roadrunner-server/roadrunner.git",
|
||||
"reference": "c794a7ab2ae828af8068776b9dfcdcce5299d855"
|
||||
"reference": "18f526ad9eef19b57bdf1ad4b0252683f514c718"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/roadrunner-server/roadrunner/zipball/c794a7ab2ae828af8068776b9dfcdcce5299d855",
|
||||
"reference": "c794a7ab2ae828af8068776b9dfcdcce5299d855",
|
||||
"url": "https://api.github.com/repos/roadrunner-server/roadrunner/zipball/18f526ad9eef19b57bdf1ad4b0252683f514c718",
|
||||
"reference": "18f526ad9eef19b57bdf1ad4b0252683f514c718",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@ -8540,7 +8539,7 @@
|
||||
"spiral/roadrunner-http": "^2.0",
|
||||
"spiral/roadrunner-worker": "^2.0"
|
||||
},
|
||||
"time": "2023-01-12T11:55:21+00:00",
|
||||
"time": "2023-02-16T13:00:26+00:00",
|
||||
"type": "metapackage",
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
@ -8551,16 +8550,30 @@
|
||||
"name": "Anton Titov / Wolfy-J",
|
||||
"email": "wolfy.jd@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Valery Piashchynski",
|
||||
"homepage": "https://github.com/rustatian"
|
||||
},
|
||||
{
|
||||
"name": "RoadRunner Community",
|
||||
"homepage": "https://github.com/roadrunner-server/roadrunner/graphs/contributors"
|
||||
}
|
||||
],
|
||||
"description": "RoadRunner: High-performance PHP application server and process manager written in Go and powered with plugins",
|
||||
"homepage": "https://roadrunner.dev/",
|
||||
"support": {
|
||||
"chat": "https://discord.gg/V6EK4he",
|
||||
"docs": "https://roadrunner.dev/docs",
|
||||
"forum": "https://forum.roadrunner.dev/",
|
||||
"issues": "https://github.com/roadrunner-server/roadrunner/issues",
|
||||
"source": "https://github.com/roadrunner-server/roadrunner/tree/v2.12.2"
|
||||
"source": "https://github.com/roadrunner-server/roadrunner/tree/v2.12.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/sponsors/roadrunner-server",
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"install-path": null
|
||||
},
|
||||
{
|
||||
@ -8766,36 +8779,38 @@
|
||||
},
|
||||
{
|
||||
"name": "spiral/tokenizer",
|
||||
"version": "3.5.0",
|
||||
"version_normalized": "3.5.0.0",
|
||||
"version": "3.6.1",
|
||||
"version_normalized": "3.6.1.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/spiral/tokenizer.git",
|
||||
"reference": "a11f4f1c5f0a5daad6d02ca4effe42ad45b68ff4"
|
||||
"reference": "1920f0a9d0d78de3dee8c8b9ef6a68b0724c830e"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/spiral/tokenizer/zipball/a11f4f1c5f0a5daad6d02ca4effe42ad45b68ff4",
|
||||
"reference": "a11f4f1c5f0a5daad6d02ca4effe42ad45b68ff4",
|
||||
"url": "https://api.github.com/repos/spiral/tokenizer/zipball/1920f0a9d0d78de3dee8c8b9ef6a68b0724c830e",
|
||||
"reference": "1920f0a9d0d78de3dee8c8b9ef6a68b0724c830e",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-tokenizer": "*",
|
||||
"php": ">=8.1",
|
||||
"spiral/core": "^3.5",
|
||||
"spiral/logger": "^3.5",
|
||||
"spiral/core": "^3.6.1",
|
||||
"spiral/logger": "^3.6.1",
|
||||
"symfony/finder": "^5.3.7|^6.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^9.5.20",
|
||||
"spiral/boot": "^3.5",
|
||||
"spiral/attributes": "^2.8|^3.0",
|
||||
"spiral/boot": "^3.6.1",
|
||||
"spiral/files": "^3.6.1",
|
||||
"vimeo/psalm": "^4.27"
|
||||
},
|
||||
"time": "2022-12-23T13:37:56+00:00",
|
||||
"time": "2023-02-20T15:49:04+00:00",
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "3.5.x-dev"
|
||||
"dev-master": "3.7.x-dev"
|
||||
}
|
||||
},
|
||||
"installation-source": "dist",
|
||||
@ -11789,21 +11804,21 @@
|
||||
},
|
||||
{
|
||||
"name": "tightenco/collect",
|
||||
"version": "v8.83.27",
|
||||
"version_normalized": "8.83.27.0",
|
||||
"version": "v9.52.0",
|
||||
"version_normalized": "9.52.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/tighten/collect.git",
|
||||
"reference": "07eed6cf7441c7a69c379fdcb118eec1a1fdd0e6"
|
||||
"reference": "d4772fe52bbc823d1d2e3d289d3f1ca8c0f3323b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/tighten/collect/zipball/07eed6cf7441c7a69c379fdcb118eec1a1fdd0e6",
|
||||
"reference": "07eed6cf7441c7a69c379fdcb118eec1a1fdd0e6",
|
||||
"url": "https://api.github.com/repos/tighten/collect/zipball/d4772fe52bbc823d1d2e3d289d3f1ca8c0f3323b",
|
||||
"reference": "d4772fe52bbc823d1d2e3d289d3f1ca8c0f3323b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.3|^8.0",
|
||||
"php": "^8.0",
|
||||
"symfony/var-dumper": "^3.4 || ^4.0 || ^5.0 || ^6.0"
|
||||
},
|
||||
"require-dev": {
|
||||
@ -11811,7 +11826,7 @@
|
||||
"nesbot/carbon": "^2.23.0",
|
||||
"phpunit/phpunit": "^8.3"
|
||||
},
|
||||
"time": "2023-01-13T18:05:42+00:00",
|
||||
"time": "2023-02-17T21:37:36+00:00",
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
@ -11840,7 +11855,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/tighten/collect/issues",
|
||||
"source": "https://github.com/tighten/collect/tree/v8.83.27"
|
||||
"source": "https://github.com/tighten/collect/tree/v9.52.0"
|
||||
},
|
||||
"install-path": "../tightenco/collect"
|
||||
},
|
||||
|
180
vendor/composer/installed.php
vendored
180
vendor/composer/installed.php
vendored
@ -3,7 +3,7 @@
|
||||
'name' => 'celaraze/chemex',
|
||||
'pretty_version' => 'dev-main',
|
||||
'version' => 'dev-main',
|
||||
'reference' => '6c06b8eb13bc10a4afcb415a0159a4f55a98d32c',
|
||||
'reference' => '9e81dd15a9d64f3e43112b1c1e1a25443f9a13bc',
|
||||
'type' => 'project',
|
||||
'install_path' => __DIR__ . '/../../',
|
||||
'aliases' => array(),
|
||||
@ -11,18 +11,18 @@
|
||||
),
|
||||
'versions' => array(
|
||||
'adldap2/adldap2' => array(
|
||||
'pretty_version' => 'v10.4.3',
|
||||
'version' => '10.4.3.0',
|
||||
'reference' => 'a55e2c5285b9e101ed555894bd7b97b20c0c293e',
|
||||
'pretty_version' => 'v10.5.0',
|
||||
'version' => '10.5.0.0',
|
||||
'reference' => 'e400eecb7bd7de8ee79aae320b54ad70d37f86b1',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../adldap2/adldap2',
|
||||
'aliases' => array(),
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'adldap2/adldap2-laravel' => array(
|
||||
'pretty_version' => 'v6.1.6',
|
||||
'version' => '6.1.6.0',
|
||||
'reference' => 'e67f845db08389acdf7326fd596fda10b3560d25',
|
||||
'pretty_version' => 'v6.1.7',
|
||||
'version' => '6.1.7.0',
|
||||
'reference' => 'd587c4dea4ffefbbbea7601958c125216ea43452',
|
||||
'type' => 'project',
|
||||
'install_path' => __DIR__ . '/../adldap2/adldap2-laravel',
|
||||
'aliases' => array(),
|
||||
@ -58,7 +58,7 @@
|
||||
'celaraze/chemex' => array(
|
||||
'pretty_version' => 'dev-main',
|
||||
'version' => 'dev-main',
|
||||
'reference' => '6c06b8eb13bc10a4afcb415a0159a4f55a98d32c',
|
||||
'reference' => '9e81dd15a9d64f3e43112b1c1e1a25443f9a13bc',
|
||||
'type' => 'project',
|
||||
'install_path' => __DIR__ . '/../../',
|
||||
'aliases' => array(),
|
||||
@ -94,9 +94,9 @@
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'composer/composer' => array(
|
||||
'pretty_version' => '2.5.3',
|
||||
'version' => '2.5.3.0',
|
||||
'reference' => '607a4c04006ce1d2b6fdfd5467bae3d7ad9ce5ab',
|
||||
'pretty_version' => '2.5.4',
|
||||
'version' => '2.5.4.0',
|
||||
'reference' => '6b67eeea4d72051c369ccdbfb2423a56e2ab51a9',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/./composer',
|
||||
'aliases' => array(),
|
||||
@ -322,9 +322,9 @@
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'graham-campbell/result-type' => array(
|
||||
'pretty_version' => 'v1.1.0',
|
||||
'version' => '1.1.0.0',
|
||||
'reference' => 'a878d45c1914464426dc94da61c9e1d36ae262a8',
|
||||
'pretty_version' => 'v1.1.1',
|
||||
'version' => '1.1.1.0',
|
||||
'reference' => '672eff8cf1d6fe1ef09ca0f89c4b287d6a3eb831',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../graham-campbell/result-type',
|
||||
'aliases' => array(),
|
||||
@ -378,193 +378,193 @@
|
||||
'illuminate/auth' => array(
|
||||
'dev_requirement' => false,
|
||||
'replaced' => array(
|
||||
0 => 'v9.51.0',
|
||||
0 => 'v9.52.4',
|
||||
),
|
||||
),
|
||||
'illuminate/broadcasting' => array(
|
||||
'dev_requirement' => false,
|
||||
'replaced' => array(
|
||||
0 => 'v9.51.0',
|
||||
0 => 'v9.52.4',
|
||||
),
|
||||
),
|
||||
'illuminate/bus' => array(
|
||||
'dev_requirement' => false,
|
||||
'replaced' => array(
|
||||
0 => 'v9.51.0',
|
||||
0 => 'v9.52.4',
|
||||
),
|
||||
),
|
||||
'illuminate/cache' => array(
|
||||
'dev_requirement' => false,
|
||||
'replaced' => array(
|
||||
0 => 'v9.51.0',
|
||||
0 => 'v9.52.4',
|
||||
),
|
||||
),
|
||||
'illuminate/collections' => array(
|
||||
'dev_requirement' => false,
|
||||
'replaced' => array(
|
||||
0 => 'v9.51.0',
|
||||
0 => 'v9.52.4',
|
||||
),
|
||||
),
|
||||
'illuminate/conditionable' => array(
|
||||
'dev_requirement' => false,
|
||||
'replaced' => array(
|
||||
0 => 'v9.51.0',
|
||||
0 => 'v9.52.4',
|
||||
),
|
||||
),
|
||||
'illuminate/config' => array(
|
||||
'dev_requirement' => false,
|
||||
'replaced' => array(
|
||||
0 => 'v9.51.0',
|
||||
0 => 'v9.52.4',
|
||||
),
|
||||
),
|
||||
'illuminate/console' => array(
|
||||
'dev_requirement' => false,
|
||||
'replaced' => array(
|
||||
0 => 'v9.51.0',
|
||||
0 => 'v9.52.4',
|
||||
),
|
||||
),
|
||||
'illuminate/container' => array(
|
||||
'dev_requirement' => false,
|
||||
'replaced' => array(
|
||||
0 => 'v9.51.0',
|
||||
0 => 'v9.52.4',
|
||||
),
|
||||
),
|
||||
'illuminate/contracts' => array(
|
||||
'dev_requirement' => false,
|
||||
'replaced' => array(
|
||||
0 => 'v9.51.0',
|
||||
0 => 'v9.52.4',
|
||||
),
|
||||
),
|
||||
'illuminate/cookie' => array(
|
||||
'dev_requirement' => false,
|
||||
'replaced' => array(
|
||||
0 => 'v9.51.0',
|
||||
0 => 'v9.52.4',
|
||||
),
|
||||
),
|
||||
'illuminate/database' => array(
|
||||
'dev_requirement' => false,
|
||||
'replaced' => array(
|
||||
0 => 'v9.51.0',
|
||||
0 => 'v9.52.4',
|
||||
),
|
||||
),
|
||||
'illuminate/encryption' => array(
|
||||
'dev_requirement' => false,
|
||||
'replaced' => array(
|
||||
0 => 'v9.51.0',
|
||||
0 => 'v9.52.4',
|
||||
),
|
||||
),
|
||||
'illuminate/events' => array(
|
||||
'dev_requirement' => false,
|
||||
'replaced' => array(
|
||||
0 => 'v9.51.0',
|
||||
0 => 'v9.52.4',
|
||||
),
|
||||
),
|
||||
'illuminate/filesystem' => array(
|
||||
'dev_requirement' => false,
|
||||
'replaced' => array(
|
||||
0 => 'v9.51.0',
|
||||
0 => 'v9.52.4',
|
||||
),
|
||||
),
|
||||
'illuminate/hashing' => array(
|
||||
'dev_requirement' => false,
|
||||
'replaced' => array(
|
||||
0 => 'v9.51.0',
|
||||
0 => 'v9.52.4',
|
||||
),
|
||||
),
|
||||
'illuminate/http' => array(
|
||||
'dev_requirement' => false,
|
||||
'replaced' => array(
|
||||
0 => 'v9.51.0',
|
||||
0 => 'v9.52.4',
|
||||
),
|
||||
),
|
||||
'illuminate/log' => array(
|
||||
'dev_requirement' => false,
|
||||
'replaced' => array(
|
||||
0 => 'v9.51.0',
|
||||
0 => 'v9.52.4',
|
||||
),
|
||||
),
|
||||
'illuminate/macroable' => array(
|
||||
'dev_requirement' => false,
|
||||
'replaced' => array(
|
||||
0 => 'v9.51.0',
|
||||
0 => 'v9.52.4',
|
||||
),
|
||||
),
|
||||
'illuminate/mail' => array(
|
||||
'dev_requirement' => false,
|
||||
'replaced' => array(
|
||||
0 => 'v9.51.0',
|
||||
0 => 'v9.52.4',
|
||||
),
|
||||
),
|
||||
'illuminate/notifications' => array(
|
||||
'dev_requirement' => false,
|
||||
'replaced' => array(
|
||||
0 => 'v9.51.0',
|
||||
0 => 'v9.52.4',
|
||||
),
|
||||
),
|
||||
'illuminate/pagination' => array(
|
||||
'dev_requirement' => false,
|
||||
'replaced' => array(
|
||||
0 => 'v9.51.0',
|
||||
0 => 'v9.52.4',
|
||||
),
|
||||
),
|
||||
'illuminate/pipeline' => array(
|
||||
'dev_requirement' => false,
|
||||
'replaced' => array(
|
||||
0 => 'v9.51.0',
|
||||
0 => 'v9.52.4',
|
||||
),
|
||||
),
|
||||
'illuminate/queue' => array(
|
||||
'dev_requirement' => false,
|
||||
'replaced' => array(
|
||||
0 => 'v9.51.0',
|
||||
0 => 'v9.52.4',
|
||||
),
|
||||
),
|
||||
'illuminate/redis' => array(
|
||||
'dev_requirement' => false,
|
||||
'replaced' => array(
|
||||
0 => 'v9.51.0',
|
||||
0 => 'v9.52.4',
|
||||
),
|
||||
),
|
||||
'illuminate/routing' => array(
|
||||
'dev_requirement' => false,
|
||||
'replaced' => array(
|
||||
0 => 'v9.51.0',
|
||||
0 => 'v9.52.4',
|
||||
),
|
||||
),
|
||||
'illuminate/session' => array(
|
||||
'dev_requirement' => false,
|
||||
'replaced' => array(
|
||||
0 => 'v9.51.0',
|
||||
0 => 'v9.52.4',
|
||||
),
|
||||
),
|
||||
'illuminate/support' => array(
|
||||
'dev_requirement' => false,
|
||||
'replaced' => array(
|
||||
0 => 'v9.51.0',
|
||||
0 => 'v9.52.4',
|
||||
),
|
||||
),
|
||||
'illuminate/testing' => array(
|
||||
'dev_requirement' => false,
|
||||
'replaced' => array(
|
||||
0 => 'v9.51.0',
|
||||
0 => 'v9.52.4',
|
||||
),
|
||||
),
|
||||
'illuminate/translation' => array(
|
||||
'dev_requirement' => false,
|
||||
'replaced' => array(
|
||||
0 => 'v9.51.0',
|
||||
0 => 'v9.52.4',
|
||||
),
|
||||
),
|
||||
'illuminate/validation' => array(
|
||||
'dev_requirement' => false,
|
||||
'replaced' => array(
|
||||
0 => 'v9.51.0',
|
||||
0 => 'v9.52.4',
|
||||
),
|
||||
),
|
||||
'illuminate/view' => array(
|
||||
'dev_requirement' => false,
|
||||
'replaced' => array(
|
||||
0 => 'v9.51.0',
|
||||
0 => 'v9.52.4',
|
||||
),
|
||||
),
|
||||
'justinrainbow/json-schema' => array(
|
||||
@ -583,9 +583,9 @@
|
||||
),
|
||||
),
|
||||
'laravel/framework' => array(
|
||||
'pretty_version' => 'v9.51.0',
|
||||
'version' => '9.51.0.0',
|
||||
'reference' => 'b81123134349a013a738a9f7f715c6ce99d5a414',
|
||||
'pretty_version' => 'v9.52.4',
|
||||
'version' => '9.52.4.0',
|
||||
'reference' => '9239128cfb4d22afefb64060dfecf53e82987267',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../laravel/framework',
|
||||
'aliases' => array(),
|
||||
@ -601,9 +601,9 @@
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'laravel/tinker' => array(
|
||||
'pretty_version' => 'v2.8.0',
|
||||
'version' => '2.8.0.0',
|
||||
'reference' => '74d0b287cc4ae65d15c368dd697aae71d62a73ad',
|
||||
'pretty_version' => 'v2.8.1',
|
||||
'version' => '2.8.1.0',
|
||||
'reference' => '04a2d3bd0d650c0764f70bf49d1ee39393e4eb10',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../laravel/tinker',
|
||||
'aliases' => array(),
|
||||
@ -628,9 +628,9 @@
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'league/commonmark' => array(
|
||||
'pretty_version' => '2.3.8',
|
||||
'version' => '2.3.8.0',
|
||||
'reference' => 'c493585c130544c4e91d2e0e131e6d35cb0cbc47',
|
||||
'pretty_version' => '2.3.9',
|
||||
'version' => '2.3.9.0',
|
||||
'reference' => 'c1e114f74e518daca2729ea8c4bf1167038fa4b5',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../league/commonmark',
|
||||
'aliases' => array(),
|
||||
@ -646,9 +646,9 @@
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'league/flysystem' => array(
|
||||
'pretty_version' => '3.12.2',
|
||||
'version' => '3.12.2.0',
|
||||
'reference' => 'f6377c709d2275ed6feaf63e44be7a7162b0e77f',
|
||||
'pretty_version' => '3.12.3',
|
||||
'version' => '3.12.3.0',
|
||||
'reference' => '81e87e74dd5213795c7846d65089712d2dda90ce',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../league/flysystem',
|
||||
'aliases' => array(),
|
||||
@ -835,9 +835,9 @@
|
||||
),
|
||||
),
|
||||
'phpoption/phpoption' => array(
|
||||
'pretty_version' => '1.9.0',
|
||||
'version' => '1.9.0.0',
|
||||
'reference' => 'dc5ff11e274a90cc1c743f66c9ad700ce50db9ab',
|
||||
'pretty_version' => '1.9.1',
|
||||
'version' => '1.9.1.0',
|
||||
'reference' => 'dd3a383e599f49777d8b628dadbb90cae435b87e',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../phpoption/phpoption',
|
||||
'aliases' => array(),
|
||||
@ -853,9 +853,9 @@
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'phpunit/php-code-coverage' => array(
|
||||
'pretty_version' => '9.2.24',
|
||||
'version' => '9.2.24.0',
|
||||
'reference' => '2cf940ebc6355a9d430462811b5aaa308b174bed',
|
||||
'pretty_version' => '9.2.25',
|
||||
'version' => '9.2.25.0',
|
||||
'reference' => '0e2b40518197a8c0d4b08bc34dfff1c99c508954',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../phpunit/php-code-coverage',
|
||||
'aliases' => array(),
|
||||
@ -898,9 +898,9 @@
|
||||
'dev_requirement' => true,
|
||||
),
|
||||
'phpunit/phpunit' => array(
|
||||
'pretty_version' => '9.6.3',
|
||||
'version' => '9.6.3.0',
|
||||
'reference' => 'e7b1615e3e887d6c719121c6d4a44b0ab9645555',
|
||||
'pretty_version' => '9.6.4',
|
||||
'version' => '9.6.4.0',
|
||||
'reference' => '9125ee085b6d95e78277dc07aa1f46f9e0607b8d',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../phpunit/phpunit',
|
||||
'aliases' => array(),
|
||||
@ -1017,14 +1017,14 @@
|
||||
'psr/log-implementation' => array(
|
||||
'dev_requirement' => false,
|
||||
'provided' => array(
|
||||
0 => '1.0|2.0|3.0',
|
||||
1 => '1.0.0 || 2.0.0 || 3.0.0',
|
||||
0 => '1.0.0 || 2.0.0 || 3.0.0',
|
||||
1 => '1.0|2.0|3.0',
|
||||
),
|
||||
),
|
||||
'psr/simple-cache' => array(
|
||||
'pretty_version' => '2.0.0',
|
||||
'version' => '2.0.0.0',
|
||||
'reference' => '8707bf3cea6f710bf6ef05491234e3ab06f6432a',
|
||||
'pretty_version' => '3.0.0',
|
||||
'version' => '3.0.0.0',
|
||||
'reference' => '764e0b3939f5ca87cb904f570ef9be2d78a07865',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../psr/simple-cache',
|
||||
'aliases' => array(),
|
||||
@ -1259,9 +1259,9 @@
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'spatie/backtrace' => array(
|
||||
'pretty_version' => '1.2.1',
|
||||
'version' => '1.2.1.0',
|
||||
'reference' => '4ee7d41aa5268107906ea8a4d9ceccde136dbd5b',
|
||||
'pretty_version' => '1.2.2',
|
||||
'version' => '1.2.2.0',
|
||||
'reference' => '7b34fee6c1ad45f8ee0498d17cd8ea9a076402c1',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../spatie/backtrace',
|
||||
'aliases' => array(),
|
||||
@ -1322,9 +1322,9 @@
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'spiral/core' => array(
|
||||
'pretty_version' => '3.5.0',
|
||||
'version' => '3.5.0.0',
|
||||
'reference' => '4745ec855e74b2d52d49232349d4b11dc19fa7e4',
|
||||
'pretty_version' => '3.6.1',
|
||||
'version' => '3.6.1.0',
|
||||
'reference' => 'dffbc4e7b326004376545aac39161dcfddb57281',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../spiral/core',
|
||||
'aliases' => array(),
|
||||
@ -1340,18 +1340,18 @@
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'spiral/logger' => array(
|
||||
'pretty_version' => '3.5.0',
|
||||
'version' => '3.5.0.0',
|
||||
'reference' => '1f00e1b57a31af5339a351ecd420df3f76667ecc',
|
||||
'pretty_version' => '3.6.1',
|
||||
'version' => '3.6.1.0',
|
||||
'reference' => '9fca2309638c9eb90888b1f7ddf2298d90769dd1',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../spiral/logger',
|
||||
'aliases' => array(),
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'spiral/roadrunner' => array(
|
||||
'pretty_version' => 'v2.12.2',
|
||||
'version' => '2.12.2.0',
|
||||
'reference' => 'c794a7ab2ae828af8068776b9dfcdcce5299d855',
|
||||
'pretty_version' => 'v2.12.3',
|
||||
'version' => '2.12.3.0',
|
||||
'reference' => '18f526ad9eef19b57bdf1ad4b0252683f514c718',
|
||||
'type' => 'metapackage',
|
||||
'install_path' => NULL,
|
||||
'aliases' => array(),
|
||||
@ -1385,9 +1385,9 @@
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'spiral/tokenizer' => array(
|
||||
'pretty_version' => '3.5.0',
|
||||
'version' => '3.5.0.0',
|
||||
'reference' => 'a11f4f1c5f0a5daad6d02ca4effe42ad45b68ff4',
|
||||
'pretty_version' => '3.6.1',
|
||||
'version' => '3.6.1.0',
|
||||
'reference' => '1920f0a9d0d78de3dee8c8b9ef6a68b0724c830e',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../spiral/tokenizer',
|
||||
'aliases' => array(),
|
||||
@ -1736,9 +1736,9 @@
|
||||
'dev_requirement' => true,
|
||||
),
|
||||
'tightenco/collect' => array(
|
||||
'pretty_version' => 'v8.83.27',
|
||||
'version' => '8.83.27.0',
|
||||
'reference' => '07eed6cf7441c7a69c379fdcb118eec1a1fdd0e6',
|
||||
'pretty_version' => 'v9.52.0',
|
||||
'version' => '9.52.0.0',
|
||||
'reference' => 'd4772fe52bbc823d1d2e3d289d3f1ca8c0f3323b',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../tightenco/collect',
|
||||
'aliases' => array(),
|
||||
|
2
vendor/graham-campbell/result-type/LICENSE
vendored
2
vendor/graham-campbell/result-type/LICENSE
vendored
@ -1,6 +1,6 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2020-2022 Graham Campbell <hello@gjcampbell.co.uk>
|
||||
Copyright (c) 2020-2023 Graham Campbell <hello@gjcampbell.co.uk>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -12,10 +12,10 @@
|
||||
],
|
||||
"require": {
|
||||
"php": "^7.2.5 || ^8.0",
|
||||
"phpoption/phpoption": "^1.9"
|
||||
"phpoption/phpoption": "^1.9.1"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^8.5.28 || ^9.5.21"
|
||||
"phpunit/phpunit": "^8.5.32 || ^9.6.3 || ^10.0.12"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
|
93
vendor/laravel/framework/CHANGELOG.md
vendored
93
vendor/laravel/framework/CHANGELOG.md
vendored
@ -1,6 +1,97 @@
|
||||
# Release Notes for 9.x
|
||||
|
||||
## [Unreleased](https://github.com/laravel/framework/compare/v9.49.0...9.x)
|
||||
## [Unreleased](https://github.com/laravel/framework/compare/v9.52.2...9.x)
|
||||
|
||||
|
||||
## [v9.52.2](https://github.com/laravel/framework/compare/v9.52.1...v9.52.2) - 2023-02-21
|
||||
|
||||
### Fixed
|
||||
- Fixed `Illuminate/Collections/Arr::shuffle()` with empty array ([0c6cae0](https://github.com/laravel/framework/commit/0c6cae0ef647158b9554cad05ff39db7e7ad0d33))
|
||||
|
||||
|
||||
## [v9.52.1](https://github.com/laravel/framework/compare/v9.52.0...v9.52.1) - 2023-02-21
|
||||
|
||||
### Changed
|
||||
- Use secure randomness in Arr:random and Arr:shuffle ([#46105](https://github.com/laravel/framework/pull/46105))
|
||||
|
||||
|
||||
## [v9.52.0](https://github.com/laravel/framework/compare/v9.51.0...v9.52.0) - 2023-02-14
|
||||
|
||||
### Added
|
||||
- Added methods to Enumerable contract ([#46021](https://github.com/laravel/framework/pull/46021))
|
||||
- Added new mailer transport for AWS SES V2 API ([#45977](https://github.com/laravel/framework/pull/45977))
|
||||
- Add S3 temporaryUploadUrl method to AwsS3V3Adapter ([#45753](https://github.com/laravel/framework/pull/45753))
|
||||
- Add index hinting support to query builder ([#46063](https://github.com/laravel/framework/pull/46063))
|
||||
- Add mailer name to data for SentMessage and MessageSending events ([#46079](https://github.com/laravel/framework/pull/46079))
|
||||
- Added --pending option to migrate:status ([#46089](https://github.com/laravel/framework/pull/46089))
|
||||
|
||||
### Fixed
|
||||
- Fixed pdo exception when rollbacking without active transaction ([#46017](https://github.com/laravel/framework/pull/46017))
|
||||
- Fix duplicated columns on select ([#46049](https://github.com/laravel/framework/pull/46049))
|
||||
- Fixes memory leak on anonymous migrations ([№46073](https://github.com/laravel/framework/pull/46073))
|
||||
- Fixed race condition in locks issued by the file cache driver ([#46011](https://github.com/laravel/framework/pull/46011))
|
||||
|
||||
### Changed
|
||||
- Allow choosing tables to truncate in `Illuminate/Foundation/Testing/DatabaseTruncation::truncateTablesForConnection()` ([#46025](https://github.com/laravel/framework/pull/46025))
|
||||
- Update afterPromptingForMissingArguments method ([#46052](https://github.com/laravel/framework/pull/46052))
|
||||
- Accept closure in bus assertion helpers ([#46075](https://github.com/laravel/framework/pull/46075))
|
||||
- Avoid mutating the $expectedLitener between loops on Event::assertListening ([#46095](https://github.com/laravel/framework/pull/46095))
|
||||
|
||||
|
||||
## [v9.51.0](https://github.com/laravel/framework/compare/v9.50.2...v9.51.0) - 2023-02-07
|
||||
|
||||
### Added
|
||||
- Added `Illuminate/Foundation/Testing/Concerns/InteractsWithDatabase::expectsDatabaseQueryCount()` ([#45932](https://github.com/laravel/framework/pull/45932))
|
||||
- Added pending has-many-through and has-one-through builder ([#45894](https://github.com/laravel/framework/pull/45894))
|
||||
- Added `Illuminate/Http/Client/PendingRequest::withUrlParameters()` ([#45982](https://github.com/laravel/framework/pull/45982))
|
||||
|
||||
### Fixed
|
||||
- Fix: prevent duplicated content-type on HTTP client ([#45960](https://github.com/laravel/framework/pull/45960))
|
||||
- Add missing php extensions in composer ([#45941](https://github.com/laravel/framework/pull/45941))
|
||||
|
||||
### Changed
|
||||
- Command schedule:work minor features: schedule:run output file & environment specific verbosity ([#45949](https://github.com/laravel/framework/pull/45949))
|
||||
- Added missing self reserved word to reservedNames array in `Illuminate/Console/GeneratorCommand.php` ([#46001](https://github.com/laravel/framework/pull/46001))
|
||||
- pass value along to ttl callback in `Illuminate/Cache/Repository::remember()` ([#46006](https://github.com/laravel/framework/pull/46006))
|
||||
- Make sure the lock_connection is used for schedule's withoutOverlapping() ([#45963](https://github.com/laravel/framework/pull/45963))
|
||||
|
||||
|
||||
## [v9.50.2](https://github.com/laravel/framework/compare/v9.50.1...v9.50.2) - 2023-02-02
|
||||
|
||||
### Fixed
|
||||
- Fixed missing_with and missing_with_all validation ([#45913](https://github.com/laravel/framework/pull/45913))
|
||||
- Fixes blade escaped tags issue ([#45928](https://github.com/laravel/framework/pull/45928))
|
||||
|
||||
### Changed
|
||||
- Trims numeric validation values / parameters ([#45912](https://github.com/laravel/framework/pull/45912))
|
||||
- Random function doesn't generate evenly distributed random chars ([#45916](https://github.com/laravel/framework/pull/45916))
|
||||
|
||||
|
||||
## [v9.50.1](https://github.com/laravel/framework/compare/v9.50.0...v9.50.1) - 2023-02-01
|
||||
|
||||
### Reverted
|
||||
- Reverted ["Optimize destroy method"](https://github.com/laravel/framework/pull/45709) ([#45903](https://github.com/laravel/framework/pull/45903))
|
||||
|
||||
### Changed
|
||||
- Allow scheme to be specified in `Illuminate/Mail/MailManager::createSmtpTransport()` ([68a8bfc](https://github.com/laravel/framework/commit/68a8bfc3ab758962c8f050160ec32833dc12e467))
|
||||
- Accept optional mode in `Illuminate/Filesystem/Filesystem::replace()` ([2664e7f](https://github.com/laravel/framework/commit/2664e7fcdfe3a290462ae8e326ba79a17c747c1e))
|
||||
|
||||
|
||||
## [v9.50.0](https://github.com/laravel/framework/compare/v9.49.0...v9.50.0) - 2023-02-01
|
||||
|
||||
### Added
|
||||
- Added `Illuminate/Translation/Translator::stringable()` ([#45874](https://github.com/laravel/framework/pull/45874))
|
||||
- Added `Illuminate/Foundation/Testing/DatabaseTruncation` ([#45726](https://github.com/laravel/framework/pull/45726))
|
||||
- Added @style Blade directive ([#45887](https://github.com/laravel/framework/pull/45887))
|
||||
|
||||
### Reverted
|
||||
- Reverted: ["Fix Illuminate Filesystem replace() leaves file executable"](https://github.com/laravel/framework/pull/45856) ([5ea388d](https://github.com/laravel/framework/commit/5ea388d7fe6f786b6dbcb34e0b52341c0b38ad7e))
|
||||
|
||||
### Fixed
|
||||
- Fixed LazyCollection::makeIterator() to accept non Generator Function ([#45881](https://github.com/laravel/framework/pull/45881))
|
||||
|
||||
### Changed
|
||||
- Solve data to be dumped for separate schemes ([#45805](https://github.com/laravel/framework/pull/45805))
|
||||
|
||||
|
||||
## [v9.49.0](https://github.com/laravel/framework/compare/v9.48.0...v9.49.0) - 2023-01-31
|
||||
|
@ -13,7 +13,7 @@ trait GuardHelpers
|
||||
/**
|
||||
* The currently authenticated user.
|
||||
*
|
||||
* @var \Illuminate\Contracts\Auth\Authenticatable
|
||||
* @var \Illuminate\Contracts\Auth\Authenticatable|null
|
||||
*/
|
||||
protected $user;
|
||||
|
||||
|
16
vendor/laravel/framework/src/Illuminate/Cache/FileLock.php
vendored
Normal file
16
vendor/laravel/framework/src/Illuminate/Cache/FileLock.php
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
namespace Illuminate\Cache;
|
||||
|
||||
class FileLock extends CacheLock
|
||||
{
|
||||
/**
|
||||
* Attempt to acquire the lock.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function acquire()
|
||||
{
|
||||
return $this->store->add($this->name, $this->owner, $this->seconds);
|
||||
}
|
||||
}
|
@ -12,7 +12,7 @@ use Illuminate\Support\InteractsWithTime;
|
||||
|
||||
class FileStore implements Store, LockProvider
|
||||
{
|
||||
use InteractsWithTime, HasCacheLock, RetrievesMultipleKeys;
|
||||
use InteractsWithTime, RetrievesMultipleKeys;
|
||||
|
||||
/**
|
||||
* The Illuminate Filesystem instance.
|
||||
@ -200,6 +200,31 @@ class FileStore implements Store, LockProvider
|
||||
return $this->put($key, $value, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a lock instance.
|
||||
*
|
||||
* @param string $name
|
||||
* @param int $seconds
|
||||
* @param string|null $owner
|
||||
* @return \Illuminate\Contracts\Cache\Lock
|
||||
*/
|
||||
public function lock($name, $seconds = 0, $owner = null)
|
||||
{
|
||||
return new FileLock($this, $name, $seconds, $owner);
|
||||
}
|
||||
|
||||
/**
|
||||
* Restore a lock instance using the owner identifier.
|
||||
*
|
||||
* @param string $name
|
||||
* @param string $owner
|
||||
* @return \Illuminate\Contracts\Cache\Lock
|
||||
*/
|
||||
public function restoreLock($name, $owner)
|
||||
{
|
||||
return $this->lock($name, 0, $owner);
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove an item from the cache.
|
||||
*
|
||||
|
@ -838,9 +838,7 @@ class Arr
|
||||
*/
|
||||
public static function whereNotNull($array)
|
||||
{
|
||||
return static::where($array, function ($value) {
|
||||
return ! is_null($value);
|
||||
});
|
||||
return static::where($array, fn ($value) => ! is_null($value));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -84,11 +84,9 @@ class Collection implements ArrayAccess, CanBeEscapedWhenCastToString, Enumerabl
|
||||
{
|
||||
$callback = $this->valueRetriever($callback);
|
||||
|
||||
$items = $this->map(function ($value) use ($callback) {
|
||||
return $callback($value);
|
||||
})->filter(function ($value) {
|
||||
return ! is_null($value);
|
||||
});
|
||||
$items = $this
|
||||
->map(fn ($value) => $callback($value))
|
||||
->filter(fn ($value) => ! is_null($value));
|
||||
|
||||
if ($count = $items->count()) {
|
||||
return $items->sum() / $count;
|
||||
@ -349,14 +347,10 @@ class Collection implements ArrayAccess, CanBeEscapedWhenCastToString, Enumerabl
|
||||
protected function duplicateComparator($strict)
|
||||
{
|
||||
if ($strict) {
|
||||
return function ($a, $b) {
|
||||
return $a === $b;
|
||||
};
|
||||
return fn ($a, $b) => $a === $b;
|
||||
}
|
||||
|
||||
return function ($a, $b) {
|
||||
return $a == $b;
|
||||
};
|
||||
return fn ($a, $b) => $a == $b;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1633,13 +1627,9 @@ class Collection implements ArrayAccess, CanBeEscapedWhenCastToString, Enumerabl
|
||||
*/
|
||||
public function zip($items)
|
||||
{
|
||||
$arrayableItems = array_map(function ($items) {
|
||||
return $this->getArrayableItems($items);
|
||||
}, func_get_args());
|
||||
$arrayableItems = array_map(fn ($items) => $this->getArrayableItems($items), func_get_args());
|
||||
|
||||
$params = array_merge([function () {
|
||||
return new static(func_get_args());
|
||||
}, $this->items], $arrayableItems);
|
||||
$params = array_merge([fn () => new static(func_get_args()), $this->items], $arrayableItems);
|
||||
|
||||
return new static(array_map(...$params));
|
||||
}
|
||||
|
@ -430,9 +430,7 @@ class LazyCollection implements CanBeEscapedWhenCastToString, Enumerable
|
||||
public function filter(callable $callback = null)
|
||||
{
|
||||
if (is_null($callback)) {
|
||||
$callback = function ($value) {
|
||||
return (bool) $value;
|
||||
};
|
||||
$callback = fn ($value) => (bool) $value;
|
||||
}
|
||||
|
||||
return new static(function () use ($callback) {
|
||||
@ -1500,9 +1498,7 @@ class LazyCollection implements CanBeEscapedWhenCastToString, Enumerable
|
||||
/** @var callable(TValue, TKey): bool $callback */
|
||||
$callback = $this->useAsCallable($value) ? $value : $this->equality($value);
|
||||
|
||||
return $this->takeUntil(function ($item, $key) use ($callback) {
|
||||
return ! $callback($item, $key);
|
||||
});
|
||||
return $this->takeUntil(fn ($item, $key) => ! $callback($item, $key));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -80,7 +80,7 @@ class Event
|
||||
public $onOneServer = false;
|
||||
|
||||
/**
|
||||
* The amount of time the mutex should be valid.
|
||||
* The number of minutes the mutex should be valid.
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
|
@ -7,7 +7,7 @@ interface QueueingFactory extends Factory
|
||||
/**
|
||||
* Queue a cookie to send with the next response.
|
||||
*
|
||||
* @param array ...$parameters
|
||||
* @param mixed ...$parameters
|
||||
* @return void
|
||||
*/
|
||||
public function queue(...$parameters);
|
||||
|
@ -290,7 +290,11 @@ trait ManagesTransactions
|
||||
protected function performRollBack($toLevel)
|
||||
{
|
||||
if ($toLevel == 0) {
|
||||
$this->getPdo()->rollBack();
|
||||
$pdo = $this->getPdo();
|
||||
|
||||
if ($pdo->inTransaction()) {
|
||||
$pdo->rollBack();
|
||||
}
|
||||
} elseif ($this->queryGrammar->supportsSavepoints()) {
|
||||
$this->getPdo()->exec(
|
||||
$this->queryGrammar->compileSavepointRollBack('trans'.($toLevel + 1))
|
||||
|
@ -65,7 +65,11 @@ class StatusCommand extends BaseCommand
|
||||
|
||||
$this->components->twoColumnDetail('<fg=gray>Migration name</>', '<fg=gray>Batch / Status</>');
|
||||
|
||||
$migrations->each(
|
||||
$migrations
|
||||
->when($this->option('pending'), fn ($collection) => $collection->filter(function ($migration) {
|
||||
return str($migration[1])->contains('Pending');
|
||||
}))
|
||||
->each(
|
||||
fn ($migration) => $this->components->twoColumnDetail($migration[0], $migration[1])
|
||||
);
|
||||
|
||||
@ -120,9 +124,8 @@ class StatusCommand extends BaseCommand
|
||||
{
|
||||
return [
|
||||
['database', null, InputOption::VALUE_OPTIONAL, 'The database connection to use'],
|
||||
|
||||
['pending', null, InputOption::VALUE_NONE, 'Only list pending migrations'],
|
||||
['path', null, InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY, 'The path(s) to the migrations files to use'],
|
||||
|
||||
['realpath', null, InputOption::VALUE_NONE, 'Indicate any provided migration file paths are pre-resolved absolute paths'],
|
||||
];
|
||||
}
|
||||
|
@ -525,7 +525,7 @@ abstract class Factory
|
||||
/**
|
||||
* Add a new sequenced state transformation to the model definition.
|
||||
*
|
||||
* @param array ...$sequence
|
||||
* @param mixed ...$sequence
|
||||
* @return static
|
||||
*/
|
||||
public function sequence(...$sequence)
|
||||
|
@ -30,7 +30,7 @@ class Sequence implements Countable
|
||||
/**
|
||||
* Create a new sequence instance.
|
||||
*
|
||||
* @param array ...$sequence
|
||||
* @param mixed ...$sequence
|
||||
* @return void
|
||||
*/
|
||||
public function __construct(...$sequence)
|
||||
|
@ -1083,6 +1083,16 @@ abstract class Model implements Arrayable, ArrayAccess, CanBeEscapedWhenCastToSt
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Save the model and all of its relationships without raising any events to the parent model.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function pushQuietly()
|
||||
{
|
||||
return static::withoutEvents(fn () => $this->push());
|
||||
}
|
||||
|
||||
/**
|
||||
* Save the model to the database without raising any events.
|
||||
*
|
||||
|
@ -364,6 +364,17 @@ abstract class HasOneOrMany extends Relation
|
||||
return $instances;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a Collection of new instances of the related model without raising any events to the parent model.
|
||||
*
|
||||
* @param iterable $records
|
||||
* @return \Illuminate\Database\Eloquent\Collection
|
||||
*/
|
||||
public function createManyQuietly(iterable $records)
|
||||
{
|
||||
return Model::withoutEvents(fn () => $this->createMany($records));
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the foreign ID for creating a related model.
|
||||
*
|
||||
|
@ -66,6 +66,13 @@ class Migrator
|
||||
*/
|
||||
protected $paths = [];
|
||||
|
||||
/**
|
||||
* The paths that have already been required.
|
||||
*
|
||||
* @var array<string, \Illuminate\Database\Migrations\Migration|null>
|
||||
*/
|
||||
protected static $requiredPathCache = [];
|
||||
|
||||
/**
|
||||
* The output interface implementation.
|
||||
*
|
||||
@ -511,9 +518,15 @@ class Migrator
|
||||
return new $class;
|
||||
}
|
||||
|
||||
$migration = $this->files->getRequire($path);
|
||||
$migration = static::$requiredPathCache[$path] ??= $this->files->getRequire($path);
|
||||
|
||||
return is_object($migration) ? $migration : new $class;
|
||||
if (is_object($migration)) {
|
||||
return method_exists($migration, '__construct')
|
||||
? $this->files->getRequire($path)
|
||||
: clone $migration;
|
||||
}
|
||||
|
||||
return new $class;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -100,6 +100,13 @@ class Builder implements BuilderContract
|
||||
*/
|
||||
public $from;
|
||||
|
||||
/**
|
||||
* The index hint for the query.
|
||||
*
|
||||
* @var \Illuminate\Database\Query\IndexHint
|
||||
*/
|
||||
public $indexHint;
|
||||
|
||||
/**
|
||||
* The table joins for the query.
|
||||
*
|
||||
@ -411,6 +418,10 @@ class Builder implements BuilderContract
|
||||
|
||||
$this->selectSub($column, $as);
|
||||
} else {
|
||||
if (is_array($this->columns) && in_array($column, $this->columns, true)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$this->columns[] = $column;
|
||||
}
|
||||
}
|
||||
@ -454,6 +465,45 @@ class Builder implements BuilderContract
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add an index hint to suggest a query index.
|
||||
*
|
||||
* @param string $index
|
||||
* @return $this
|
||||
*/
|
||||
public function useIndex($index)
|
||||
{
|
||||
$this->indexHint = new IndexHint('hint', $index);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add an index hint to force a query index.
|
||||
*
|
||||
* @param string $index
|
||||
* @return $this
|
||||
*/
|
||||
public function forceIndex($index)
|
||||
{
|
||||
$this->indexHint = new IndexHint('force', $index);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add an index hint to ignore a query index.
|
||||
*
|
||||
* @param string $index
|
||||
* @return $this
|
||||
*/
|
||||
public function ignoreIndex($index)
|
||||
{
|
||||
$this->indexHint = new IndexHint('ignore', $index);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a join clause to the query.
|
||||
*
|
||||
|
@ -36,6 +36,7 @@ class Grammar extends BaseGrammar
|
||||
'aggregate',
|
||||
'columns',
|
||||
'from',
|
||||
'indexHint',
|
||||
'joins',
|
||||
'wheres',
|
||||
'groups',
|
||||
|
@ -74,6 +74,22 @@ class MySqlGrammar extends Grammar
|
||||
return "match ({$columns}) against (".$value."{$mode}{$expanded})";
|
||||
}
|
||||
|
||||
/**
|
||||
* Compile the index hints for the query.
|
||||
*
|
||||
* @param \Illuminate\Database\Query\Builder $query
|
||||
* @param \Illuminate\Database\Query\IndexHint $indexHint
|
||||
* @return string
|
||||
*/
|
||||
protected function compileIndexHint(Builder $query, $indexHint)
|
||||
{
|
||||
return match ($indexHint->type) {
|
||||
'hint' => "use index ({$indexHint->index})",
|
||||
'force' => "force index ({$indexHint->index})",
|
||||
default => "ignore index ({$indexHint->index})",
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Compile an insert ignore statement into SQL.
|
||||
*
|
||||
|
@ -117,6 +117,20 @@ class SQLiteGrammar extends Grammar
|
||||
return "strftime('{$type}', {$this->wrap($where['column'])}) {$where['operator']} cast({$value} as text)";
|
||||
}
|
||||
|
||||
/**
|
||||
* Compile the index hints for the query.
|
||||
*
|
||||
* @param \Illuminate\Database\Query\Builder $query
|
||||
* @param \Illuminate\Database\Query\IndexHint $indexHint
|
||||
* @return string
|
||||
*/
|
||||
protected function compileIndexHint(Builder $query, $indexHint)
|
||||
{
|
||||
return $indexHint->type === 'force'
|
||||
? "indexed by {$indexHint->index}"
|
||||
: '';
|
||||
}
|
||||
|
||||
/**
|
||||
* Compile a "JSON length" statement into SQL.
|
||||
*
|
||||
|
@ -96,6 +96,20 @@ class SqlServerGrammar extends Grammar
|
||||
return $from;
|
||||
}
|
||||
|
||||
/**
|
||||
* Compile the index hints for the query.
|
||||
*
|
||||
* @param \Illuminate\Database\Query\Builder $query
|
||||
* @param \Illuminate\Database\Query\IndexHint $indexHint
|
||||
* @return string
|
||||
*/
|
||||
protected function compileIndexHint(Builder $query, $indexHint)
|
||||
{
|
||||
return $indexHint->type === 'force'
|
||||
? "with (index({$indexHint->index}))"
|
||||
: '';
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*
|
||||
|
33
vendor/laravel/framework/src/Illuminate/Database/Query/IndexHint.php
vendored
Executable file
33
vendor/laravel/framework/src/Illuminate/Database/Query/IndexHint.php
vendored
Executable file
@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
namespace Illuminate\Database\Query;
|
||||
|
||||
class IndexHint
|
||||
{
|
||||
/**
|
||||
* The type of query hint.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
public $type;
|
||||
|
||||
/**
|
||||
* The name of the index.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
public $index;
|
||||
|
||||
/**
|
||||
* Create a new index hint instance.
|
||||
*
|
||||
* @param string $type
|
||||
* @param string $index
|
||||
* @return void
|
||||
*/
|
||||
public function __construct($type, $index)
|
||||
{
|
||||
$this->type = $type;
|
||||
$this->index = $index;
|
||||
}
|
||||
}
|
@ -86,7 +86,7 @@ abstract class SchemaState
|
||||
/**
|
||||
* Create a new process instance.
|
||||
*
|
||||
* @param array ...$arguments
|
||||
* @param mixed ...$arguments
|
||||
* @return \Symfony\Component\Process\Process
|
||||
*/
|
||||
public function makeProcess(...$arguments)
|
||||
|
@ -95,6 +95,40 @@ class AwsS3V3Adapter extends FilesystemAdapter
|
||||
return (string) $uri;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a temporary upload URL for the file at the given path.
|
||||
*
|
||||
* @param string $path
|
||||
* @param \DateTimeInterface $expiration
|
||||
* @param array $options
|
||||
* @return array
|
||||
*/
|
||||
public function temporaryUploadUrl($path, $expiration, array $options = [])
|
||||
{
|
||||
$command = $this->client->getCommand('PutObject', array_merge([
|
||||
'Bucket' => $this->config['bucket'],
|
||||
'Key' => $this->prefixer->prefixPath($path),
|
||||
], $options));
|
||||
|
||||
$signedRequest = $this->client->createPresignedRequest(
|
||||
$command, $expiration, $options
|
||||
);
|
||||
|
||||
$uri = $signedRequest->getUri();
|
||||
|
||||
// If an explicit base URL has been set on the disk configuration then we will use
|
||||
// it as the base URL instead of the default path. This allows the developer to
|
||||
// have full control over the base path for this filesystem's generated URLs.
|
||||
if (isset($this->config['temporary_url'])) {
|
||||
$uri = $this->replaceBaseUrl($uri, $this->config['temporary_url']);
|
||||
}
|
||||
|
||||
return [
|
||||
'url' => (string) $uri,
|
||||
'headers' => $signedRequest->getHeaders(),
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the underlying S3 client.
|
||||
*
|
||||
|
@ -733,6 +733,25 @@ class FilesystemAdapter implements CloudFilesystemContract
|
||||
throw new RuntimeException('This driver does not support creating temporary URLs.');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a temporary upload URL for the file at the given path.
|
||||
*
|
||||
* @param string $path
|
||||
* @param \DateTimeInterface $expiration
|
||||
* @param array $options
|
||||
* @return array
|
||||
*
|
||||
* @throws \RuntimeException
|
||||
*/
|
||||
public function temporaryUploadUrl($path, $expiration, array $options = [])
|
||||
{
|
||||
if (method_exists($this->adapter, 'temporaryUploadUrl')) {
|
||||
return $this->adapter->temporaryUploadUrl($path, $expiration, $options);
|
||||
}
|
||||
|
||||
throw new RuntimeException('This driver does not support creating temporary upload URLs.');
|
||||
}
|
||||
|
||||
/**
|
||||
* Concatenate a path to a URL.
|
||||
*
|
||||
|
@ -38,7 +38,7 @@ class Application extends Container implements ApplicationContract, CachesConfig
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
const VERSION = '9.51.0';
|
||||
const VERSION = '9.52.4';
|
||||
|
||||
/**
|
||||
* The base path for the Laravel installation.
|
||||
|
@ -137,7 +137,7 @@ class ListenerMakeCommand extends GeneratorCommand
|
||||
*/
|
||||
protected function afterPromptingForMissingArguments(InputInterface $input, OutputInterface $output)
|
||||
{
|
||||
if ($this->didReceiveOptions($input)) {
|
||||
if ($this->isReservedName($this->getNameInput()) || $this->didReceiveOptions($input)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -245,7 +245,7 @@ class ModelMakeCommand extends GeneratorCommand
|
||||
*/
|
||||
protected function afterPromptingForMissingArguments(InputInterface $input, OutputInterface $output)
|
||||
{
|
||||
if ($this->didReceiveOptions($input)) {
|
||||
if ($this->isReservedName($this->getNameInput()) || $this->didReceiveOptions($input)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -162,7 +162,7 @@ class ObserverMakeCommand extends GeneratorCommand
|
||||
*/
|
||||
protected function afterPromptingForMissingArguments(InputInterface $input, OutputInterface $output)
|
||||
{
|
||||
if ($this->didReceiveOptions($input)) {
|
||||
if ($this->isReservedName($this->getNameInput()) || $this->didReceiveOptions($input)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -221,7 +221,7 @@ class PolicyMakeCommand extends GeneratorCommand
|
||||
*/
|
||||
protected function afterPromptingForMissingArguments(InputInterface $input, OutputInterface $output)
|
||||
{
|
||||
if ($this->didReceiveOptions($input)) {
|
||||
if ($this->isReservedName($this->getNameInput()) || $this->didReceiveOptions($input)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -132,7 +132,7 @@ class TestMakeCommand extends GeneratorCommand
|
||||
*/
|
||||
protected function afterPromptingForMissingArguments(InputInterface $input, OutputInterface $output)
|
||||
{
|
||||
if ($this->didReceiveOptions($input)) {
|
||||
if ($this->isReservedName($this->getNameInput()) || $this->didReceiveOptions($input)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -80,7 +80,11 @@ trait DatabaseTruncation
|
||||
$connection->unsetEventDispatcher();
|
||||
|
||||
collect(static::$allTables[$name] ??= $connection->getDoctrineSchemaManager()->listTableNames())
|
||||
->diff($this->exceptTables($name))
|
||||
->when(
|
||||
property_exists($this, 'tablesToTruncate'),
|
||||
fn ($tables) => $tables->intersect($this->tablesToTruncate),
|
||||
fn ($tables) => $tables->diff($this->exceptTables($name))
|
||||
)
|
||||
->filter(fn ($table) => $connection->table($table)->exists())
|
||||
->each(fn ($table) => $connection->table($table)->truncate());
|
||||
|
||||
|
@ -3,12 +3,14 @@
|
||||
namespace Illuminate\Mail;
|
||||
|
||||
use Aws\Ses\SesClient;
|
||||
use Aws\SesV2\SesV2Client;
|
||||
use Closure;
|
||||
use Illuminate\Contracts\Mail\Factory as FactoryContract;
|
||||
use Illuminate\Log\LogManager;
|
||||
use Illuminate\Mail\Transport\ArrayTransport;
|
||||
use Illuminate\Mail\Transport\LogTransport;
|
||||
use Illuminate\Mail\Transport\SesTransport;
|
||||
use Illuminate\Mail\Transport\SesV2Transport;
|
||||
use Illuminate\Support\Arr;
|
||||
use Illuminate\Support\Str;
|
||||
use InvalidArgumentException;
|
||||
@ -154,7 +156,8 @@ class MailManager implements FactoryContract
|
||||
return call_user_func($this->customCreators[$transport], $config);
|
||||
}
|
||||
|
||||
if (trim($transport ?? '') === '' || ! method_exists($this, $method = 'create'.ucfirst($transport).'Transport')) {
|
||||
if (trim($transport ?? '') === '' ||
|
||||
! method_exists($this, $method = 'create'.ucfirst(Str::camel($transport)).'Transport')) {
|
||||
throw new InvalidArgumentException("Unsupported mail transport [{$transport}].");
|
||||
}
|
||||
|
||||
@ -250,6 +253,28 @@ class MailManager implements FactoryContract
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an instance of the Symfony Amazon SES V2 Transport driver.
|
||||
*
|
||||
* @param array $config
|
||||
* @return \Illuminate\Mail\Transport\Se2VwTransport
|
||||
*/
|
||||
protected function createSesV2Transport(array $config)
|
||||
{
|
||||
$config = array_merge(
|
||||
$this->app['config']->get('services.ses', []),
|
||||
['version' => 'latest'],
|
||||
$config
|
||||
);
|
||||
|
||||
$config = Arr::except($config, ['transport']);
|
||||
|
||||
return new SesV2Transport(
|
||||
new SesV2Client($this->addSesCredentials($config)),
|
||||
$config['options'] ?? []
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the SES credentials to the configuration array.
|
||||
*
|
||||
|
@ -253,6 +253,8 @@ class Mailer implements MailerContract, MailQueueContract
|
||||
return $this->sendMailable($view);
|
||||
}
|
||||
|
||||
$data['mailer'] = $this->name;
|
||||
|
||||
// First we need to parse the view, which could either be a string or an array
|
||||
// containing both an HTML and plain text versions of the view which should
|
||||
// be used when sending an e-mail. We will extract both of them out here.
|
||||
|
@ -315,7 +315,7 @@ class Message
|
||||
/**
|
||||
* Attach in-memory data as an attachment.
|
||||
*
|
||||
* @param string $data
|
||||
* @param string|resource $data
|
||||
* @param string $name
|
||||
* @param array $options
|
||||
* @return $this
|
||||
@ -366,7 +366,7 @@ class Message
|
||||
/**
|
||||
* Embed in-memory data in the message and get the CID.
|
||||
*
|
||||
* @param string $data
|
||||
* @param string|resource $data
|
||||
* @param string $name
|
||||
* @param string|null $contentType
|
||||
* @return string
|
||||
|
@ -88,16 +88,6 @@ class SesTransport extends AbstractTransport
|
||||
$message->getOriginalMessage()->getHeaders()->addHeader('X-SES-Message-ID', $messageId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the string representation of the transport.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function __toString(): string
|
||||
{
|
||||
return 'ses';
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the Amazon SES client for the SesTransport instance.
|
||||
*
|
||||
@ -128,4 +118,14 @@ class SesTransport extends AbstractTransport
|
||||
{
|
||||
return $this->options = $options;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the string representation of the transport.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function __toString(): string
|
||||
{
|
||||
return 'ses';
|
||||
}
|
||||
}
|
||||
|
135
vendor/laravel/framework/src/Illuminate/Mail/Transport/SesV2Transport.php
vendored
Normal file
135
vendor/laravel/framework/src/Illuminate/Mail/Transport/SesV2Transport.php
vendored
Normal file
@ -0,0 +1,135 @@
|
||||
<?php
|
||||
|
||||
namespace Illuminate\Mail\Transport;
|
||||
|
||||
use Aws\Exception\AwsException;
|
||||
use Aws\SesV2\SesV2Client;
|
||||
use Exception;
|
||||
use Symfony\Component\Mailer\Header\MetadataHeader;
|
||||
use Symfony\Component\Mailer\SentMessage;
|
||||
use Symfony\Component\Mailer\Transport\AbstractTransport;
|
||||
use Symfony\Component\Mime\Message;
|
||||
|
||||
class SesV2Transport extends AbstractTransport
|
||||
{
|
||||
/**
|
||||
* The Amazon SES V2 instance.
|
||||
*
|
||||
* @var \Aws\SesV2\SesV2Client
|
||||
*/
|
||||
protected $ses;
|
||||
|
||||
/**
|
||||
* The Amazon SES transmission options.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $options = [];
|
||||
|
||||
/**
|
||||
* Create a new SES V2 transport instance.
|
||||
*
|
||||
* @param \Aws\SesV2\SesV2Client $ses
|
||||
* @param array $options
|
||||
* @return void
|
||||
*/
|
||||
public function __construct(SesV2Client $ses, $options = [])
|
||||
{
|
||||
$this->ses = $ses;
|
||||
$this->options = $options;
|
||||
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
protected function doSend(SentMessage $message): void
|
||||
{
|
||||
$options = $this->options;
|
||||
|
||||
if ($message->getOriginalMessage() instanceof Message) {
|
||||
foreach ($message->getOriginalMessage()->getHeaders()->all() as $header) {
|
||||
if ($header instanceof MetadataHeader) {
|
||||
$options['Tags'][] = ['Name' => $header->getKey(), 'Value' => $header->getValue()];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
$result = $this->ses->sendEmail(
|
||||
array_merge(
|
||||
$options, [
|
||||
'ReplyToAddresses' => [$message->getEnvelope()->getSender()->toString()],
|
||||
'Destination' => [
|
||||
'ToAddresses' => collect($message->getEnvelope()->getRecipients())
|
||||
->map
|
||||
->toString()
|
||||
->values()
|
||||
->all(),
|
||||
],
|
||||
'Content' => [
|
||||
'Raw' => [
|
||||
'Data' => $message->toString(),
|
||||
],
|
||||
],
|
||||
]
|
||||
)
|
||||
);
|
||||
} catch (AwsException $e) {
|
||||
$reason = $e->getAwsErrorMessage() ?? $e->getMessage();
|
||||
|
||||
throw new Exception(
|
||||
sprintf('Request to AWS SES V2 API failed. Reason: %s.', $reason),
|
||||
is_int($e->getCode()) ? $e->getCode() : 0,
|
||||
$e
|
||||
);
|
||||
}
|
||||
|
||||
$messageId = $result->get('MessageId');
|
||||
|
||||
$message->getOriginalMessage()->getHeaders()->addHeader('X-Message-ID', $messageId);
|
||||
$message->getOriginalMessage()->getHeaders()->addHeader('X-SES-Message-ID', $messageId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the Amazon SES V2 client for the SesV2Transport instance.
|
||||
*
|
||||
* @return \Aws\SesV2\SesV2Client
|
||||
*/
|
||||
public function ses()
|
||||
{
|
||||
return $this->ses;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the transmission options being used by the transport.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getOptions()
|
||||
{
|
||||
return $this->options;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the transmission options being used by the transport.
|
||||
*
|
||||
* @param array $options
|
||||
* @return array
|
||||
*/
|
||||
public function setOptions(array $options)
|
||||
{
|
||||
return $this->options = $options;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the string representation of the transport.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function __toString(): string
|
||||
{
|
||||
return 'ses-v2';
|
||||
}
|
||||
}
|
@ -27,7 +27,7 @@ class ViewController extends Controller
|
||||
/**
|
||||
* Invoke the controller method.
|
||||
*
|
||||
* @param array ...$args
|
||||
* @param mixed ...$args
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function __invoke(...$args)
|
||||
|
@ -13,7 +13,7 @@ namespace Illuminate\Support\Facades;
|
||||
* @method static void extend(callable $compiler)
|
||||
* @method static array getExtensions()
|
||||
* @method static void if(string $name, callable $callback)
|
||||
* @method static bool check(string $name, array ...$parameters)
|
||||
* @method static bool check(string $name, mixed ...$parameters)
|
||||
* @method static void component(string $class, string|null $alias = null, string $prefix = '')
|
||||
* @method static void components(array $components, string $prefix = '')
|
||||
* @method static array getClassComponentAliases()
|
||||
|
@ -22,14 +22,14 @@ use Illuminate\Support\Testing\Fakes\BusFake;
|
||||
* @method static \Illuminate\Bus\Dispatcher map(array $map)
|
||||
* @method static void except(array|string $jobsToDispatch)
|
||||
* @method static void assertDispatched(string|\Closure $command, callable|int|null $callback = null)
|
||||
* @method static void assertDispatchedTimes(string $command, int $times = 1)
|
||||
* @method static void assertDispatchedTimes(string|\Closure $command, int $times = 1)
|
||||
* @method static void assertNotDispatched(string|\Closure $command, callable|null $callback = null)
|
||||
* @method static void assertNothingDispatched()
|
||||
* @method static void assertDispatchedSync(string|\Closure $command, callable|int|null $callback = null)
|
||||
* @method static void assertDispatchedSyncTimes(string $command, int $times = 1)
|
||||
* @method static void assertDispatchedSyncTimes(string|\Closure $command, int $times = 1)
|
||||
* @method static void assertNotDispatchedSync(string|\Closure $command, callable|null $callback = null)
|
||||
* @method static void assertDispatchedAfterResponse(string|\Closure $command, callable|int|null $callback = null)
|
||||
* @method static void assertDispatchedAfterResponseTimes(string $command, int $times = 1)
|
||||
* @method static void assertDispatchedAfterResponseTimes(string|\Closure $command, int $times = 1)
|
||||
* @method static void assertNotDispatchedAfterResponse(string|\Closure $command, callable|null $callback = null)
|
||||
* @method static void assertChained(array $expectedChain)
|
||||
* @method static void assertDispatchedWithoutChain(string|\Closure $command, callable|null $callback = null)
|
||||
|
@ -59,6 +59,7 @@ use Illuminate\Filesystem\Filesystem;
|
||||
* @method static string url(string $path)
|
||||
* @method static bool providesTemporaryUrls()
|
||||
* @method static string temporaryUrl(string $path, \DateTimeInterface $expiration, array $options = [])
|
||||
* @method static array temporaryUploadUrl(string $path, \DateTimeInterface $expiration, array $options = [])
|
||||
* @method static \League\Flysystem\FilesystemOperator getDriver()
|
||||
* @method static \League\Flysystem\FilesystemAdapter getAdapter()
|
||||
* @method static array getConfig()
|
||||
|
@ -127,15 +127,21 @@ class BusFake implements QueueingDispatcher
|
||||
/**
|
||||
* Assert if a job was pushed a number of times.
|
||||
*
|
||||
* @param string $command
|
||||
* @param string|\Closure $command
|
||||
* @param int $times
|
||||
* @return void
|
||||
*/
|
||||
public function assertDispatchedTimes($command, $times = 1)
|
||||
{
|
||||
$count = $this->dispatched($command)->count() +
|
||||
$this->dispatchedAfterResponse($command)->count() +
|
||||
$this->dispatchedSync($command)->count();
|
||||
$callback = null;
|
||||
|
||||
if ($command instanceof Closure) {
|
||||
[$command, $callback] = [$this->firstClosureParameterType($command), $command];
|
||||
}
|
||||
|
||||
$count = $this->dispatched($command, $callback)->count() +
|
||||
$this->dispatchedAfterResponse($command, $callback)->count() +
|
||||
$this->dispatchedSync($command, $callback)->count();
|
||||
|
||||
PHPUnit::assertSame(
|
||||
$times, $count,
|
||||
@ -200,13 +206,19 @@ class BusFake implements QueueingDispatcher
|
||||
/**
|
||||
* Assert if a job was pushed synchronously a number of times.
|
||||
*
|
||||
* @param string $command
|
||||
* @param string|\Closure $command
|
||||
* @param int $times
|
||||
* @return void
|
||||
*/
|
||||
public function assertDispatchedSyncTimes($command, $times = 1)
|
||||
{
|
||||
$count = $this->dispatchedSync($command)->count();
|
||||
$callback = null;
|
||||
|
||||
if ($command instanceof Closure) {
|
||||
[$command, $callback] = [$this->firstClosureParameterType($command), $command];
|
||||
}
|
||||
|
||||
$count = $this->dispatchedSync($command, $callback)->count();
|
||||
|
||||
PHPUnit::assertSame(
|
||||
$times, $count,
|
||||
@ -259,13 +271,19 @@ class BusFake implements QueueingDispatcher
|
||||
/**
|
||||
* Assert if a job was pushed after the response was sent a number of times.
|
||||
*
|
||||
* @param string $command
|
||||
* @param string|\Closure $command
|
||||
* @param int $times
|
||||
* @return void
|
||||
*/
|
||||
public function assertDispatchedAfterResponseTimes($command, $times = 1)
|
||||
{
|
||||
$count = $this->dispatchedAfterResponse($command)->count();
|
||||
$callback = null;
|
||||
|
||||
if ($command instanceof Closure) {
|
||||
[$command, $callback] = [$this->firstClosureParameterType($command), $command];
|
||||
}
|
||||
|
||||
$count = $this->dispatchedAfterResponse($command, $callback)->count();
|
||||
|
||||
PHPUnit::assertSame(
|
||||
$times, $count,
|
||||
|
@ -85,21 +85,23 @@ class EventFake implements Dispatcher
|
||||
$actualListener = (new ReflectionFunction($listenerClosure))
|
||||
->getStaticVariables()['listener'];
|
||||
|
||||
$normalizedListener = $expectedListener;
|
||||
|
||||
if (is_string($actualListener) && Str::contains($actualListener, '@')) {
|
||||
$actualListener = Str::parseCallback($actualListener);
|
||||
|
||||
if (is_string($expectedListener)) {
|
||||
if (Str::contains($expectedListener, '@')) {
|
||||
$expectedListener = Str::parseCallback($expectedListener);
|
||||
$normalizedListener = Str::parseCallback($expectedListener);
|
||||
} else {
|
||||
$expectedListener = [$expectedListener, 'handle'];
|
||||
$normalizedListener = [$expectedListener, 'handle'];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($actualListener === $expectedListener ||
|
||||
if ($actualListener === $normalizedListener ||
|
||||
($actualListener instanceof Closure &&
|
||||
$expectedListener === Closure::class)) {
|
||||
$normalizedListener === Closure::class)) {
|
||||
PHPUnit::assertTrue(true);
|
||||
|
||||
return;
|
||||
|
@ -1682,7 +1682,7 @@ class TestResponse implements ArrayAccess
|
||||
* Proxy isset() checks to the underlying base response.
|
||||
*
|
||||
* @param string $key
|
||||
* @return mixed
|
||||
* @return bool
|
||||
*/
|
||||
public function __isset($key)
|
||||
{
|
||||
|
@ -89,9 +89,9 @@ class MessageSelector
|
||||
*/
|
||||
private function stripConditions($segments)
|
||||
{
|
||||
return collect($segments)->map(function ($part) {
|
||||
return preg_replace('/^[\{\[]([^\[\]\{\}]*)[\}\]]/', '', $part);
|
||||
})->all();
|
||||
return collect($segments)
|
||||
->map(fn ($part) => preg_replace('/^[\{\[]([^\[\]\{\}]*)[\}\]]/', '', $part))
|
||||
->all();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -721,7 +721,7 @@ class BladeCompiler extends Compiler implements CompilerInterface
|
||||
* Check the result of a condition.
|
||||
*
|
||||
* @param string $name
|
||||
* @param array ...$parameters
|
||||
* @param mixed ...$parameters
|
||||
* @return bool
|
||||
*/
|
||||
public function check($name, ...$parameters)
|
||||
|
@ -131,6 +131,10 @@ class TinkerCommand extends Command
|
||||
$casters['Illuminate\Database\Eloquent\Model'] = 'Laravel\Tinker\TinkerCaster::castModel';
|
||||
}
|
||||
|
||||
if (class_exists('Illuminate\Process\ProcessResult')) {
|
||||
$casters['Illuminate\Process\ProcessResult'] = 'Laravel\Tinker\TinkerCaster::castProcessResult';
|
||||
}
|
||||
|
||||
if (class_exists('Illuminate\Foundation\Application')) {
|
||||
$casters['Illuminate\Foundation\Application'] = 'Laravel\Tinker\TinkerCaster::castApplication';
|
||||
}
|
||||
|
16
vendor/laravel/tinker/src/TinkerCaster.php
vendored
16
vendor/laravel/tinker/src/TinkerCaster.php
vendored
@ -94,6 +94,22 @@ class TinkerCaster
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Get an array representing the properties of a process result.
|
||||
*
|
||||
* @param \Illuminate\Process\ProcessResult $result
|
||||
* @return array
|
||||
*/
|
||||
public static function castProcessResult($result)
|
||||
{
|
||||
return [
|
||||
Caster::PREFIX_VIRTUAL.'output' => $result->output(),
|
||||
Caster::PREFIX_VIRTUAL.'errorOutput' => $result->errorOutput(),
|
||||
Caster::PREFIX_VIRTUAL.'exitCode' => $result->exitCode(),
|
||||
Caster::PREFIX_VIRTUAL.'successful' => $result->successful(),
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Get an array representing the properties of a model.
|
||||
*
|
||||
|
9
vendor/league/commonmark/CHANGELOG.md
vendored
9
vendor/league/commonmark/CHANGELOG.md
vendored
@ -6,6 +6,12 @@ Updates should follow the [Keep a CHANGELOG](https://keepachangelog.com/) princi
|
||||
|
||||
## [Unreleased][unreleased]
|
||||
|
||||
## [2.3.9] - 2023-02-15
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fixed autolink extension not detecting some URIs with underscores (#956)
|
||||
|
||||
## [2.3.8] - 2022-12-10
|
||||
|
||||
### Fixed
|
||||
@ -512,7 +518,8 @@ No changes were introduced since the previous release.
|
||||
- Alternative 1: Use `CommonMarkConverter` or `GithubFlavoredMarkdownConverter` if you don't need to customize the environment
|
||||
- Alternative 2: Instantiate a new `Environment` and add the necessary extensions yourself
|
||||
|
||||
[unreleased]: https://github.com/thephpleague/commonmark/compare/2.3.8...main
|
||||
[unreleased]: https://github.com/thephpleague/commonmark/compare/2.3.9...main
|
||||
[2.3.9]: https://github.com/thephpleague/commonmark/compare/2.3.8...2.3.9
|
||||
[2.3.8]: https://github.com/thephpleague/commonmark/compare/2.3.7...2.3.8
|
||||
[2.3.7]: https://github.com/thephpleague/commonmark/compare/2.3.6...2.3.7
|
||||
[2.3.6]: https://github.com/thephpleague/commonmark/compare/2.3.5...2.3.6
|
||||
|
@ -72,6 +72,7 @@ final class AttributesHelper
|
||||
continue;
|
||||
}
|
||||
|
||||
/** @psalm-suppress PossiblyUndefinedArrayOffset */
|
||||
[$name, $value] = \explode('=', $attribute, 2);
|
||||
|
||||
$first = $value[0];
|
||||
|
@ -22,16 +22,22 @@ final class UrlAutolinkParser implements InlineParserInterface
|
||||
{
|
||||
private const ALLOWED_AFTER = [null, ' ', "\t", "\n", "\x0b", "\x0c", "\x0d", '*', '_', '~', '('];
|
||||
|
||||
// RegEx adapted from https://github.com/symfony/symfony/blob/4.2/src/Symfony/Component/Validator/Constraints/UrlValidator.php
|
||||
// RegEx adapted from https://github.com/symfony/symfony/blob/6.3/src/Symfony/Component/Validator/Constraints/UrlValidator.php
|
||||
private const REGEX = '~
|
||||
(
|
||||
# Must start with a supported scheme + auth, or "www"
|
||||
(?:
|
||||
(?:%s):// # protocol
|
||||
(?:([\.\pL\pN-]+:)?([\.\pL\pN-]+)@)? # basic auth
|
||||
(?:(?:(?:[\_\.\pL\pN-]|%%[0-9A-Fa-f]{2})+:)?((?:[\_\.\pL\pN-]|%%[0-9A-Fa-f]{2})+)@)? # basic auth
|
||||
|www\.)
|
||||
(?:
|
||||
(?:[\pL\pN\pS\-\.])+(?:\.?(?:[\pL\pN]|xn\-\-[\pL\pN-]+)+\.?) # a domain name
|
||||
(?:
|
||||
(?:xn--[a-z0-9-]++\.)*+xn--[a-z0-9-]++ # a domain name using punycode
|
||||
|
|
||||
(?:[\pL\pN\pS\pM\-\_]++\.)+[\pL\pN\pM]++ # a multi-level domain name
|
||||
|
|
||||
[a-z0-9\-\_]++ # a single-level domain name
|
||||
)\.?
|
||||
| # or
|
||||
\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} # an IP address
|
||||
| # or
|
||||
@ -41,7 +47,7 @@ final class UrlAutolinkParser implements InlineParserInterface
|
||||
)
|
||||
(?::[0-9]+)? # a port (optional)
|
||||
(?:/ (?:[\pL\pN\-._\~!$&\'()*+,;=:@]|%%[0-9A-Fa-f]{2})* )* # a path
|
||||
(?:\? (?:[\pL\pN\-._\~!$&\'()*+,;=:@/?]|%%[0-9A-Fa-f]{2})* )? # a query (optional)
|
||||
(?:\? (?:[\pL\pN\-._\~!$&\'\[\]()*+,;=:@/?]|%%[0-9A-Fa-f]{2})* )? # a query (optional)
|
||||
(?:\# (?:[\pL\pN\-._\~!$&\'()*+,;=:@/?]|%%[0-9A-Fa-f]{2})* )? # a fragment (optional)
|
||||
)~ixu';
|
||||
|
||||
|
@ -31,7 +31,7 @@ final class AndExpr implements ExpressionInterface
|
||||
*/
|
||||
public function __construct(callable ...$expressions)
|
||||
{
|
||||
$this->conditions = $expressions;
|
||||
$this->conditions = \array_values($expressions);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -31,7 +31,7 @@ final class OrExpr implements ExpressionInterface
|
||||
*/
|
||||
public function __construct(callable ...$expressions)
|
||||
{
|
||||
$this->conditions = $expressions;
|
||||
$this->conditions = \array_values($expressions);
|
||||
}
|
||||
|
||||
/**
|
||||
|
4
vendor/phpoption/phpoption/composer.json
vendored
4
vendor/phpoption/phpoption/composer.json
vendored
@ -19,8 +19,8 @@
|
||||
"php": "^7.2.5 || ^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"bamarni/composer-bin-plugin": "^1.8",
|
||||
"phpunit/phpunit": "^8.5.28 || ^9.5.21"
|
||||
"bamarni/composer-bin-plugin": "^1.8.2",
|
||||
"phpunit/phpunit": "^8.5.32 || ^9.6.3 || ^10.0.12"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
|
@ -2,6 +2,12 @@
|
||||
|
||||
All notable changes are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles.
|
||||
|
||||
## [9.2.25] - 2023-02-25
|
||||
|
||||
### Fixed
|
||||
|
||||
* [#981](https://github.com/sebastianbergmann/php-code-coverage/issues/981): `CodeUnitFindingVisitor` does not support DNF types
|
||||
|
||||
## [9.2.24] - 2023-01-26
|
||||
|
||||
### Changed
|
||||
@ -464,6 +470,7 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](htt
|
||||
|
||||
* This component is no longer supported on PHP 7.1
|
||||
|
||||
[9.2.25]: https://github.com/sebastianbergmann/php-code-coverage/compare/9.2.24...9.2.25
|
||||
[9.2.24]: https://github.com/sebastianbergmann/php-code-coverage/compare/9.2.23...9.2.24
|
||||
[9.2.23]: https://github.com/sebastianbergmann/php-code-coverage/compare/9.2.22...9.2.23
|
||||
[9.2.22]: https://github.com/sebastianbergmann/php-code-coverage/compare/9.2.21...9.2.22
|
||||
|
@ -32,7 +32,7 @@
|
||||
"ext-dom": "*",
|
||||
"ext-libxml": "*",
|
||||
"ext-xmlwriter": "*",
|
||||
"nikic/php-parser": "^4.14",
|
||||
"nikic/php-parser": "^4.15",
|
||||
"phpunit/php-file-iterator": "^3.0.3",
|
||||
"phpunit/php-text-template": "^2.0.2",
|
||||
"sebastian/code-unit-reverse-lookup": "^2.0.2",
|
||||
|
@ -26,6 +26,7 @@ use PhpParser\Node\Stmt\Function_;
|
||||
use PhpParser\Node\Stmt\Interface_;
|
||||
use PhpParser\Node\Stmt\Trait_;
|
||||
use PhpParser\Node\UnionType;
|
||||
use PhpParser\NodeAbstract;
|
||||
use PhpParser\NodeTraverser;
|
||||
use PhpParser\NodeVisitorAbstract;
|
||||
use SebastianBergmann\Complexity\CyclomaticComplexityCalculatingVisitor;
|
||||
@ -180,8 +181,12 @@ final class CodeUnitFindingVisitor extends NodeVisitorAbstract
|
||||
return '?' . $type->type;
|
||||
}
|
||||
|
||||
if ($type instanceof UnionType || $type instanceof IntersectionType) {
|
||||
return $this->unionOrIntersectionAsString($type);
|
||||
if ($type instanceof UnionType) {
|
||||
return $this->unionTypeAsString($type);
|
||||
}
|
||||
|
||||
if ($type instanceof IntersectionType) {
|
||||
return $this->intersectionTypeAsString($type);
|
||||
}
|
||||
|
||||
return $type->toString();
|
||||
@ -298,29 +303,43 @@ final class CodeUnitFindingVisitor extends NodeVisitorAbstract
|
||||
return trim(rtrim($namespacedName, $name), '\\');
|
||||
}
|
||||
|
||||
/**
|
||||
* @psalm-param UnionType|IntersectionType $type
|
||||
*/
|
||||
private function unionOrIntersectionAsString(ComplexType $type): string
|
||||
private function unionTypeAsString(UnionType $node): string
|
||||
{
|
||||
if ($type instanceof UnionType) {
|
||||
$separator = '|';
|
||||
} else {
|
||||
$separator = '&';
|
||||
}
|
||||
|
||||
$types = [];
|
||||
|
||||
foreach ($type->types as $_type) {
|
||||
if ($_type instanceof Name) {
|
||||
$types[] = $_type->toCodeString();
|
||||
} else {
|
||||
assert($_type instanceof Identifier);
|
||||
foreach ($node->types as $type) {
|
||||
if ($type instanceof IntersectionType) {
|
||||
$types[] = '(' . $this->intersectionTypeAsString($type) . ')';
|
||||
|
||||
$types[] = $_type->toString();
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
return implode($separator, $types);
|
||||
$types[] = $this->typeAsString($type);
|
||||
}
|
||||
|
||||
return implode('|', $types);
|
||||
}
|
||||
|
||||
private function intersectionTypeAsString(IntersectionType $node): string
|
||||
{
|
||||
$types = [];
|
||||
|
||||
foreach ($node->types as $type) {
|
||||
$types[] = $this->typeAsString($type);
|
||||
}
|
||||
|
||||
return implode('&', $types);
|
||||
}
|
||||
|
||||
/**
|
||||
* @psalm-param Identifier|Name $node $node
|
||||
*/
|
||||
private function typeAsString(NodeAbstract $node): string
|
||||
{
|
||||
if ($node instanceof Name) {
|
||||
return $node->toCodeString();
|
||||
}
|
||||
|
||||
return $node->toString();
|
||||
}
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ final class Version
|
||||
public static function id(): string
|
||||
{
|
||||
if (self::$version === null) {
|
||||
self::$version = (new VersionId('9.2.24', dirname(__DIR__)))->getVersion();
|
||||
self::$version = (new VersionId('9.2.25', dirname(__DIR__)))->getVersion();
|
||||
}
|
||||
|
||||
return self::$version;
|
||||
|
7
vendor/phpunit/phpunit/ChangeLog-8.5.md
vendored
7
vendor/phpunit/phpunit/ChangeLog-8.5.md
vendored
@ -2,6 +2,12 @@
|
||||
|
||||
All notable changes of the PHPUnit 8.5 release series are documented in this file using the [Keep a CHANGELOG](https://keepachangelog.com/) principles.
|
||||
|
||||
## [8.5.33] - 2023-02-27
|
||||
|
||||
### Fixed
|
||||
|
||||
* [#5186](https://github.com/sebastianbergmann/phpunit/issues/5186): SBOM does not validate
|
||||
|
||||
## [8.5.32] - 2023-01-26
|
||||
|
||||
### Fixed
|
||||
@ -262,6 +268,7 @@ All notable changes of the PHPUnit 8.5 release series are documented in this fil
|
||||
* [#3967](https://github.com/sebastianbergmann/phpunit/issues/3967): Cannot double interface that extends interface that extends `\Throwable`
|
||||
* [#3968](https://github.com/sebastianbergmann/phpunit/pull/3968): Test class run in a separate PHP process are passing when `exit` called inside
|
||||
|
||||
[8.5.33]: https://github.com/sebastianbergmann/phpunit/compare/8.5.32...8.5.33
|
||||
[8.5.32]: https://github.com/sebastianbergmann/phpunit/compare/8.5.31...8.5.32
|
||||
[8.5.31]: https://github.com/sebastianbergmann/phpunit/compare/8.5.30...8.5.31
|
||||
[8.5.30]: https://github.com/sebastianbergmann/phpunit/compare/8.5.29...8.5.30
|
||||
|
9
vendor/phpunit/phpunit/ChangeLog-9.6.md
vendored
9
vendor/phpunit/phpunit/ChangeLog-9.6.md
vendored
@ -2,6 +2,12 @@
|
||||
|
||||
All notable changes of the PHPUnit 9.6 release series are documented in this file using the [Keep a CHANGELOG](https://keepachangelog.com/) principles.
|
||||
|
||||
## [9.6.4] - 2023-02-27
|
||||
|
||||
### Fixed
|
||||
|
||||
* [#5186](https://github.com/sebastianbergmann/phpunit/issues/5186): SBOM does not validate
|
||||
|
||||
## [9.6.3] - 2023-02-04
|
||||
|
||||
### Fixed
|
||||
@ -19,7 +25,7 @@ All notable changes of the PHPUnit 9.6 release series are documented in this fil
|
||||
### Fixed
|
||||
|
||||
* [#5073](https://github.com/sebastianbergmann/phpunit/issues/5073): `--no-extensions` CLI option only prevents extension PHARs from being loaded
|
||||
* [#5160](https://github.com/sebastianbergmann/phpunit/issues/5160): PHPUnit 9.6 misses deprecations for assertions and constraints removed in PHPUnit 10
|
||||
* [#5160](https://github.com/sebastianbergmann/phpunit/issues/5160): Deprecate `assertClassHasAttribute()`, `assertClassNotHasAttribute()`, `assertClassHasStaticAttribute()`, `assertClassNotHasStaticAttribute()`, `assertObjectHasAttribute()`, `assertObjectNotHasAttribute()`, `classHasAttribute()`, `classHasStaticAttribute()`, and `objectHasAttribute()`
|
||||
|
||||
## [9.6.0] - 2023-02-03
|
||||
|
||||
@ -30,6 +36,7 @@ All notable changes of the PHPUnit 9.6 release series are documented in this fil
|
||||
* [#5064](https://github.com/sebastianbergmann/phpunit/issues/5064): Deprecate `PHPUnit\Framework\TestCase::getMockClass()`
|
||||
* [#5132](https://github.com/sebastianbergmann/phpunit/issues/5132): Deprecate `Test` suffix for abstract test case classes
|
||||
|
||||
[9.6.4]: https://github.com/sebastianbergmann/phpunit/compare/9.6.3...9.6.4
|
||||
[9.6.3]: https://github.com/sebastianbergmann/phpunit/compare/9.6.2...9.6.3
|
||||
[9.6.2]: https://github.com/sebastianbergmann/phpunit/compare/9.6.1...9.6.2
|
||||
[9.6.1]: https://github.com/sebastianbergmann/phpunit/compare/9.6.0...9.6.1
|
||||
|
28
vendor/phpunit/phpunit/SECURITY.md
vendored
28
vendor/phpunit/phpunit/SECURITY.md
vendored
@ -1,11 +1,33 @@
|
||||
# Security Policy
|
||||
|
||||
PHPUnit is a framework for writing as well as a commandline tool for running tests. Writing and running tests is a development-time activity. There is no reason why PHPUnit should be installed on a webserver.
|
||||
If you believe you have found a security vulnerability in PHPUnit, please report it to us through coordinated disclosure.
|
||||
|
||||
**Please do not report security vulnerabilities through public GitHub issues, discussions, or pull requests.**
|
||||
|
||||
Instead, please email `sebastian@phpunit.de`.
|
||||
|
||||
Please include as much of the information listed below as you can to help us better understand and resolve the issue:
|
||||
|
||||
* The type of issue
|
||||
* Full paths of source file(s) related to the manifestation of the issue
|
||||
* The location of the affected source code (tag/branch/commit or direct URL)
|
||||
* Any special configuration required to reproduce the issue
|
||||
* Step-by-step instructions to reproduce the issue
|
||||
* Proof-of-concept or exploit code (if possible)
|
||||
* Impact of the issue, including how an attacker might exploit the issue
|
||||
|
||||
This information will help us triage your report more quickly.
|
||||
|
||||
## Web Context
|
||||
|
||||
PHPUnit is a framework for writing as well as a command-line tool for running tests. Writing and running tests is a development-time activity. There is no reason why PHPUnit should be installed on a webserver and/or in a production environment.
|
||||
|
||||
**If you upload PHPUnit to a webserver then your deployment process is broken. On a more general note, if your `vendor` directory is publicly accessible on your webserver then your deployment process is also broken.**
|
||||
|
||||
Please note that if you upload PHPUnit to a webserver "bad things" may happen. [You have been warned.](https://thephp.cc/articles/phpunit-a-security-risk)
|
||||
|
||||
## Security Contact Information
|
||||
PHPUnit is developed with a focus on development environments and the command-line. No specific testing or hardening with regard to using PHPUnit in an HTTP or web context or with untrusted input data is performed. PHPUnit might also contain functionality that intentionally exposes internal application data for debugging purposes.
|
||||
|
||||
After the above, if you still would like to report a security vulnerability, please email `sebastian@phpunit.de`.
|
||||
If PHPUnit is used in a web application, the application developer is responsible for filtering inputs or escaping outputs as necessary and for verifying that the used functionality is safe for use within the intended context.
|
||||
|
||||
Vulnerabilities specific to the use outside a development context will be fixed as applicable, provided that the fix does not have an averse effect on the primary use case for development purposes.
|
||||
|
@ -41,7 +41,7 @@ final class Version
|
||||
}
|
||||
|
||||
if (self::$version === '') {
|
||||
self::$version = (new VersionId('9.6.3', dirname(__DIR__, 2)))->getVersion();
|
||||
self::$version = (new VersionId('9.6.4', dirname(__DIR__, 2)))->getVersion();
|
||||
}
|
||||
|
||||
return self::$version;
|
||||
|
2
vendor/psr/simple-cache/composer.json
vendored
2
vendor/psr/simple-cache/composer.json
vendored
@ -19,7 +19,7 @@
|
||||
},
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "2.0.x-dev"
|
||||
"dev-master": "3.0.x-dev"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
16
vendor/psr/simple-cache/src/CacheInterface.php
vendored
16
vendor/psr/simple-cache/src/CacheInterface.php
vendored
@ -15,7 +15,7 @@ interface CacheInterface
|
||||
* @throws \Psr\SimpleCache\InvalidArgumentException
|
||||
* MUST be thrown if the $key string is not a legal value.
|
||||
*/
|
||||
public function get(string $key, mixed $default = null);
|
||||
public function get(string $key, mixed $default = null): mixed;
|
||||
|
||||
/**
|
||||
* Persists data in the cache, uniquely referenced by a key with an optional expiration TTL time.
|
||||
@ -31,7 +31,7 @@ interface CacheInterface
|
||||
* @throws \Psr\SimpleCache\InvalidArgumentException
|
||||
* MUST be thrown if the $key string is not a legal value.
|
||||
*/
|
||||
public function set(string $key, mixed $value, null|int|\DateInterval $ttl = null);
|
||||
public function set(string $key, mixed $value, null|int|\DateInterval $ttl = null): bool;
|
||||
|
||||
/**
|
||||
* Delete an item from the cache by its unique key.
|
||||
@ -43,14 +43,14 @@ interface CacheInterface
|
||||
* @throws \Psr\SimpleCache\InvalidArgumentException
|
||||
* MUST be thrown if the $key string is not a legal value.
|
||||
*/
|
||||
public function delete(string $key);
|
||||
public function delete(string $key): bool;
|
||||
|
||||
/**
|
||||
* Wipes clean the entire cache's keys.
|
||||
*
|
||||
* @return bool True on success and false on failure.
|
||||
*/
|
||||
public function clear();
|
||||
public function clear(): bool;
|
||||
|
||||
/**
|
||||
* Obtains multiple cache items by their unique keys.
|
||||
@ -64,7 +64,7 @@ interface CacheInterface
|
||||
* MUST be thrown if $keys is neither an array nor a Traversable,
|
||||
* or if any of the $keys are not a legal value.
|
||||
*/
|
||||
public function getMultiple(iterable $keys, mixed $default = null);
|
||||
public function getMultiple(iterable $keys, mixed $default = null): iterable;
|
||||
|
||||
/**
|
||||
* Persists a set of key => value pairs in the cache, with an optional TTL.
|
||||
@ -80,7 +80,7 @@ interface CacheInterface
|
||||
* MUST be thrown if $values is neither an array nor a Traversable,
|
||||
* or if any of the $values are not a legal value.
|
||||
*/
|
||||
public function setMultiple(iterable $values, null|int|\DateInterval $ttl = null);
|
||||
public function setMultiple(iterable $values, null|int|\DateInterval $ttl = null): bool;
|
||||
|
||||
/**
|
||||
* Deletes multiple cache items in a single operation.
|
||||
@ -93,7 +93,7 @@ interface CacheInterface
|
||||
* MUST be thrown if $keys is neither an array nor a Traversable,
|
||||
* or if any of the $keys are not a legal value.
|
||||
*/
|
||||
public function deleteMultiple(iterable $keys);
|
||||
public function deleteMultiple(iterable $keys): bool;
|
||||
|
||||
/**
|
||||
* Determines whether an item is present in the cache.
|
||||
@ -110,5 +110,5 @@ interface CacheInterface
|
||||
* @throws \Psr\SimpleCache\InvalidArgumentException
|
||||
* MUST be thrown if the $key string is not a legal value.
|
||||
*/
|
||||
public function has(string $key);
|
||||
public function has(string $key): bool;
|
||||
}
|
||||
|
40
vendor/spatie/backtrace/.php-cs-fixer.dist.php
vendored
40
vendor/spatie/backtrace/.php-cs-fixer.dist.php
vendored
@ -1,40 +0,0 @@
|
||||
<?php
|
||||
|
||||
$finder = Symfony\Component\Finder\Finder::create()
|
||||
->in([
|
||||
__DIR__ . '/src',
|
||||
__DIR__ . '/tests',
|
||||
])
|
||||
->name('*.php')
|
||||
->notName('*.blade.php')
|
||||
->ignoreDotFiles(true)
|
||||
->ignoreVCS(true);
|
||||
|
||||
return (new PhpCsFixer\Config())
|
||||
->setRules([
|
||||
'@PSR2' => true,
|
||||
'array_syntax' => ['syntax' => 'short'],
|
||||
'ordered_imports' => ['sort_algorithm' => 'alpha'],
|
||||
'no_unused_imports' => true,
|
||||
'not_operator_with_successor_space' => true,
|
||||
'trailing_comma_in_multiline' => true,
|
||||
'phpdoc_scalar' => true,
|
||||
'unary_operator_spaces' => true,
|
||||
'binary_operator_spaces' => true,
|
||||
'blank_line_before_statement' => [
|
||||
'statements' => ['break', 'continue', 'declare', 'return', 'throw', 'try'],
|
||||
],
|
||||
'phpdoc_single_line_var_spacing' => true,
|
||||
'phpdoc_var_without_name' => true,
|
||||
'class_attributes_separation' => [
|
||||
'elements' => [
|
||||
'method' => 'one',
|
||||
],
|
||||
],
|
||||
'method_argument_space' => [
|
||||
'on_multiline' => 'ensure_fully_multiline',
|
||||
'keep_multiple_spaces_after_comma' => true,
|
||||
],
|
||||
'single_trait_insert_per_statement' => true,
|
||||
])
|
||||
->setFinder($finder);
|
23
vendor/spatie/backtrace/CHANGELOG.md
vendored
23
vendor/spatie/backtrace/CHANGELOG.md
vendored
@ -1,23 +0,0 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to `backtrace` will be documented in this file
|
||||
|
||||
## 1.2.1 - 2021-11-09
|
||||
|
||||
- Add a return typehint (#4)
|
||||
|
||||
## 1.2.0 - 2021-05-19
|
||||
|
||||
- add `firstApplicationFrameIndex`
|
||||
|
||||
## 1.1.0 - 2021-01-29
|
||||
|
||||
- add `snippetProperties`
|
||||
|
||||
## 1.0.1 - 2021-01-27
|
||||
|
||||
- add support for PHP 7.3
|
||||
|
||||
## 1.0.0 - 2020-11-24
|
||||
|
||||
- initial release
|
7
vendor/spatie/backtrace/README.md
vendored
7
vendor/spatie/backtrace/README.md
vendored
@ -1,3 +1,6 @@
|
||||
|
||||
[<img src="https://github-ads.s3.eu-central-1.amazonaws.com/support-ukraine.svg?t=1" />](https://supportukrainenow.org)
|
||||
|
||||
# A better PHP backtrace
|
||||
|
||||
[![Latest Version on Packagist](https://img.shields.io/packagist/v/spatie/backtrace.svg?style=flat-square)](https://packagist.org/packages/spatie/backtrace)
|
||||
@ -101,7 +104,7 @@ $frames = Backtrace::create()
|
||||
|
||||
With this code, all frames before the frame that concerns `MyClass` will have been filtered out.
|
||||
|
||||
Alternatively, you can use the `offSet` method, which will skip the given number of frames. In this example the first 2 frames will not end up in `$frames`.
|
||||
Alternatively, you can use the `offset` method, which will skip the given number of frames. In this example the first 2 frames will not end up in `$frames`.
|
||||
|
||||
```php
|
||||
$frames = Spatie\Backtrace\Backtrace::create()
|
||||
@ -141,7 +144,7 @@ Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed re
|
||||
|
||||
## Contributing
|
||||
|
||||
Please see [CONTRIBUTING](.github/CONTRIBUTING.md) for details.
|
||||
Please see [CONTRIBUTING](https://github.com/spatie/.github/blob/main/CONTRIBUTING.md) for details.
|
||||
|
||||
## Security Vulnerabilities
|
||||
|
||||
|
2
vendor/spatie/backtrace/src/Backtrace.php
vendored
2
vendor/spatie/backtrace/src/Backtrace.php
vendored
@ -61,7 +61,7 @@ class Backtrace
|
||||
|
||||
public function applicationPath(string $applicationPath): self
|
||||
{
|
||||
$this->applicationPath = $applicationPath;
|
||||
$this->applicationPath = rtrim($applicationPath, '/');
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
6
vendor/spiral/core/composer.json
vendored
6
vendor/spiral/core/composer.json
vendored
@ -31,9 +31,9 @@
|
||||
"psr/container": "^1.1|^2.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^9.5.20",
|
||||
"mockery/mockery": "^1.5",
|
||||
"vimeo/psalm": "^4.27"
|
||||
"phpunit/phpunit": "^9.5.20",
|
||||
"vimeo/psalm": "^5.6"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
@ -47,7 +47,7 @@
|
||||
},
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "3.5.x-dev"
|
||||
"dev-master": "3.7.x-dev"
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
|
3
vendor/spiral/core/psalm.xml
vendored
3
vendor/spiral/core/psalm.xml
vendored
@ -3,7 +3,6 @@
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns="https://getpsalm.org/schema/config"
|
||||
xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd"
|
||||
|
||||
errorLevel="4"
|
||||
hoistConstants="true"
|
||||
resolveFromConfigFile="true"
|
||||
@ -11,6 +10,8 @@
|
||||
findUnusedVariablesAndParams="true"
|
||||
ensureArrayStringOffsetsExist="true"
|
||||
addParamDefaultToDocblockType="true"
|
||||
findUnusedBaselineEntry="true"
|
||||
findUnusedCode="false"
|
||||
>
|
||||
<projectFiles>
|
||||
<directory name="src" />
|
||||
|
19
vendor/spiral/core/src/Attribute/Finalize.php
vendored
Normal file
19
vendor/spiral/core/src/Attribute/Finalize.php
vendored
Normal file
@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Spiral\Core\Attribute;
|
||||
|
||||
/**
|
||||
* Define a finalize method for the class.
|
||||
*
|
||||
* @internal We are testing this feature, it may be changed in the future.
|
||||
*/
|
||||
#[\Attribute(\Attribute::TARGET_CLASS)]
|
||||
final class Finalize
|
||||
{
|
||||
public function __construct(
|
||||
public string $method,
|
||||
) {
|
||||
}
|
||||
}
|
19
vendor/spiral/core/src/Attribute/Scope.php
vendored
Normal file
19
vendor/spiral/core/src/Attribute/Scope.php
vendored
Normal file
@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Spiral\Core\Attribute;
|
||||
|
||||
/**
|
||||
* Set a scope in which the dependency can be resolved.
|
||||
*
|
||||
* @internal We are testing this feature, it may be changed in the future.
|
||||
*/
|
||||
#[\Attribute(\Attribute::TARGET_CLASS)]
|
||||
final class Scope
|
||||
{
|
||||
public function __construct(
|
||||
public string $name,
|
||||
) {
|
||||
}
|
||||
}
|
13
vendor/spiral/core/src/Attribute/Singleton.php
vendored
Normal file
13
vendor/spiral/core/src/Attribute/Singleton.php
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Spiral\Core\Attribute;
|
||||
|
||||
/**
|
||||
* Mark class as singleton.
|
||||
*/
|
||||
#[\Attribute(\Attribute::TARGET_CLASS)]
|
||||
final class Singleton
|
||||
{
|
||||
}
|
9
vendor/spiral/core/src/BinderInterface.php
vendored
9
vendor/spiral/core/src/BinderInterface.php
vendored
@ -18,7 +18,7 @@ interface BinderInterface
|
||||
* every method call), function array or Closure (executed every call). Only object resolvers
|
||||
* supported by this method.
|
||||
*
|
||||
* @psalm-param TResolver $resolver
|
||||
* @param TResolver $resolver
|
||||
*/
|
||||
public function bind(string $alias, string|array|callable|object $resolver): void;
|
||||
|
||||
@ -41,17 +41,22 @@ interface BinderInterface
|
||||
/**
|
||||
* Bind class or class interface to the injector source (InjectorInterface).
|
||||
*
|
||||
* @template TClass
|
||||
* @template TClass of object
|
||||
*
|
||||
* @param class-string<TClass> $class
|
||||
* @param class-string<InjectorInterface<TClass>> $injector
|
||||
*/
|
||||
public function bindInjector(string $class, string $injector): void;
|
||||
|
||||
/**
|
||||
* @param class-string $class
|
||||
*/
|
||||
public function removeInjector(string $class): void;
|
||||
|
||||
/**
|
||||
* Check if class points to injector.
|
||||
*
|
||||
* @param class-string $class
|
||||
*/
|
||||
public function hasInjector(string $class): bool;
|
||||
}
|
||||
|
31
vendor/spiral/core/src/Config.php
vendored
31
vendor/spiral/core/src/Config.php
vendored
@ -7,22 +7,32 @@ namespace Spiral\Core;
|
||||
use IteratorAggregate;
|
||||
use Psr\Container\ContainerInterface;
|
||||
use Spiral\Core\Internal\Binder;
|
||||
use Spiral\Core\Internal\Container;
|
||||
use Spiral\Core\Internal\Factory;
|
||||
use Spiral\Core\Internal\Invoker;
|
||||
use Spiral\Core\Internal\Resolver;
|
||||
use Spiral\Core\Internal\Scope;
|
||||
use Spiral\Core\Internal\State;
|
||||
use Spiral\Core\Internal\Container;
|
||||
use Spiral\Core\Internal\Tracer;
|
||||
use Traversable;
|
||||
|
||||
/**
|
||||
* Container configuration that will be used not only in the root container but also in all child containers.
|
||||
* The {@see self::$scopedBindings} property is internal and common for all containers.
|
||||
* By the reason you can access to bindings for any scope from any container.
|
||||
*
|
||||
* @implements IteratorAggregate<
|
||||
* non-empty-string,
|
||||
* class-string<State>|class-string<ResolverInterface>|class-string<FactoryInterface>|class-string<ContainerInterface>|class-string<BinderInterface>|class-string<InvokerInterface>|class-string<Tracer>
|
||||
* class-string<State>|class-string<ResolverInterface>|class-string<FactoryInterface>|class-string<ContainerInterface>|class-string<BinderInterface>|class-string<InvokerInterface>|class-string<Tracer>|class-string<Scope>
|
||||
* >
|
||||
*/
|
||||
class Config implements IteratorAggregate
|
||||
{
|
||||
/** @var class-string<Scope> */
|
||||
public readonly string $scope;
|
||||
public readonly Internal\Config\StateStorage $scopedBindings;
|
||||
private bool $rootLocked = true;
|
||||
|
||||
/**
|
||||
* @param class-string<State> $state
|
||||
* @param class-string<ResolverInterface> $resolver
|
||||
@ -41,6 +51,8 @@ class Config implements IteratorAggregate
|
||||
public readonly string $invoker = Invoker::class,
|
||||
public readonly string $tracer = Tracer::class,
|
||||
) {
|
||||
$this->scope = Scope::class;
|
||||
$this->scopedBindings = new Internal\Config\StateStorage();
|
||||
}
|
||||
|
||||
public function getIterator(): Traversable
|
||||
@ -52,5 +64,20 @@ class Config implements IteratorAggregate
|
||||
yield 'binder' => $this->binder;
|
||||
yield 'invoker' => $this->invoker;
|
||||
yield 'tracer' => $this->tracer;
|
||||
yield 'scope' => $this->scope;
|
||||
}
|
||||
|
||||
/**
|
||||
* Mutex lock for root container.
|
||||
* First run of the method will return {@see true}, all subsequent calls will return {@see false}.
|
||||
* The parent container must call the method once and before any child container.
|
||||
*/
|
||||
public function lockRoot(): bool
|
||||
{
|
||||
try {
|
||||
return $this->rootLocked;
|
||||
} finally {
|
||||
$this->rootLocked = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
3
vendor/spiral/core/src/ConfigsInterface.php
vendored
3
vendor/spiral/core/src/ConfigsInterface.php
vendored
@ -10,6 +10,9 @@ use Spiral\Core\Exception\ConfiguratorException;
|
||||
/**
|
||||
* Provides array based configuration for specified config section. In addition configurator
|
||||
* interface is responsible for contextual config injections.
|
||||
*
|
||||
* @template TClass of object
|
||||
* @extends InjectorInterface<TClass>
|
||||
*/
|
||||
interface ConfigsInterface extends InjectorInterface
|
||||
{
|
||||
|
168
vendor/spiral/core/src/Container.php
vendored
168
vendor/spiral/core/src/Container.php
vendored
@ -11,7 +11,10 @@ use Spiral\Core\Container\InjectableInterface;
|
||||
use Spiral\Core\Container\SingletonInterface;
|
||||
use Spiral\Core\Exception\Container\ContainerException;
|
||||
use Spiral\Core\Exception\LogicException;
|
||||
use Spiral\Core\Internal\DestructorTrait;
|
||||
use Spiral\Core\Exception\Scope\FinalizersException;
|
||||
use Spiral\Core\Exception\Scope\ScopeContainerLeakedException;
|
||||
use Spiral\Core\Internal\Common\DestructorTrait;
|
||||
use Spiral\Core\Internal\Config\StateBinder;
|
||||
|
||||
/**
|
||||
* Auto-wiring container: declarative singletons, contextual injections, parent container
|
||||
@ -24,8 +27,6 @@ use Spiral\Core\Internal\DestructorTrait;
|
||||
*
|
||||
* You can use injectors to delegate class resolution to external container.
|
||||
*
|
||||
* @see \Spiral\Core\Container::registerInstance() to add your own behaviours.
|
||||
*
|
||||
* @see InjectableInterface
|
||||
* @see SingletonInterface
|
||||
*
|
||||
@ -43,29 +44,28 @@ final class Container implements
|
||||
{
|
||||
use DestructorTrait;
|
||||
|
||||
public const DEFAULT_ROOT_SCOPE_NAME = 'root';
|
||||
|
||||
private Internal\State $state;
|
||||
private ResolverInterface|Internal\Resolver $resolver;
|
||||
private FactoryInterface|Internal\Factory $factory;
|
||||
private ContainerInterface|Internal\Container $container;
|
||||
private BinderInterface|Internal\Binder $binder;
|
||||
private InvokerInterface|Internal\Invoker $invoker;
|
||||
private Internal\Scope $scope;
|
||||
|
||||
/**
|
||||
* Container constructor.
|
||||
*/
|
||||
public function __construct(Config $config = new Config())
|
||||
{
|
||||
$constructor = new Internal\Registry($config, [
|
||||
'state' => new Internal\State(),
|
||||
]);
|
||||
foreach ($config as $property => $class) {
|
||||
if (\property_exists($this, $property)) {
|
||||
$this->$property = $constructor->get($property, $class);
|
||||
}
|
||||
}
|
||||
public function __construct(
|
||||
private Config $config = new Config(),
|
||||
?string $scopeName = self::DEFAULT_ROOT_SCOPE_NAME,
|
||||
) {
|
||||
$this->initServices($this, $scopeName);
|
||||
|
||||
// Bind himself
|
||||
/** @psalm-suppress PossiblyNullPropertyAssignment */
|
||||
$this->state->bindings = [
|
||||
$this->state->bindings = \array_merge($this->state->bindings, [
|
||||
self::class => \WeakReference::create($this),
|
||||
ContainerInterface::class => self::class,
|
||||
BinderInterface::class => self::class,
|
||||
@ -73,12 +73,12 @@ final class Container implements
|
||||
ScopeInterface::class => self::class,
|
||||
ResolverInterface::class => self::class,
|
||||
InvokerInterface::class => self::class,
|
||||
];
|
||||
]);
|
||||
}
|
||||
|
||||
public function __destruct()
|
||||
{
|
||||
$this->destruct();
|
||||
$this->closeScope();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -123,13 +123,12 @@ final class Container implements
|
||||
* @param class-string<T>|string|Autowire $id
|
||||
* @param string|null $context Call context.
|
||||
*
|
||||
* @return T
|
||||
* @psalm-return ($id is class-string ? T : mixed)
|
||||
* @return ($id is class-string ? T : mixed)
|
||||
*
|
||||
* @throws ContainerException
|
||||
* @throws \Throwable
|
||||
*
|
||||
* @psalm-suppress PossiblyInvalidArgument, PossiblyInvalidCast
|
||||
* @psalm-suppress InvalidArgument, InvalidCast
|
||||
*/
|
||||
public function get(string|Autowire $id, string $context = null): mixed
|
||||
{
|
||||
@ -141,6 +140,20 @@ final class Container implements
|
||||
return $this->container->has($id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Make a Binder proxy to configure default bindings for a specific scope.
|
||||
* Default bindings won't affect already created Container instances except the case with the root one.
|
||||
*
|
||||
* @internal We are testing this feature, it may be changed in the future.
|
||||
*/
|
||||
public function getBinder(string $scope): BinderInterface
|
||||
{
|
||||
return new StateBinder($this->config->scopedBindings->getState($scope));
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated use {@see scope()} instead.
|
||||
*/
|
||||
public function runScope(array $bindings, callable $scope): mixed
|
||||
{
|
||||
$binds = &$this->state->bindings;
|
||||
@ -170,6 +183,56 @@ final class Container implements
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @template TReturn
|
||||
*
|
||||
* @param callable(mixed ...$params): TReturn $closure
|
||||
* @param array<non-empty-string, TResolver> $bindings Custom bindings for the new scope.
|
||||
* @param null|string $name Scope name. Named scopes can have individual bindings and constrains.
|
||||
* @param bool $autowire If {@see false}, closure will be invoked with just only the passed Container as an
|
||||
* argument. Otherwise, {@see InvokerInterface::invoke()} will be used to invoke the closure.
|
||||
*
|
||||
* @return TReturn
|
||||
* @throws \Throwable
|
||||
*
|
||||
* @internal We are testing this feature, it may be changed in the future.
|
||||
*/
|
||||
public function scope(callable $closure, array $bindings = [], ?string $name = null, bool $autowire = true): mixed
|
||||
{
|
||||
// Open scope
|
||||
$container = new self($this->config, $name);
|
||||
|
||||
try {
|
||||
// Configure scope
|
||||
$container->scope->setParent($this, $this->scope);
|
||||
|
||||
// Add specific bindings
|
||||
foreach ($bindings as $alias => $resolver) {
|
||||
$container->binder->bind($alias, $resolver);
|
||||
}
|
||||
|
||||
return ContainerScope::runScope(
|
||||
$container,
|
||||
static function (self $container) use ($autowire, $closure): mixed {
|
||||
try {
|
||||
return $autowire
|
||||
? $container->invoke($closure)
|
||||
: $closure($container);
|
||||
} finally {
|
||||
$container->closeScope();
|
||||
}
|
||||
}
|
||||
);
|
||||
} finally {
|
||||
// Check the container has not been leaked
|
||||
$link = \WeakReference::create($container);
|
||||
unset($container);
|
||||
if ($link->get() !== null) {
|
||||
throw new ScopeContainerLeakedException($name, $this->scope->getParentScopeNames());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Bind value resolver to container alias. Resolver can be class name (will be constructed
|
||||
* for each method call), function array or Closure (executed every call). Only object resolvers
|
||||
@ -214,6 +277,9 @@ final class Container implements
|
||||
|
||||
/**
|
||||
* Bind class or class interface to the injector source (InjectorInterface).
|
||||
*
|
||||
* Todo: remove suppression after {@link https://github.com/vimeo/psalm/issues/8298} fixing.
|
||||
* @psalm-suppress InvalidArgument,InvalidCast
|
||||
*/
|
||||
public function bindInjector(string $class, string $injector): void
|
||||
{
|
||||
@ -229,4 +295,68 @@ final class Container implements
|
||||
{
|
||||
return $this->binder->hasInjector($class);
|
||||
}
|
||||
|
||||
/**
|
||||
* Init internal container services.
|
||||
*/
|
||||
private function initServices(
|
||||
self $container,
|
||||
?string $scopeName,
|
||||
): void {
|
||||
$isRoot = $container->config->lockRoot();
|
||||
|
||||
// Get named scope or create anonymous one
|
||||
$state = match (true) {
|
||||
$scopeName === null => new Internal\State(),
|
||||
// Only root container can make default bindings directly
|
||||
$isRoot => $container->config->scopedBindings->getState($scopeName),
|
||||
default => clone $container->config->scopedBindings->getState($scopeName),
|
||||
};
|
||||
|
||||
$constructor = new Internal\Common\Registry($container->config, [
|
||||
'state' => $state,
|
||||
'scope' => new Internal\Scope($scopeName),
|
||||
]);
|
||||
|
||||
// Create container services
|
||||
foreach ($container->config as $property => $class) {
|
||||
if (\property_exists($container, $property)) {
|
||||
$container->$property = $constructor->get($property, $class);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute finalizers and destruct the container.
|
||||
*
|
||||
* @throws FinalizersException
|
||||
*/
|
||||
private function closeScope(): void
|
||||
{
|
||||
/** @psalm-suppress RedundantPropertyInitializationCheck */
|
||||
if (!isset($this->scope)) {
|
||||
$this->destruct();
|
||||
return;
|
||||
}
|
||||
|
||||
$scopeName = $this->scope->getScopeName();
|
||||
|
||||
// Run finalizers
|
||||
$errors = [];
|
||||
foreach ($this->state->finalizers as $finalizer) {
|
||||
try {
|
||||
$this->invoker->invoke($finalizer);
|
||||
} catch (\Throwable $e) {
|
||||
$errors[] = $e;
|
||||
}
|
||||
}
|
||||
|
||||
// Destroy the container
|
||||
$this->destruct();
|
||||
|
||||
// Throw collected errors
|
||||
if ($errors !== []) {
|
||||
throw new FinalizersException($scopeName, $errors);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -8,7 +8,7 @@ namespace Spiral\Core\Container;
|
||||
* Must define constant INJECTOR pointing to associated injector class or binding.
|
||||
*
|
||||
* Attention, this abstraction is currently under re-thinking process in order to replace it with
|
||||
* binded context-specific factory (non breaking change).
|
||||
* bound context-specific factory (non breaking change).
|
||||
*/
|
||||
interface InjectableInterface
|
||||
{
|
||||
|
14
vendor/spiral/core/src/ContainerScope.php
vendored
14
vendor/spiral/core/src/ContainerScope.php
vendored
@ -4,6 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace Spiral\Core;
|
||||
|
||||
use Fiber;
|
||||
use Psr\Container\ContainerInterface;
|
||||
use Throwable;
|
||||
|
||||
@ -34,7 +35,20 @@ final class ContainerScope
|
||||
[$previous, self::$container] = [self::$container, $container];
|
||||
|
||||
try {
|
||||
if (Fiber::getCurrent() === null) {
|
||||
return $scope(self::$container);
|
||||
}
|
||||
|
||||
// Wrap scope into fiber
|
||||
$fiber = new Fiber(static fn () => $scope(self::$container));
|
||||
$value = $fiber->start();
|
||||
while (!$fiber->isTerminated()) {
|
||||
self::$container = $previous;
|
||||
$resume = Fiber::suspend($value);
|
||||
self::$container = $container;
|
||||
$value = $fiber->resume($resume);
|
||||
}
|
||||
return $fiber->getReturn();
|
||||
} finally {
|
||||
self::$container = $previous;
|
||||
}
|
||||
|
21
vendor/spiral/core/src/Exception/Scope/BadScopeException.php
vendored
Normal file
21
vendor/spiral/core/src/Exception/Scope/BadScopeException.php
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Spiral\Core\Exception\Scope;
|
||||
|
||||
/**
|
||||
* @method string getScope()
|
||||
*/
|
||||
final class BadScopeException extends ScopeException
|
||||
{
|
||||
public function __construct(
|
||||
string $scope,
|
||||
protected string $className,
|
||||
) {
|
||||
parent::__construct(
|
||||
$scope,
|
||||
\sprintf('Class `%s` can be resolved only in `%s` scope.', $className, $scope),
|
||||
);
|
||||
}
|
||||
}
|
45
vendor/spiral/core/src/Exception/Scope/FinalizersException.php
vendored
Normal file
45
vendor/spiral/core/src/Exception/Scope/FinalizersException.php
vendored
Normal file
@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Spiral\Core\Exception\Scope;
|
||||
|
||||
use Exception;
|
||||
use Throwable;
|
||||
|
||||
final class FinalizersException extends ScopeException
|
||||
{
|
||||
/**
|
||||
* @param Throwable[] $exceptions
|
||||
*/
|
||||
public function __construct(
|
||||
?string $scope,
|
||||
protected array $exceptions,
|
||||
) {
|
||||
$count = \count($exceptions);
|
||||
parent::__construct(
|
||||
$scope,
|
||||
\sprintf(
|
||||
"%s thrown during finalization of %s:\n%s",
|
||||
$count === 1 ? 'An exception has been' : "$count exceptions have been",
|
||||
$scope === null ? 'an unnamed scope' : "the scope `$scope`",
|
||||
\implode("\n\n", \array_map(
|
||||
static fn (Exception $e): string => \sprintf(
|
||||
"# %s\n%s",
|
||||
$e::class,
|
||||
$e->getMessage(),
|
||||
),
|
||||
$exceptions,
|
||||
)),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Throwable[]
|
||||
*/
|
||||
public function getExceptions(): array
|
||||
{
|
||||
return $this->exceptions;
|
||||
}
|
||||
}
|
20
vendor/spiral/core/src/Exception/Scope/NamedScopeDuplicationException.php
vendored
Normal file
20
vendor/spiral/core/src/Exception/Scope/NamedScopeDuplicationException.php
vendored
Normal file
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Spiral\Core\Exception\Scope;
|
||||
|
||||
/**
|
||||
* @method string getScope()
|
||||
*/
|
||||
final class NamedScopeDuplicationException extends ScopeException
|
||||
{
|
||||
public function __construct(
|
||||
string $scope,
|
||||
) {
|
||||
parent::__construct(
|
||||
$scope,
|
||||
"Error on a scope allocation with the name `{$scope}`. A scope with the same name already exists.",
|
||||
);
|
||||
}
|
||||
}
|
25
vendor/spiral/core/src/Exception/Scope/ScopeContainerLeakedException.php
vendored
Normal file
25
vendor/spiral/core/src/Exception/Scope/ScopeContainerLeakedException.php
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Spiral\Core\Exception\Scope;
|
||||
|
||||
final class ScopeContainerLeakedException extends ScopeException
|
||||
{
|
||||
/**
|
||||
* @param array<int<0, max>, string|null> $parents
|
||||
*/
|
||||
public function __construct(
|
||||
?string $scope,
|
||||
array $parents,
|
||||
) {
|
||||
$scopes = \implode('->', \array_map(
|
||||
static fn (?string $scope): string => $scope === null ? 'null' : "\"$scope\"",
|
||||
[...\array_reverse($parents), $scope],
|
||||
));
|
||||
parent::__construct(
|
||||
$scope,
|
||||
\sprintf('Scoped container has been leaked. Scope: %s.', $scopes),
|
||||
);
|
||||
}
|
||||
}
|
31
vendor/spiral/core/src/Exception/Scope/ScopeException.php
vendored
Normal file
31
vendor/spiral/core/src/Exception/Scope/ScopeException.php
vendored
Normal file
@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Spiral\Core\Exception\Scope;
|
||||
|
||||
use Spiral\Core\Exception\Container\ContainerException;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
abstract class ScopeException extends ContainerException
|
||||
{
|
||||
public function __construct(
|
||||
protected ?string $scope,
|
||||
string $message = '',
|
||||
int $code = 0,
|
||||
?\Throwable $previous = null,
|
||||
) {
|
||||
parent::__construct(
|
||||
$message,
|
||||
$code,
|
||||
$previous,
|
||||
);
|
||||
}
|
||||
|
||||
public function getScope(): ?string
|
||||
{
|
||||
return $this->scope;
|
||||
}
|
||||
}
|
5
vendor/spiral/core/src/InjectableConfig.php
vendored
5
vendor/spiral/core/src/InjectableConfig.php
vendored
@ -9,11 +9,14 @@ use Spiral\Core\Exception\ConfigException;
|
||||
|
||||
/**
|
||||
* Generic implementation of array based configuration.
|
||||
*
|
||||
* @implements \IteratorAggregate<array-key, mixed>
|
||||
* @implements \ArrayAccess<array-key, mixed>
|
||||
*/
|
||||
abstract class InjectableConfig implements InjectableInterface, \IteratorAggregate, \ArrayAccess
|
||||
{
|
||||
/**
|
||||
* @var class-string<\Spiral\Core\ConfigsInterface>
|
||||
* @var class-string<ConfigsInterface>
|
||||
*/
|
||||
public const INJECTOR = ConfigsInterface::class;
|
||||
|
||||
|
131
vendor/spiral/core/src/Internal/Binder.php
vendored
131
vendor/spiral/core/src/Internal/Binder.php
vendored
@ -5,152 +5,37 @@ declare(strict_types=1);
|
||||
namespace Spiral\Core\Internal;
|
||||
|
||||
use Psr\Container\ContainerInterface;
|
||||
use Spiral\Core\BinderInterface;
|
||||
use Spiral\Core\Container\Autowire;
|
||||
use Spiral\Core\Container\InjectableInterface;
|
||||
use Spiral\Core\Container\InjectorInterface;
|
||||
use Spiral\Core\Exception\Container\ContainerException;
|
||||
use Spiral\Core\Internal\Common\DestructorTrait;
|
||||
use Spiral\Core\Internal\Common\Registry;
|
||||
use Spiral\Core\Internal\Config\StateBinder;
|
||||
|
||||
/**
|
||||
* @psalm-type TResolver = class-string|non-empty-string|callable|array{class-string, non-empty-string}
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
final class Binder implements BinderInterface
|
||||
final class Binder extends StateBinder
|
||||
{
|
||||
use DestructorTrait;
|
||||
|
||||
private State $state;
|
||||
private ContainerInterface $container;
|
||||
|
||||
public function __construct(Registry $constructor)
|
||||
{
|
||||
$constructor->set('binder', $this);
|
||||
|
||||
$this->state = $constructor->get('state', State::class);
|
||||
$this->container = $constructor->get('container', ContainerInterface::class);
|
||||
parent::__construct($constructor->get('state', State::class));
|
||||
}
|
||||
|
||||
/**
|
||||
* Bind value resolver to container alias. Resolver can be class name (will be constructed
|
||||
* for each method call), function array or Closure (executed every call). Only object resolvers
|
||||
* supported by this method.
|
||||
*
|
||||
* @psalm-param TResolver|object $resolver
|
||||
*/
|
||||
public function bind(string $alias, string|array|callable|object $resolver): void
|
||||
{
|
||||
if (\is_array($resolver) || $resolver instanceof \Closure || $resolver instanceof Autowire) {
|
||||
// array means = execute me, false = not singleton
|
||||
$this->state->bindings[$alias] = [$resolver, false];
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$this->state->bindings[$alias] = $resolver;
|
||||
}
|
||||
|
||||
/**
|
||||
* Bind value resolver to container alias to be executed as cached. Resolver can be class name
|
||||
* (will be constructed only once), function array or Closure (executed only once call).
|
||||
*
|
||||
* @psalm-param TResolver|object $resolver
|
||||
*/
|
||||
public function bindSingleton(string $alias, string|array|callable|object $resolver): void
|
||||
{
|
||||
if (\is_object($resolver) && !$resolver instanceof \Closure && !$resolver instanceof Autowire) {
|
||||
// direct binding to an instance
|
||||
$this->state->bindings[$alias] = $resolver;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$this->state->bindings[$alias] = [$resolver, true];
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if alias points to constructed instance (singleton).
|
||||
*/
|
||||
public function hasInstance(string $alias): bool
|
||||
{
|
||||
if (!$this->container->has($alias)) {
|
||||
return false;
|
||||
}
|
||||
$bindings = &$this->state->bindings;
|
||||
|
||||
while (isset($bindings[$alias]) && \is_string($bindings[$alias])) {
|
||||
//Checking alias tree
|
||||
$alias = $bindings[$alias];
|
||||
return parent::hasInstance($alias);
|
||||
}
|
||||
|
||||
return isset($bindings[$alias]) && \is_object($bindings[$alias]);
|
||||
}
|
||||
|
||||
public function removeBinding(string $alias): void
|
||||
public function destruct(): void
|
||||
{
|
||||
unset($this->state->bindings[$alias]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Bind class or class interface to the injector source (InjectorInterface).
|
||||
*
|
||||
* @template TClass
|
||||
*
|
||||
* @param class-string<TClass> $class
|
||||
* @param class-string<InjectorInterface<TClass>> $injector
|
||||
*/
|
||||
public function bindInjector(string $class, string $injector): void
|
||||
{
|
||||
$this->state->injectors[$class] = $injector;
|
||||
}
|
||||
|
||||
public function removeInjector(string $class): void
|
||||
{
|
||||
unset($this->state->injectors[$class]);
|
||||
}
|
||||
|
||||
public function hasInjector(string $class): bool
|
||||
{
|
||||
try {
|
||||
$reflection = new \ReflectionClass($class);
|
||||
} catch (\ReflectionException $e) {
|
||||
throw new ContainerException($e->getMessage(), $e->getCode(), $e);
|
||||
}
|
||||
|
||||
if (\array_key_exists($class, $this->state->injectors)) {
|
||||
return $this->state->injectors[$class] !== null;
|
||||
}
|
||||
|
||||
if (
|
||||
$reflection->implementsInterface(InjectableInterface::class)
|
||||
&& $reflection->hasConstant('INJECTOR')
|
||||
) {
|
||||
$this->state->injectors[$class] = $reflection->getConstant('INJECTOR');
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// check interfaces
|
||||
foreach ($this->state->injectors as $target => $injector) {
|
||||
if (
|
||||
\class_exists($target, true)
|
||||
&& $reflection->isSubclassOf($target)
|
||||
) {
|
||||
$this->state->injectors[$class] = $injector;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
if (
|
||||
\interface_exists($target, true)
|
||||
&& $reflection->implementsInterface($target)
|
||||
) {
|
||||
$this->state->injectors[$class] = $injector;
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
unset($this->container);
|
||||
}
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Spiral\Core\Internal;
|
||||
namespace Spiral\Core\Internal\Common;
|
||||
|
||||
/**
|
||||
* @internal
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user