From 288915bde0c216aff4511684263a4c3953c122cb Mon Sep 17 00:00:00 2001 From: Ross Wintle Date: Mon, 15 Nov 2021 23:31:05 +0000 Subject: [PATCH] Update spatie/ray [1.19.5] - fixes conflict with other plugin --- composer.lock | 452 +- vendor/composer/ClassLoader.php | 151 +- vendor/composer/InstalledVersions.php | 712 ++-- vendor/composer/autoload_classmap.php | 2 - vendor/composer/autoload_files.php | 6 +- vendor/composer/autoload_psr4.php | 5 - vendor/composer/autoload_real.php | 2 +- vendor/composer/autoload_static.php | 33 +- vendor/composer/installed.json | 467 +-- vendor/composer/installed.php | 342 +- vendor/spatie/ray/CHANGELOG.md | 199 +- vendor/spatie/ray/README.md | 2 +- vendor/spatie/ray/composer.json | 14 +- .../spatie/ray/docs/advanced-usage/_index.md | 4 + .../adding-your-own-ray-functions-in-php.md} | 6 +- vendor/spatie/ray/docs/changelog.md | 3 +- .../spatie/ray/docs/configuration/_index.md | 4 + .../ray/docs/configuration/craft-cms.md | 49 + .../configuration/framework-agnostic-php.md | 42 + .../spatie/ray/docs/configuration/general.md | 10 + .../spatie/ray/docs/configuration/laravel.md | 91 + .../spatie/ray/docs/configuration/nodejs.md | 54 + .../ray/docs/configuration/wordpress.md | 42 + vendor/spatie/ray/docs/configuration/yii2.md | 49 + .../_index.md | 4 + .../docker.md | 61 + .../homestead.md | 6 + .../linux.md | 23 + .../windows-10.md | 36 + vendor/spatie/ray/docs/getting-started.md | 10 + .../spatie/ray/docs/getting-started/_index.md | 4 - .../docs/getting-started/configuring-ray.md | 137 - ...ion-in-a-framework-agnostic-php-project.md | 15 - vendor/spatie/ray/docs/images/cache.png | Bin 0 -> 410206 bytes vendor/spatie/ray/docs/images/carbon.png | Bin 0 -> 213537 bytes vendor/spatie/ray/docs/images/count.png | Bin 0 -> 206413 bytes vendor/spatie/ray/docs/images/job.png | Bin 0 -> 353856 bytes vendor/spatie/ray/docs/images/json.png | Bin 0 -> 215626 bytes vendor/spatie/ray/docs/images/named-count.png | Bin 0 -> 210074 bytes vendor/spatie/ray/docs/images/php-info.png | Bin 0 -> 1089097 bytes vendor/spatie/ray/docs/images/request.png | Bin 0 -> 1094417 bytes vendor/spatie/ray/docs/images/response.png | Bin 0 -> 356595 bytes vendor/spatie/ray/docs/images/table-label.png | Bin 0 -> 191131 bytes vendor/spatie/ray/docs/images/table.png | Bin 0 -> 182369 bytes vendor/spatie/ray/docs/images/to-json.png | Bin 0 -> 211239 bytes vendor/spatie/ray/docs/images/views.png | Bin 0 -> 297278 bytes .../ray/docs/images/wordpress-mails.png | Bin 0 -> 269684 bytes .../ray/docs/images/wordpress-queries.png | Bin 0 -> 247100 bytes vendor/spatie/ray/docs/images/wp-install.png | Bin 0 -> 275086 bytes vendor/spatie/ray/docs/images/xml.png | Bin 0 -> 245382 bytes .../installation-in-your-project/_index.md | 4 + .../docs/installation-in-your-project/bash.md | 8 + .../installation-in-your-project/craft-cms.md | 22 + .../framework-agnostic-php.md | 15 + .../introduction.md | 19 + .../javascript.md | 8 + .../laravel.md} | 22 +- .../installation-in-your-project/nodejs.md | 19 + .../docs/installation-in-your-project/ruby.md | 28 + .../docs/installation-in-your-project/vue.md | 44 + .../installation-in-your-project/wordpress.md | 52 + .../docs/installation-in-your-project/yii2.md | 20 + vendor/spatie/ray/docs/introduction.md | 19 +- vendor/spatie/ray/docs/questions-issues.md | 2 +- vendor/spatie/ray/docs/requirements.md | 4 +- .../ray/docs/the-ray-desktop-app/_index.md | 4 + .../discovering-the-ray-app.md | 6 +- .../download-the-free-demo.md | 0 vendor/spatie/ray/docs/usage/_index.md | 2 +- vendor/spatie/ray/docs/usage/craft-cms.md | 28 + .../usage/framework-agnostic-php-project.md | 498 +++ .../usage/in-a-framework-agnostic-project.md | 252 -- vendor/spatie/ray/docs/usage/in-laravel.md | 141 - vendor/spatie/ray/docs/usage/javascript.md | 175 + vendor/spatie/ray/docs/usage/laravel.md | 252 ++ vendor/spatie/ray/docs/usage/nodejs.md | 397 ++ vendor/spatie/ray/docs/usage/reference.md | 244 ++ vendor/spatie/ray/docs/usage/ruby.md | 199 + vendor/spatie/ray/docs/usage/vue.md | 132 + vendor/spatie/ray/docs/usage/wordpress.md | 47 + vendor/spatie/ray/docs/usage/yii2.md | 81 + vendor/spatie/ray/rector.php | 24 + vendor/spatie/ray/src/ArgumentConverter.php | 4 + vendor/spatie/ray/src/Client.php | 82 +- .../ray/src/Concerns/RemovesRayFrames.php | 8 +- .../ray/src/Origin/DefaultOriginFactory.php | 36 +- vendor/spatie/ray/src/Origin/Origin.php | 15 +- vendor/spatie/ray/src/PayloadFactory.php | 66 + .../src/Payloads/ApplicationLogPayload.php | 3 +- .../spatie/ray/src/Payloads/BoolPayload.php | 27 + .../spatie/ray/src/Payloads/CallerPayload.php | 3 +- .../spatie/ray/src/Payloads/CarbonPayload.php | 35 + .../ray/src/Payloads/ClearAllPayload.php | 11 + .../ray/src/Payloads/CreateLockPayload.php | 3 +- .../spatie/ray/src/Payloads/CustomPayload.php | 6 +- .../ray/src/Payloads/DecodedJsonPayload.php | 31 + .../ray/src/Payloads/FileContentsPayload.php | 44 + .../ray/src/Payloads/HideAppPayload.php | 11 + .../spatie/ray/src/Payloads/HtmlPayload.php | 27 + .../spatie/ray/src/Payloads/ImagePayload.php | 33 + ...{JsonPayload.php => JsonStringPayload.php} | 4 +- vendor/spatie/ray/src/Payloads/LogPayload.php | 3 +- .../ray/src/Payloads/MeasurePayload.php | 15 +- .../spatie/ray/src/Payloads/NotifyPayload.php | 3 +- .../spatie/ray/src/Payloads/NullPayload.php | 22 + vendor/spatie/ray/src/Payloads/Payload.php | 14 +- .../ray/src/Payloads/ShowAppPayload.php | 11 + .../spatie/ray/src/Payloads/TablePayload.php | 38 + .../spatie/ray/src/Payloads/TracePayload.php | 25 +- vendor/spatie/ray/src/Payloads/XmlPayload.php | 62 + vendor/spatie/ray/src/Ray.php | 274 +- vendor/spatie/ray/src/Request.php | 13 +- vendor/spatie/ray/src/Settings/Settings.php | 8 +- .../ray/src/Settings/SettingsFactory.php | 13 +- vendor/spatie/ray/src/Support/Counters.php | 45 + vendor/spatie/ray/src/helpers.php | 34 +- vendor/symfony/console/Application.php | 1233 ------ vendor/symfony/console/CHANGELOG.md | 198 - vendor/symfony/console/Color.php | 165 - vendor/symfony/console/Command/Command.php | 648 --- .../symfony/console/Command/HelpCommand.php | 83 - .../symfony/console/Command/ListCommand.php | 75 - .../symfony/console/Command/LockableTrait.php | 69 - .../Command/SignalableCommandInterface.php | 30 - .../CommandLoader/CommandLoaderInterface.php | 42 - .../CommandLoader/ContainerCommandLoader.php | 63 - .../CommandLoader/FactoryCommandLoader.php | 62 - vendor/symfony/console/ConsoleEvents.php | 72 - vendor/symfony/console/Cursor.php | 168 - .../AddConsoleCommandPass.php | 104 - .../Descriptor/ApplicationDescription.php | 143 - .../symfony/console/Descriptor/Descriptor.php | 104 - .../Descriptor/DescriptorInterface.php | 29 - .../console/Descriptor/JsonDescriptor.php | 155 - .../console/Descriptor/MarkdownDescriptor.php | 188 - .../console/Descriptor/TextDescriptor.php | 340 -- .../console/Descriptor/XmlDescriptor.php | 230 - .../console/Event/ConsoleCommandEvent.php | 51 - .../console/Event/ConsoleErrorEvent.php | 58 - vendor/symfony/console/Event/ConsoleEvent.php | 67 - .../console/Event/ConsoleSignalEvent.php | 35 - .../console/Event/ConsoleTerminateEvent.php | 43 - .../console/EventListener/ErrorListener.php | 95 - .../Exception/CommandNotFoundException.php | 43 - .../console/Exception/ExceptionInterface.php | 21 - .../Exception/InvalidArgumentException.php | 19 - .../Exception/InvalidOptionException.php | 21 - .../console/Exception/LogicException.php | 19 - .../Exception/MissingInputException.php | 21 - .../Exception/NamespaceNotFoundException.php | 21 - .../console/Exception/RuntimeException.php | 19 - .../console/Formatter/NullOutputFormatter.php | 72 - .../Formatter/NullOutputFormatterStyle.php | 65 - .../console/Formatter/OutputFormatter.php | 283 -- .../Formatter/OutputFormatterInterface.php | 58 - .../Formatter/OutputFormatterStyle.php | 108 - .../OutputFormatterStyleInterface.php | 52 - .../Formatter/OutputFormatterStyleStack.php | 110 - .../WrappableOutputFormatterInterface.php | 25 - .../console/Helper/DebugFormatterHelper.php | 107 - .../console/Helper/DescriptorHelper.php | 87 - vendor/symfony/console/Helper/Dumper.php | 64 - .../console/Helper/FormatterHelper.php | 92 - vendor/symfony/console/Helper/Helper.php | 132 - .../console/Helper/HelperInterface.php | 39 - vendor/symfony/console/Helper/HelperSet.php | 98 - .../console/Helper/InputAwareHelper.php | 33 - .../symfony/console/Helper/ProcessHelper.php | 148 - vendor/symfony/console/Helper/ProgressBar.php | 600 --- .../console/Helper/ProgressIndicator.php | 254 -- .../symfony/console/Helper/QuestionHelper.php | 569 --- .../console/Helper/SymfonyQuestionHelper.php | 109 - vendor/symfony/console/Helper/Table.php | 863 ---- vendor/symfony/console/Helper/TableCell.php | 78 - .../symfony/console/Helper/TableCellStyle.php | 86 - vendor/symfony/console/Helper/TableRows.php | 32 - .../symfony/console/Helper/TableSeparator.php | 25 - vendor/symfony/console/Helper/TableStyle.php | 364 -- vendor/symfony/console/Input/ArgvInput.php | 361 -- vendor/symfony/console/Input/ArrayInput.php | 202 - vendor/symfony/console/Input/Input.php | 201 - .../symfony/console/Input/InputArgument.php | 129 - .../console/Input/InputAwareInterface.php | 26 - .../symfony/console/Input/InputDefinition.php | 390 -- .../symfony/console/Input/InputInterface.php | 153 - vendor/symfony/console/Input/InputOption.php | 208 - .../Input/StreamableInputInterface.php | 37 - vendor/symfony/console/Input/StringInput.php | 68 - vendor/symfony/console/LICENSE | 19 - .../symfony/console/Logger/ConsoleLogger.php | 126 - .../symfony/console/Output/BufferedOutput.php | 45 - .../symfony/console/Output/ConsoleOutput.php | 166 - .../console/Output/ConsoleOutputInterface.php | 32 - .../console/Output/ConsoleSectionOutput.php | 143 - vendor/symfony/console/Output/NullOutput.php | 128 - vendor/symfony/console/Output/Output.php | 174 - .../console/Output/OutputInterface.php | 110 - .../symfony/console/Output/StreamOutput.php | 115 - .../console/Output/TrimmedBufferOutput.php | 67 - .../console/Question/ChoiceQuestion.php | 183 - .../console/Question/ConfirmationQuestion.php | 57 - vendor/symfony/console/Question/Question.php | 306 -- vendor/symfony/console/README.md | 20 - .../console/Resources/bin/hiddeninput.exe | Bin 9216 -> 0 bytes .../console/SignalRegistry/SignalRegistry.php | 65 - .../console/SingleCommandApplication.php | 67 - vendor/symfony/console/Style/OutputStyle.php | 153 - .../symfony/console/Style/StyleInterface.php | 132 - vendor/symfony/console/Style/SymfonyStyle.php | 508 --- vendor/symfony/console/Terminal.php | 174 - .../console/Tester/ApplicationTester.php | 67 - .../symfony/console/Tester/CommandTester.php | 78 - vendor/symfony/console/Tester/TesterTrait.php | 186 - vendor/symfony/console/composer.json | 58 - .../polyfill-intl-grapheme/Grapheme.php | 237 -- vendor/symfony/polyfill-intl-grapheme/LICENSE | 19 - .../symfony/polyfill-intl-grapheme/README.md | 31 - .../polyfill-intl-grapheme/bootstrap.php | 58 - .../polyfill-intl-grapheme/bootstrap80.php | 50 - .../polyfill-intl-grapheme/composer.json | 38 - .../symfony/polyfill-intl-normalizer/LICENSE | 19 - .../polyfill-intl-normalizer/Normalizer.php | 310 -- .../polyfill-intl-normalizer/README.md | 14 - .../Resources/stubs/Normalizer.php | 17 - .../unidata/canonicalComposition.php | 945 ----- .../unidata/canonicalDecomposition.php | 2065 --------- .../Resources/unidata/combiningClass.php | 876 ---- .../unidata/compatibilityDecomposition.php | 3695 ----------------- .../polyfill-intl-normalizer/bootstrap.php | 23 - .../polyfill-intl-normalizer/bootstrap80.php | 19 - .../polyfill-intl-normalizer/composer.json | 39 - vendor/symfony/polyfill-php73/LICENSE | 19 - vendor/symfony/polyfill-php73/Php73.php | 43 - vendor/symfony/polyfill-php73/README.md | 18 - .../Resources/stubs/JsonException.php | 14 - vendor/symfony/polyfill-php73/bootstrap.php | 31 - vendor/symfony/polyfill-php73/composer.json | 36 - vendor/symfony/string/AbstractString.php | 727 ---- .../symfony/string/AbstractUnicodeString.php | 580 --- vendor/symfony/string/ByteString.php | 506 --- vendor/symfony/string/CHANGELOG.md | 25 - vendor/symfony/string/CodePointString.php | 270 -- .../string/Exception/ExceptionInterface.php | 16 - .../Exception/InvalidArgumentException.php | 16 - .../string/Exception/RuntimeException.php | 16 - .../string/Inflector/EnglishInflector.php | 478 --- .../string/Inflector/FrenchInflector.php | 157 - .../string/Inflector/InflectorInterface.php | 33 - vendor/symfony/string/LICENSE | 19 - vendor/symfony/string/LazyString.php | 164 - vendor/symfony/string/README.md | 14 - .../Resources/data/wcswidth_table_wide.php | 1119 ----- .../Resources/data/wcswidth_table_zero.php | 1339 ------ vendor/symfony/string/Resources/functions.php | 32 - .../symfony/string/Slugger/AsciiSlugger.php | 159 - .../string/Slugger/SluggerInterface.php | 27 - vendor/symfony/string/UnicodeString.php | 373 -- vendor/symfony/string/composer.json | 40 - 258 files changed, 4613 insertions(+), 31188 deletions(-) create mode 100644 vendor/spatie/ray/docs/advanced-usage/_index.md rename vendor/spatie/ray/docs/{usage/adding-your-own-functions.md => advanced-usage/adding-your-own-ray-functions-in-php.md} (75%) create mode 100644 vendor/spatie/ray/docs/configuration/_index.md create mode 100644 vendor/spatie/ray/docs/configuration/craft-cms.md create mode 100644 vendor/spatie/ray/docs/configuration/framework-agnostic-php.md create mode 100644 vendor/spatie/ray/docs/configuration/general.md create mode 100644 vendor/spatie/ray/docs/configuration/laravel.md create mode 100644 vendor/spatie/ray/docs/configuration/nodejs.md create mode 100644 vendor/spatie/ray/docs/configuration/wordpress.md create mode 100644 vendor/spatie/ray/docs/configuration/yii2.md create mode 100644 vendor/spatie/ray/docs/environment-specific-configuration/_index.md create mode 100644 vendor/spatie/ray/docs/environment-specific-configuration/docker.md create mode 100644 vendor/spatie/ray/docs/environment-specific-configuration/homestead.md create mode 100644 vendor/spatie/ray/docs/environment-specific-configuration/linux.md create mode 100644 vendor/spatie/ray/docs/environment-specific-configuration/windows-10.md create mode 100644 vendor/spatie/ray/docs/getting-started.md delete mode 100644 vendor/spatie/ray/docs/getting-started/_index.md delete mode 100644 vendor/spatie/ray/docs/getting-started/configuring-ray.md delete mode 100644 vendor/spatie/ray/docs/getting-started/installation-in-a-framework-agnostic-php-project.md create mode 100644 vendor/spatie/ray/docs/images/cache.png create mode 100644 vendor/spatie/ray/docs/images/carbon.png create mode 100644 vendor/spatie/ray/docs/images/count.png create mode 100644 vendor/spatie/ray/docs/images/job.png create mode 100644 vendor/spatie/ray/docs/images/json.png create mode 100644 vendor/spatie/ray/docs/images/named-count.png create mode 100644 vendor/spatie/ray/docs/images/php-info.png create mode 100644 vendor/spatie/ray/docs/images/request.png create mode 100644 vendor/spatie/ray/docs/images/response.png create mode 100644 vendor/spatie/ray/docs/images/table-label.png create mode 100644 vendor/spatie/ray/docs/images/table.png create mode 100644 vendor/spatie/ray/docs/images/to-json.png create mode 100644 vendor/spatie/ray/docs/images/views.png create mode 100644 vendor/spatie/ray/docs/images/wordpress-mails.png create mode 100644 vendor/spatie/ray/docs/images/wordpress-queries.png create mode 100644 vendor/spatie/ray/docs/images/wp-install.png create mode 100644 vendor/spatie/ray/docs/images/xml.png create mode 100644 vendor/spatie/ray/docs/installation-in-your-project/_index.md create mode 100644 vendor/spatie/ray/docs/installation-in-your-project/bash.md create mode 100644 vendor/spatie/ray/docs/installation-in-your-project/craft-cms.md create mode 100644 vendor/spatie/ray/docs/installation-in-your-project/framework-agnostic-php.md create mode 100644 vendor/spatie/ray/docs/installation-in-your-project/introduction.md create mode 100644 vendor/spatie/ray/docs/installation-in-your-project/javascript.md rename vendor/spatie/ray/docs/{getting-started/installation-in-laravel.md => installation-in-your-project/laravel.md} (63%) create mode 100644 vendor/spatie/ray/docs/installation-in-your-project/nodejs.md create mode 100644 vendor/spatie/ray/docs/installation-in-your-project/ruby.md create mode 100644 vendor/spatie/ray/docs/installation-in-your-project/vue.md create mode 100644 vendor/spatie/ray/docs/installation-in-your-project/wordpress.md create mode 100644 vendor/spatie/ray/docs/installation-in-your-project/yii2.md create mode 100644 vendor/spatie/ray/docs/the-ray-desktop-app/_index.md rename vendor/spatie/ray/docs/{getting-started => the-ray-desktop-app}/discovering-the-ray-app.md (86%) rename vendor/spatie/ray/docs/{getting-started => the-ray-desktop-app}/download-the-free-demo.md (100%) create mode 100644 vendor/spatie/ray/docs/usage/craft-cms.md create mode 100644 vendor/spatie/ray/docs/usage/framework-agnostic-php-project.md delete mode 100644 vendor/spatie/ray/docs/usage/in-a-framework-agnostic-project.md delete mode 100644 vendor/spatie/ray/docs/usage/in-laravel.md create mode 100644 vendor/spatie/ray/docs/usage/javascript.md create mode 100644 vendor/spatie/ray/docs/usage/laravel.md create mode 100644 vendor/spatie/ray/docs/usage/nodejs.md create mode 100644 vendor/spatie/ray/docs/usage/reference.md create mode 100644 vendor/spatie/ray/docs/usage/ruby.md create mode 100644 vendor/spatie/ray/docs/usage/vue.md create mode 100644 vendor/spatie/ray/docs/usage/wordpress.md create mode 100644 vendor/spatie/ray/docs/usage/yii2.md create mode 100644 vendor/spatie/ray/rector.php create mode 100644 vendor/spatie/ray/src/PayloadFactory.php create mode 100644 vendor/spatie/ray/src/Payloads/BoolPayload.php create mode 100644 vendor/spatie/ray/src/Payloads/CarbonPayload.php create mode 100644 vendor/spatie/ray/src/Payloads/ClearAllPayload.php create mode 100644 vendor/spatie/ray/src/Payloads/DecodedJsonPayload.php create mode 100644 vendor/spatie/ray/src/Payloads/FileContentsPayload.php create mode 100644 vendor/spatie/ray/src/Payloads/HideAppPayload.php create mode 100644 vendor/spatie/ray/src/Payloads/HtmlPayload.php create mode 100644 vendor/spatie/ray/src/Payloads/ImagePayload.php rename vendor/spatie/ray/src/Payloads/{JsonPayload.php => JsonStringPayload.php} (83%) create mode 100644 vendor/spatie/ray/src/Payloads/NullPayload.php create mode 100644 vendor/spatie/ray/src/Payloads/ShowAppPayload.php create mode 100644 vendor/spatie/ray/src/Payloads/TablePayload.php create mode 100644 vendor/spatie/ray/src/Payloads/XmlPayload.php create mode 100644 vendor/spatie/ray/src/Support/Counters.php delete mode 100644 vendor/symfony/console/Application.php delete mode 100644 vendor/symfony/console/CHANGELOG.md delete mode 100644 vendor/symfony/console/Color.php delete mode 100644 vendor/symfony/console/Command/Command.php delete mode 100644 vendor/symfony/console/Command/HelpCommand.php delete mode 100644 vendor/symfony/console/Command/ListCommand.php delete mode 100644 vendor/symfony/console/Command/LockableTrait.php delete mode 100644 vendor/symfony/console/Command/SignalableCommandInterface.php delete mode 100644 vendor/symfony/console/CommandLoader/CommandLoaderInterface.php delete mode 100644 vendor/symfony/console/CommandLoader/ContainerCommandLoader.php delete mode 100644 vendor/symfony/console/CommandLoader/FactoryCommandLoader.php delete mode 100644 vendor/symfony/console/ConsoleEvents.php delete mode 100644 vendor/symfony/console/Cursor.php delete mode 100644 vendor/symfony/console/DependencyInjection/AddConsoleCommandPass.php delete mode 100644 vendor/symfony/console/Descriptor/ApplicationDescription.php delete mode 100644 vendor/symfony/console/Descriptor/Descriptor.php delete mode 100644 vendor/symfony/console/Descriptor/DescriptorInterface.php delete mode 100644 vendor/symfony/console/Descriptor/JsonDescriptor.php delete mode 100644 vendor/symfony/console/Descriptor/MarkdownDescriptor.php delete mode 100644 vendor/symfony/console/Descriptor/TextDescriptor.php delete mode 100644 vendor/symfony/console/Descriptor/XmlDescriptor.php delete mode 100644 vendor/symfony/console/Event/ConsoleCommandEvent.php delete mode 100644 vendor/symfony/console/Event/ConsoleErrorEvent.php delete mode 100644 vendor/symfony/console/Event/ConsoleEvent.php delete mode 100644 vendor/symfony/console/Event/ConsoleSignalEvent.php delete mode 100644 vendor/symfony/console/Event/ConsoleTerminateEvent.php delete mode 100644 vendor/symfony/console/EventListener/ErrorListener.php delete mode 100644 vendor/symfony/console/Exception/CommandNotFoundException.php delete mode 100644 vendor/symfony/console/Exception/ExceptionInterface.php delete mode 100644 vendor/symfony/console/Exception/InvalidArgumentException.php delete mode 100644 vendor/symfony/console/Exception/InvalidOptionException.php delete mode 100644 vendor/symfony/console/Exception/LogicException.php delete mode 100644 vendor/symfony/console/Exception/MissingInputException.php delete mode 100644 vendor/symfony/console/Exception/NamespaceNotFoundException.php delete mode 100644 vendor/symfony/console/Exception/RuntimeException.php delete mode 100644 vendor/symfony/console/Formatter/NullOutputFormatter.php delete mode 100644 vendor/symfony/console/Formatter/NullOutputFormatterStyle.php delete mode 100644 vendor/symfony/console/Formatter/OutputFormatter.php delete mode 100644 vendor/symfony/console/Formatter/OutputFormatterInterface.php delete mode 100644 vendor/symfony/console/Formatter/OutputFormatterStyle.php delete mode 100644 vendor/symfony/console/Formatter/OutputFormatterStyleInterface.php delete mode 100644 vendor/symfony/console/Formatter/OutputFormatterStyleStack.php delete mode 100644 vendor/symfony/console/Formatter/WrappableOutputFormatterInterface.php delete mode 100644 vendor/symfony/console/Helper/DebugFormatterHelper.php delete mode 100644 vendor/symfony/console/Helper/DescriptorHelper.php delete mode 100644 vendor/symfony/console/Helper/Dumper.php delete mode 100644 vendor/symfony/console/Helper/FormatterHelper.php delete mode 100644 vendor/symfony/console/Helper/Helper.php delete mode 100644 vendor/symfony/console/Helper/HelperInterface.php delete mode 100644 vendor/symfony/console/Helper/HelperSet.php delete mode 100644 vendor/symfony/console/Helper/InputAwareHelper.php delete mode 100644 vendor/symfony/console/Helper/ProcessHelper.php delete mode 100644 vendor/symfony/console/Helper/ProgressBar.php delete mode 100644 vendor/symfony/console/Helper/ProgressIndicator.php delete mode 100644 vendor/symfony/console/Helper/QuestionHelper.php delete mode 100644 vendor/symfony/console/Helper/SymfonyQuestionHelper.php delete mode 100644 vendor/symfony/console/Helper/Table.php delete mode 100644 vendor/symfony/console/Helper/TableCell.php delete mode 100644 vendor/symfony/console/Helper/TableCellStyle.php delete mode 100644 vendor/symfony/console/Helper/TableRows.php delete mode 100644 vendor/symfony/console/Helper/TableSeparator.php delete mode 100644 vendor/symfony/console/Helper/TableStyle.php delete mode 100644 vendor/symfony/console/Input/ArgvInput.php delete mode 100644 vendor/symfony/console/Input/ArrayInput.php delete mode 100644 vendor/symfony/console/Input/Input.php delete mode 100644 vendor/symfony/console/Input/InputArgument.php delete mode 100644 vendor/symfony/console/Input/InputAwareInterface.php delete mode 100644 vendor/symfony/console/Input/InputDefinition.php delete mode 100644 vendor/symfony/console/Input/InputInterface.php delete mode 100644 vendor/symfony/console/Input/InputOption.php delete mode 100644 vendor/symfony/console/Input/StreamableInputInterface.php delete mode 100644 vendor/symfony/console/Input/StringInput.php delete mode 100644 vendor/symfony/console/LICENSE delete mode 100644 vendor/symfony/console/Logger/ConsoleLogger.php delete mode 100644 vendor/symfony/console/Output/BufferedOutput.php delete mode 100644 vendor/symfony/console/Output/ConsoleOutput.php delete mode 100644 vendor/symfony/console/Output/ConsoleOutputInterface.php delete mode 100644 vendor/symfony/console/Output/ConsoleSectionOutput.php delete mode 100644 vendor/symfony/console/Output/NullOutput.php delete mode 100644 vendor/symfony/console/Output/Output.php delete mode 100644 vendor/symfony/console/Output/OutputInterface.php delete mode 100644 vendor/symfony/console/Output/StreamOutput.php delete mode 100644 vendor/symfony/console/Output/TrimmedBufferOutput.php delete mode 100644 vendor/symfony/console/Question/ChoiceQuestion.php delete mode 100644 vendor/symfony/console/Question/ConfirmationQuestion.php delete mode 100644 vendor/symfony/console/Question/Question.php delete mode 100644 vendor/symfony/console/README.md delete mode 100644 vendor/symfony/console/Resources/bin/hiddeninput.exe delete mode 100644 vendor/symfony/console/SignalRegistry/SignalRegistry.php delete mode 100644 vendor/symfony/console/SingleCommandApplication.php delete mode 100644 vendor/symfony/console/Style/OutputStyle.php delete mode 100644 vendor/symfony/console/Style/StyleInterface.php delete mode 100644 vendor/symfony/console/Style/SymfonyStyle.php delete mode 100644 vendor/symfony/console/Terminal.php delete mode 100644 vendor/symfony/console/Tester/ApplicationTester.php delete mode 100644 vendor/symfony/console/Tester/CommandTester.php delete mode 100644 vendor/symfony/console/Tester/TesterTrait.php delete mode 100644 vendor/symfony/console/composer.json delete mode 100644 vendor/symfony/polyfill-intl-grapheme/Grapheme.php delete mode 100644 vendor/symfony/polyfill-intl-grapheme/LICENSE delete mode 100644 vendor/symfony/polyfill-intl-grapheme/README.md delete mode 100644 vendor/symfony/polyfill-intl-grapheme/bootstrap.php delete mode 100644 vendor/symfony/polyfill-intl-grapheme/bootstrap80.php delete mode 100644 vendor/symfony/polyfill-intl-grapheme/composer.json delete mode 100644 vendor/symfony/polyfill-intl-normalizer/LICENSE delete mode 100644 vendor/symfony/polyfill-intl-normalizer/Normalizer.php delete mode 100644 vendor/symfony/polyfill-intl-normalizer/README.md delete mode 100644 vendor/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php delete mode 100644 vendor/symfony/polyfill-intl-normalizer/Resources/unidata/canonicalComposition.php delete mode 100644 vendor/symfony/polyfill-intl-normalizer/Resources/unidata/canonicalDecomposition.php delete mode 100644 vendor/symfony/polyfill-intl-normalizer/Resources/unidata/combiningClass.php delete mode 100644 vendor/symfony/polyfill-intl-normalizer/Resources/unidata/compatibilityDecomposition.php delete mode 100644 vendor/symfony/polyfill-intl-normalizer/bootstrap.php delete mode 100644 vendor/symfony/polyfill-intl-normalizer/bootstrap80.php delete mode 100644 vendor/symfony/polyfill-intl-normalizer/composer.json delete mode 100644 vendor/symfony/polyfill-php73/LICENSE delete mode 100644 vendor/symfony/polyfill-php73/Php73.php delete mode 100644 vendor/symfony/polyfill-php73/README.md delete mode 100644 vendor/symfony/polyfill-php73/Resources/stubs/JsonException.php delete mode 100644 vendor/symfony/polyfill-php73/bootstrap.php delete mode 100644 vendor/symfony/polyfill-php73/composer.json delete mode 100644 vendor/symfony/string/AbstractString.php delete mode 100644 vendor/symfony/string/AbstractUnicodeString.php delete mode 100644 vendor/symfony/string/ByteString.php delete mode 100644 vendor/symfony/string/CHANGELOG.md delete mode 100644 vendor/symfony/string/CodePointString.php delete mode 100644 vendor/symfony/string/Exception/ExceptionInterface.php delete mode 100644 vendor/symfony/string/Exception/InvalidArgumentException.php delete mode 100644 vendor/symfony/string/Exception/RuntimeException.php delete mode 100644 vendor/symfony/string/Inflector/EnglishInflector.php delete mode 100644 vendor/symfony/string/Inflector/FrenchInflector.php delete mode 100644 vendor/symfony/string/Inflector/InflectorInterface.php delete mode 100644 vendor/symfony/string/LICENSE delete mode 100644 vendor/symfony/string/LazyString.php delete mode 100644 vendor/symfony/string/README.md delete mode 100644 vendor/symfony/string/Resources/data/wcswidth_table_wide.php delete mode 100644 vendor/symfony/string/Resources/data/wcswidth_table_zero.php delete mode 100644 vendor/symfony/string/Resources/functions.php delete mode 100644 vendor/symfony/string/Slugger/AsciiSlugger.php delete mode 100644 vendor/symfony/string/Slugger/SluggerInterface.php delete mode 100644 vendor/symfony/string/UnicodeString.php delete mode 100644 vendor/symfony/string/composer.json diff --git a/composer.lock b/composer.lock index 6c135de..3a51028 100644 --- a/composer.lock +++ b/composer.lock @@ -394,33 +394,35 @@ }, { "name": "spatie/ray", - "version": "1.3.7", + "version": "1.19.5", "source": { "type": "git", "url": "https://github.com/spatie/ray.git", - "reference": "7cb95aa752b6a1a95e34d0457c59d95185187836" + "reference": "01266d47eda32c57ad43639b99ce4efc523e7336" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/ray/zipball/7cb95aa752b6a1a95e34d0457c59d95185187836", - "reference": "7cb95aa752b6a1a95e34d0457c59d95185187836", + "url": "https://api.github.com/repos/spatie/ray/zipball/01266d47eda32c57ad43639b99ce4efc523e7336", + "reference": "01266d47eda32c57ad43639b99ce4efc523e7336", "shasum": "" }, "require": { "ext-curl": "*", "ext-json": "*", - "php": "^7.4|^8.0", + "php": "^7.3|^8.0", "ramsey/uuid": "^3.0|^4.1", "spatie/backtrace": "^1.0", "spatie/macroable": "^1.0", - "symfony/console": "^4.2|^5.2", - "symfony/stopwatch": "^4.2|^5.2", - "symfony/var-dumper": "^4.2|^5.2" + "symfony/stopwatch": "^4.0|^5.1", + "symfony/var-dumper": "^4.2|^5.1" }, "require-dev": { - "illuminate/support": "^8.18", + "illuminate/support": "6.x|^8.18", + "nesbot/carbon": "^2.43", "phpunit/phpunit": "^9.5", - "spatie/phpunit-snapshot-assertions": "^4.2" + "rector/rector": "^0.9.16", + "spatie/phpunit-snapshot-assertions": "^4.2", + "spatie/test-time": "^1.2" }, "type": "library", "autoload": { @@ -451,7 +453,7 @@ ], "support": { "issues": "https://github.com/spatie/ray/issues", - "source": "https://github.com/spatie/ray/tree/1.3.7" + "source": "https://github.com/spatie/ray/tree/1.19.5" }, "funding": [ { @@ -463,104 +465,7 @@ "type": "other" } ], - "time": "2021-01-09T14:19:59+00:00" - }, - { - "name": "symfony/console", - "version": "v5.2.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "47c02526c532fb381374dab26df05e7313978976" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/47c02526c532fb381374dab26df05e7313978976", - "reference": "47c02526c532fb381374dab26df05e7313978976", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php73": "^1.8", - "symfony/polyfill-php80": "^1.15", - "symfony/service-contracts": "^1.1|^2", - "symfony/string": "^5.1" - }, - "conflict": { - "symfony/dependency-injection": "<4.4", - "symfony/dotenv": "<5.1", - "symfony/event-dispatcher": "<4.4", - "symfony/lock": "<4.4", - "symfony/process": "<4.4" - }, - "provide": { - "psr/log-implementation": "1.0" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "^4.4|^5.0", - "symfony/dependency-injection": "^4.4|^5.0", - "symfony/event-dispatcher": "^4.4|^5.0", - "symfony/lock": "^4.4|^5.0", - "symfony/process": "^4.4|^5.0", - "symfony/var-dumper": "^4.4|^5.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/lock": "", - "symfony/process": "" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Console\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Console Component", - "homepage": "https://symfony.com", - "keywords": [ - "cli", - "command line", - "console", - "terminal" - ], - "support": { - "source": "https://github.com/symfony/console/tree/v5.2.1" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-12-18T08:03:05+00:00" + "time": "2021-02-17T12:24:31+00:00" }, { "name": "symfony/polyfill-ctype", @@ -641,171 +546,6 @@ ], "time": "2021-01-07T16:49:33+00:00" }, - { - "name": "symfony/polyfill-intl-grapheme", - "version": "v1.22.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "267a9adeb8ecb8071040a740930e077cdfb987af" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/267a9adeb8ecb8071040a740930e077cdfb987af", - "reference": "267a9adeb8ecb8071040a740930e077cdfb987af", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.22-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Intl\\Grapheme\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's grapheme_* functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "grapheme", - "intl", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.22.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-01-07T16:49:33+00:00" - }, - { - "name": "symfony/polyfill-intl-normalizer", - "version": "v1.22.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "6e971c891537eb617a00bb07a43d182a6915faba" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/6e971c891537eb617a00bb07a43d182a6915faba", - "reference": "6e971c891537eb617a00bb07a43d182a6915faba", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.22-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Intl\\Normalizer\\": "" - }, - "files": [ - "bootstrap.php" - ], - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's Normalizer class and related functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "intl", - "normalizer", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.22.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-01-07T17:09:11+00:00" - }, { "name": "symfony/polyfill-mbstring", "version": "v1.22.0", @@ -886,85 +626,6 @@ ], "time": "2021-01-07T16:49:33+00:00" }, - { - "name": "symfony/polyfill-php73", - "version": "v1.22.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/a678b42e92f86eca04b7fa4c0f6f19d097fb69e2", - "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.22-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php73\\": "" - }, - "files": [ - "bootstrap.php" - ], - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.22.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-01-07T16:49:33+00:00" - }, { "name": "symfony/polyfill-php80", "version": "v1.22.0", @@ -1189,89 +850,6 @@ ], "time": "2020-11-01T16:14:45+00:00" }, - { - "name": "symfony/string", - "version": "v5.2.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/string.git", - "reference": "5bd67751d2e3f7d6f770c9154b8fbcb2aa05f7ed" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/5bd67751d2e3f7d6f770c9154b8fbcb2aa05f7ed", - "reference": "5bd67751d2e3f7d6f770c9154b8fbcb2aa05f7ed", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-intl-grapheme": "~1.0", - "symfony/polyfill-intl-normalizer": "~1.0", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "~1.15" - }, - "require-dev": { - "symfony/error-handler": "^4.4|^5.0", - "symfony/http-client": "^4.4|^5.0", - "symfony/translation-contracts": "^1.1|^2", - "symfony/var-exporter": "^4.4|^5.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\String\\": "" - }, - "files": [ - "Resources/functions.php" - ], - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony String component", - "homepage": "https://symfony.com", - "keywords": [ - "grapheme", - "i18n", - "string", - "unicode", - "utf-8", - "utf8" - ], - "support": { - "source": "https://github.com/symfony/string/tree/v5.2.1" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2020-12-05T07:33:16+00:00" - }, { "name": "symfony/var-dumper", "version": "v5.2.1", @@ -1369,5 +947,5 @@ "prefer-lowest": false, "platform": [], "platform-dev": [], - "plugin-api-version": "2.0.0" + "plugin-api-version": "2.1.0" } diff --git a/vendor/composer/ClassLoader.php b/vendor/composer/ClassLoader.php index 1a58957..0cd6055 100755 --- a/vendor/composer/ClassLoader.php +++ b/vendor/composer/ClassLoader.php @@ -42,21 +42,75 @@ */ class ClassLoader { + /** @var ?string */ + private $vendorDir; + // PSR-4 + /** + * @var array[] + * @psalm-var array> + */ private $prefixLengthsPsr4 = array(); + /** + * @var array[] + * @psalm-var array> + */ private $prefixDirsPsr4 = array(); + /** + * @var array[] + * @psalm-var array + */ private $fallbackDirsPsr4 = array(); // PSR-0 + /** + * @var array[] + * @psalm-var array> + */ private $prefixesPsr0 = array(); + /** + * @var array[] + * @psalm-var array + */ private $fallbackDirsPsr0 = array(); + /** @var bool */ private $useIncludePath = false; + + /** + * @var string[] + * @psalm-var array + */ private $classMap = array(); + + /** @var bool */ private $classMapAuthoritative = false; + + /** + * @var bool[] + * @psalm-var array + */ private $missingClasses = array(); + + /** @var ?string */ private $apcuPrefix; + /** + * @var self[] + */ + private static $registeredLoaders = array(); + + /** + * @param ?string $vendorDir + */ + public function __construct($vendorDir = null) + { + $this->vendorDir = $vendorDir; + } + + /** + * @return string[] + */ public function getPrefixes() { if (!empty($this->prefixesPsr0)) { @@ -66,28 +120,47 @@ public function getPrefixes() return array(); } + /** + * @return array[] + * @psalm-return array> + */ public function getPrefixesPsr4() { return $this->prefixDirsPsr4; } + /** + * @return array[] + * @psalm-return array + */ public function getFallbackDirs() { return $this->fallbackDirsPsr0; } + /** + * @return array[] + * @psalm-return array + */ public function getFallbackDirsPsr4() { return $this->fallbackDirsPsr4; } + /** + * @return string[] Array of classname => path + * @psalm-var array + */ public function getClassMap() { return $this->classMap; } /** - * @param array $classMap Class to filename map + * @param string[] $classMap Class to filename map + * @psalm-param array $classMap + * + * @return void */ public function addClassMap(array $classMap) { @@ -102,9 +175,11 @@ public function addClassMap(array $classMap) * Registers a set of PSR-0 directories for a given prefix, either * appending or prepending to the ones previously set for this prefix. * - * @param string $prefix The prefix - * @param array|string $paths The PSR-0 root directories - * @param bool $prepend Whether to prepend the directories + * @param string $prefix The prefix + * @param string[]|string $paths The PSR-0 root directories + * @param bool $prepend Whether to prepend the directories + * + * @return void */ public function add($prefix, $paths, $prepend = false) { @@ -147,11 +222,13 @@ public function add($prefix, $paths, $prepend = false) * Registers a set of PSR-4 directories for a given namespace, either * appending or prepending to the ones previously set for this namespace. * - * @param string $prefix The prefix/namespace, with trailing '\\' - * @param array|string $paths The PSR-4 base directories - * @param bool $prepend Whether to prepend the directories + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param string[]|string $paths The PSR-4 base directories + * @param bool $prepend Whether to prepend the directories * * @throws \InvalidArgumentException + * + * @return void */ public function addPsr4($prefix, $paths, $prepend = false) { @@ -195,8 +272,10 @@ public function addPsr4($prefix, $paths, $prepend = false) * Registers a set of PSR-0 directories for a given prefix, * replacing any others previously set for this prefix. * - * @param string $prefix The prefix - * @param array|string $paths The PSR-0 base directories + * @param string $prefix The prefix + * @param string[]|string $paths The PSR-0 base directories + * + * @return void */ public function set($prefix, $paths) { @@ -211,10 +290,12 @@ public function set($prefix, $paths) * Registers a set of PSR-4 directories for a given namespace, * replacing any others previously set for this namespace. * - * @param string $prefix The prefix/namespace, with trailing '\\' - * @param array|string $paths The PSR-4 base directories + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param string[]|string $paths The PSR-4 base directories * * @throws \InvalidArgumentException + * + * @return void */ public function setPsr4($prefix, $paths) { @@ -234,6 +315,8 @@ public function setPsr4($prefix, $paths) * Turns on searching the include path for class files. * * @param bool $useIncludePath + * + * @return void */ public function setUseIncludePath($useIncludePath) { @@ -256,6 +339,8 @@ public function getUseIncludePath() * that have not been registered with the class map. * * @param bool $classMapAuthoritative + * + * @return void */ public function setClassMapAuthoritative($classMapAuthoritative) { @@ -276,6 +361,8 @@ public function isClassMapAuthoritative() * APCu prefix to use to cache found/not-found classes, if the extension is enabled. * * @param string|null $apcuPrefix + * + * @return void */ public function setApcuPrefix($apcuPrefix) { @@ -296,25 +383,44 @@ public function getApcuPrefix() * Registers this instance as an autoloader. * * @param bool $prepend Whether to prepend the autoloader or not + * + * @return void */ public function register($prepend = false) { spl_autoload_register(array($this, 'loadClass'), true, $prepend); + + if (null === $this->vendorDir) { + return; + } + + if ($prepend) { + self::$registeredLoaders = array($this->vendorDir => $this) + self::$registeredLoaders; + } else { + unset(self::$registeredLoaders[$this->vendorDir]); + self::$registeredLoaders[$this->vendorDir] = $this; + } } /** * Unregisters this instance as an autoloader. + * + * @return void */ public function unregister() { spl_autoload_unregister(array($this, 'loadClass')); + + if (null !== $this->vendorDir) { + unset(self::$registeredLoaders[$this->vendorDir]); + } } /** * Loads the given class or interface. * * @param string $class The name of the class - * @return bool|null True if loaded, null otherwise + * @return true|null True if loaded, null otherwise */ public function loadClass($class) { @@ -323,6 +429,8 @@ public function loadClass($class) return true; } + + return null; } /** @@ -367,6 +475,21 @@ public function findFile($class) return $file; } + /** + * Returns the currently registered loaders indexed by their corresponding vendor directories. + * + * @return self[] + */ + public static function getRegisteredLoaders() + { + return self::$registeredLoaders; + } + + /** + * @param string $class + * @param string $ext + * @return string|false + */ private function findFileWithExtension($class, $ext) { // PSR-4 lookup @@ -438,6 +561,10 @@ private function findFileWithExtension($class, $ext) * Scope isolated include. * * Prevents access to $this/self from included files. + * + * @param string $file + * @return void + * @private */ function includeFile($file) { diff --git a/vendor/composer/InstalledVersions.php b/vendor/composer/InstalledVersions.php index 172c714..7c5502c 100644 --- a/vendor/composer/InstalledVersions.php +++ b/vendor/composer/InstalledVersions.php @@ -1,395 +1,337 @@ + * Jordi Boggiano + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ namespace Composer; +use Composer\Autoload\ClassLoader; use Composer\Semver\VersionParser; - - - - - +/** + * This class is copied in every Composer installed project and available to all + * + * See also https://getcomposer.org/doc/07-runtime.md#installed-versions + * + * To require its presence, you can require `composer-runtime-api ^2.0` + */ class InstalledVersions { -private static $installed = array ( - 'root' => - array ( - 'pretty_version' => 'dev-develop', - 'version' => 'dev-develop', - 'aliases' => - array ( - ), - 'reference' => '7acab3ffb04a6dedd11d6d145a71d4ab8429ed4a', - 'name' => 'peterhegman/wp-laravel-dd', - ), - 'versions' => - array ( - 'brick/math' => - array ( - 'pretty_version' => '0.9.1', - 'version' => '0.9.1.0', - 'aliases' => - array ( - ), - 'reference' => '283a40c901101e66de7061bd359252c013dcc43c', - ), - 'peterhegman/wp-laravel-dd' => - array ( - 'pretty_version' => 'dev-develop', - 'version' => 'dev-develop', - 'aliases' => - array ( - ), - 'reference' => '7acab3ffb04a6dedd11d6d145a71d4ab8429ed4a', - ), - 'psr/container' => - array ( - 'pretty_version' => '1.0.0', - 'version' => '1.0.0.0', - 'aliases' => - array ( - ), - 'reference' => 'b7ce3b176482dbbc1245ebf52b181af44c2cf55f', - ), - 'psr/log-implementation' => - array ( - 'provided' => - array ( - 0 => '1.0', - ), - ), - 'ramsey/collection' => - array ( - 'pretty_version' => '1.1.1', - 'version' => '1.1.1.0', - 'aliases' => - array ( - ), - 'reference' => '24d93aefb2cd786b7edd9f45b554aea20b28b9b1', - ), - 'ramsey/uuid' => - array ( - 'pretty_version' => '4.1.1', - 'version' => '4.1.1.0', - 'aliases' => - array ( - ), - 'reference' => 'cd4032040a750077205918c86049aa0f43d22947', - ), - 'rhumsaa/uuid' => - array ( - 'replaced' => - array ( - 0 => '4.1.1', - ), - ), - 'spatie/backtrace' => - array ( - 'pretty_version' => '1.0.0', - 'version' => '1.0.0.0', - 'aliases' => - array ( - ), - 'reference' => '59811ee52b21b5a42a9c6ca8699f979fd64d8cec', - ), - 'spatie/macroable' => - array ( - 'pretty_version' => '1.0.1', - 'version' => '1.0.1.0', - 'aliases' => - array ( - ), - 'reference' => '7a99549fc001c925714b329220dea680c04bfa48', - ), - 'spatie/ray' => - array ( - 'pretty_version' => '1.3.7', - 'version' => '1.3.7.0', - 'aliases' => - array ( - ), - 'reference' => '7cb95aa752b6a1a95e34d0457c59d95185187836', - ), - 'symfony/console' => - array ( - 'pretty_version' => 'v5.2.1', - 'version' => '5.2.1.0', - 'aliases' => - array ( - ), - 'reference' => '47c02526c532fb381374dab26df05e7313978976', - ), - 'symfony/polyfill-ctype' => - array ( - 'pretty_version' => 'v1.22.0', - 'version' => '1.22.0.0', - 'aliases' => - array ( - ), - 'reference' => 'c6c942b1ac76c82448322025e084cadc56048b4e', - ), - 'symfony/polyfill-intl-grapheme' => - array ( - 'pretty_version' => 'v1.22.0', - 'version' => '1.22.0.0', - 'aliases' => - array ( - ), - 'reference' => '267a9adeb8ecb8071040a740930e077cdfb987af', - ), - 'symfony/polyfill-intl-normalizer' => - array ( - 'pretty_version' => 'v1.22.0', - 'version' => '1.22.0.0', - 'aliases' => - array ( - ), - 'reference' => '6e971c891537eb617a00bb07a43d182a6915faba', - ), - 'symfony/polyfill-mbstring' => - array ( - 'pretty_version' => 'v1.22.0', - 'version' => '1.22.0.0', - 'aliases' => - array ( - ), - 'reference' => 'f377a3dd1fde44d37b9831d68dc8dea3ffd28e13', - ), - 'symfony/polyfill-php73' => - array ( - 'pretty_version' => 'v1.22.0', - 'version' => '1.22.0.0', - 'aliases' => - array ( - ), - 'reference' => 'a678b42e92f86eca04b7fa4c0f6f19d097fb69e2', - ), - 'symfony/polyfill-php80' => - array ( - 'pretty_version' => 'v1.22.0', - 'version' => '1.22.0.0', - 'aliases' => - array ( - ), - 'reference' => 'dc3063ba22c2a1fd2f45ed856374d79114998f91', - ), - 'symfony/service-contracts' => - array ( - 'pretty_version' => 'v2.2.0', - 'version' => '2.2.0.0', - 'aliases' => - array ( - ), - 'reference' => 'd15da7ba4957ffb8f1747218be9e1a121fd298a1', - ), - 'symfony/stopwatch' => - array ( - 'pretty_version' => 'v5.2.1', - 'version' => '5.2.1.0', - 'aliases' => - array ( - ), - 'reference' => '2b105c0354f39a63038a1d8bf776ee92852813af', - ), - 'symfony/string' => - array ( - 'pretty_version' => 'v5.2.1', - 'version' => '5.2.1.0', - 'aliases' => - array ( - ), - 'reference' => '5bd67751d2e3f7d6f770c9154b8fbcb2aa05f7ed', - ), - 'symfony/var-dumper' => - array ( - 'pretty_version' => 'v5.2.1', - 'version' => '5.2.1.0', - 'aliases' => - array ( - ), - 'reference' => '13e7e882eaa55863faa7c4ad7c60f12f1a8b5089', - ), - ), -); - - - - - - - -public static function getInstalledPackages() -{ -return array_keys(self::$installed['versions']); -} - - - - - - - - - -public static function isInstalled($packageName) -{ -return isset(self::$installed['versions'][$packageName]); -} - - - - - - - - - - - - - - -public static function satisfies(VersionParser $parser, $packageName, $constraint) -{ -$constraint = $parser->parseConstraints($constraint); -$provided = $parser->parseConstraints(self::getVersionRanges($packageName)); - -return $provided->matches($constraint); -} - - - - - - - - - - -public static function getVersionRanges($packageName) -{ -if (!isset(self::$installed['versions'][$packageName])) { -throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); -} - -$ranges = array(); -if (isset(self::$installed['versions'][$packageName]['pretty_version'])) { -$ranges[] = self::$installed['versions'][$packageName]['pretty_version']; -} -if (array_key_exists('aliases', self::$installed['versions'][$packageName])) { -$ranges = array_merge($ranges, self::$installed['versions'][$packageName]['aliases']); -} -if (array_key_exists('replaced', self::$installed['versions'][$packageName])) { -$ranges = array_merge($ranges, self::$installed['versions'][$packageName]['replaced']); -} -if (array_key_exists('provided', self::$installed['versions'][$packageName])) { -$ranges = array_merge($ranges, self::$installed['versions'][$packageName]['provided']); -} - -return implode(' || ', $ranges); -} - - - - - -public static function getVersion($packageName) -{ -if (!isset(self::$installed['versions'][$packageName])) { -throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); -} - -if (!isset(self::$installed['versions'][$packageName]['version'])) { -return null; -} - -return self::$installed['versions'][$packageName]['version']; -} - - - - - -public static function getPrettyVersion($packageName) -{ -if (!isset(self::$installed['versions'][$packageName])) { -throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); -} - -if (!isset(self::$installed['versions'][$packageName]['pretty_version'])) { -return null; -} - -return self::$installed['versions'][$packageName]['pretty_version']; -} - - - - - -public static function getReference($packageName) -{ -if (!isset(self::$installed['versions'][$packageName])) { -throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); -} - -if (!isset(self::$installed['versions'][$packageName]['reference'])) { -return null; -} - -return self::$installed['versions'][$packageName]['reference']; -} - - - - - -public static function getRootPackage() -{ -return self::$installed['root']; -} - - - - - - - -public static function getRawData() -{ -return self::$installed; -} - - - - - - - - - - - - - - - - - - - -public static function reload($data) -{ -self::$installed = $data; -} + private static $installed; + private static $canGetVendors; + private static $installedByVendor = array(); + + /** + * Returns a list of all package names which are present, either by being installed, replaced or provided + * + * @return string[] + * @psalm-return list + */ + public static function getInstalledPackages() + { + $packages = array(); + foreach (self::getInstalled() as $installed) { + $packages[] = array_keys($installed['versions']); + } + + if (1 === \count($packages)) { + return $packages[0]; + } + + return array_keys(array_flip(\call_user_func_array('array_merge', $packages))); + } + + /** + * Returns a list of all package names with a specific type e.g. 'library' + * + * @param string $type + * @return string[] + * @psalm-return list + */ + public static function getInstalledPackagesByType($type) + { + $packagesByType = array(); + + foreach (self::getInstalled() as $installed) { + foreach ($installed['versions'] as $name => $package) { + if (isset($package['type']) && $package['type'] === $type) { + $packagesByType[] = $name; + } + } + } + + return $packagesByType; + } + + /** + * Checks whether the given package is installed + * + * This also returns true if the package name is provided or replaced by another package + * + * @param string $packageName + * @param bool $includeDevRequirements + * @return bool + */ + public static function isInstalled($packageName, $includeDevRequirements = true) + { + foreach (self::getInstalled() as $installed) { + if (isset($installed['versions'][$packageName])) { + return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']); + } + } + + return false; + } + + /** + * Checks whether the given package satisfies a version constraint + * + * e.g. If you want to know whether version 2.3+ of package foo/bar is installed, you would call: + * + * Composer\InstalledVersions::satisfies(new VersionParser, 'foo/bar', '^2.3') + * + * @param VersionParser $parser Install composer/semver to have access to this class and functionality + * @param string $packageName + * @param string|null $constraint A version constraint to check for, if you pass one you have to make sure composer/semver is required by your package + * @return bool + */ + public static function satisfies(VersionParser $parser, $packageName, $constraint) + { + $constraint = $parser->parseConstraints($constraint); + $provided = $parser->parseConstraints(self::getVersionRanges($packageName)); + + return $provided->matches($constraint); + } + + /** + * Returns a version constraint representing all the range(s) which are installed for a given package + * + * It is easier to use this via isInstalled() with the $constraint argument if you need to check + * whether a given version of a package is installed, and not just whether it exists + * + * @param string $packageName + * @return string Version constraint usable with composer/semver + */ + public static function getVersionRanges($packageName) + { + foreach (self::getInstalled() as $installed) { + if (!isset($installed['versions'][$packageName])) { + continue; + } + + $ranges = array(); + if (isset($installed['versions'][$packageName]['pretty_version'])) { + $ranges[] = $installed['versions'][$packageName]['pretty_version']; + } + if (array_key_exists('aliases', $installed['versions'][$packageName])) { + $ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']); + } + if (array_key_exists('replaced', $installed['versions'][$packageName])) { + $ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']); + } + if (array_key_exists('provided', $installed['versions'][$packageName])) { + $ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']); + } + + return implode(' || ', $ranges); + } + + throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); + } + + /** + * @param string $packageName + * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present + */ + public static function getVersion($packageName) + { + foreach (self::getInstalled() as $installed) { + if (!isset($installed['versions'][$packageName])) { + continue; + } + + if (!isset($installed['versions'][$packageName]['version'])) { + return null; + } + + return $installed['versions'][$packageName]['version']; + } + + throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); + } + + /** + * @param string $packageName + * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present + */ + public static function getPrettyVersion($packageName) + { + foreach (self::getInstalled() as $installed) { + if (!isset($installed['versions'][$packageName])) { + continue; + } + + if (!isset($installed['versions'][$packageName]['pretty_version'])) { + return null; + } + + return $installed['versions'][$packageName]['pretty_version']; + } + + throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); + } + + /** + * @param string $packageName + * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as reference + */ + public static function getReference($packageName) + { + foreach (self::getInstalled() as $installed) { + if (!isset($installed['versions'][$packageName])) { + continue; + } + + if (!isset($installed['versions'][$packageName]['reference'])) { + return null; + } + + return $installed['versions'][$packageName]['reference']; + } + + throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); + } + + /** + * @param string $packageName + * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as install path. Packages of type metapackages also have a null install path. + */ + public static function getInstallPath($packageName) + { + foreach (self::getInstalled() as $installed) { + if (!isset($installed['versions'][$packageName])) { + continue; + } + + return isset($installed['versions'][$packageName]['install_path']) ? $installed['versions'][$packageName]['install_path'] : null; + } + + throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); + } + + /** + * @return array + * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string} + */ + public static function getRootPackage() + { + $installed = self::getInstalled(); + + return $installed[0]['root']; + } + + /** + * Returns the raw installed.php data for custom implementations + * + * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect. + * @return array[] + * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array} + */ + public static function getRawData() + { + @trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED); + + if (null === self::$installed) { + // only require the installed.php file if this file is loaded from its dumped location, + // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937 + if (substr(__DIR__, -8, 1) !== 'C') { + self::$installed = include __DIR__ . '/installed.php'; + } else { + self::$installed = array(); + } + } + + return self::$installed; + } + + /** + * Returns the raw data of all installed.php which are currently loaded for custom implementations + * + * @return array[] + * @psalm-return list}> + */ + public static function getAllRawData() + { + return self::getInstalled(); + } + + /** + * Lets you reload the static array from another file + * + * This is only useful for complex integrations in which a project needs to use + * this class but then also needs to execute another project's autoloader in process, + * and wants to ensure both projects have access to their version of installed.php. + * + * A typical case would be PHPUnit, where it would need to make sure it reads all + * the data it needs from this class, then call reload() with + * `require $CWD/vendor/composer/installed.php` (or similar) as input to make sure + * the project in which it runs can then also use this class safely, without + * interference between PHPUnit's dependencies and the project's dependencies. + * + * @param array[] $data A vendor/composer/installed.php data set + * @return void + * + * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array} $data + */ + public static function reload($data) + { + self::$installed = $data; + self::$installedByVendor = array(); + } + + /** + * @return array[] + * @psalm-return list}> + */ + private static function getInstalled() + { + if (null === self::$canGetVendors) { + self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders'); + } + + $installed = array(); + + if (self::$canGetVendors) { + foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) { + if (isset(self::$installedByVendor[$vendorDir])) { + $installed[] = self::$installedByVendor[$vendorDir]; + } elseif (is_file($vendorDir.'/composer/installed.php')) { + $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php'; + if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) { + self::$installed = $installed[count($installed) - 1]; + } + } + } + } + + if (null === self::$installed) { + // only require the installed.php file if this file is loaded from its dumped location, + // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937 + if (substr(__DIR__, -8, 1) !== 'C') { + self::$installed = require __DIR__ . '/installed.php'; + } else { + self::$installed = array(); + } + } + $installed[] = self::$installed; + + return $installed; + } } diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php index 83006fa..4ebd53f 100755 --- a/vendor/composer/autoload_classmap.php +++ b/vendor/composer/autoload_classmap.php @@ -8,8 +8,6 @@ return array( 'Attribute' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Attribute.php', 'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php', - 'JsonException' => $vendorDir . '/symfony/polyfill-php73/Resources/stubs/JsonException.php', - 'Normalizer' => $vendorDir . '/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php', 'Stringable' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Stringable.php', 'UnhandledMatchError' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php', 'ValueError' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/ValueError.php', diff --git a/vendor/composer/autoload_files.php b/vendor/composer/autoload_files.php index b40f097..97e5176 100755 --- a/vendor/composer/autoload_files.php +++ b/vendor/composer/autoload_files.php @@ -8,12 +8,8 @@ return array( '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php', 'a4a119a56e50fbb293281d9a48007e0e' => $vendorDir . '/symfony/polyfill-php80/bootstrap.php', - '320cde22f66dd4f5d3fd621d3e88b98f' => $vendorDir . '/symfony/polyfill-ctype/bootstrap.php', - '8825ede83f2f289127722d4e842cf7e8' => $vendorDir . '/symfony/polyfill-intl-grapheme/bootstrap.php', - 'e69f7f6ee287b969198c3c9d6777bd38' => $vendorDir . '/symfony/polyfill-intl-normalizer/bootstrap.php', - '0d59ee240a4cd96ddbb4ff164fccea4d' => $vendorDir . '/symfony/polyfill-php73/bootstrap.php', - 'b6b991a57620e2fb6b2f66f03fe9ddc2' => $vendorDir . '/symfony/string/Resources/functions.php', '667aeda72477189d0494fecd327c3641' => $vendorDir . '/symfony/var-dumper/Resources/functions/dump.php', + '320cde22f66dd4f5d3fd621d3e88b98f' => $vendorDir . '/symfony/polyfill-ctype/bootstrap.php', 'e39a8b23c42d4e1452234d762b03835a' => $vendorDir . '/ramsey/uuid/src/functions.php', '3074abeef0bacf5811f59e9dee6311d1' => $vendorDir . '/spatie/ray/src/helpers.php', ); diff --git a/vendor/composer/autoload_psr4.php b/vendor/composer/autoload_psr4.php index 4bce62f..eeac2d8 100755 --- a/vendor/composer/autoload_psr4.php +++ b/vendor/composer/autoload_psr4.php @@ -7,16 +7,11 @@ return array( 'Symfony\\Polyfill\\Php80\\' => array($vendorDir . '/symfony/polyfill-php80'), - 'Symfony\\Polyfill\\Php73\\' => array($vendorDir . '/symfony/polyfill-php73'), 'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'), - 'Symfony\\Polyfill\\Intl\\Normalizer\\' => array($vendorDir . '/symfony/polyfill-intl-normalizer'), - 'Symfony\\Polyfill\\Intl\\Grapheme\\' => array($vendorDir . '/symfony/polyfill-intl-grapheme'), 'Symfony\\Polyfill\\Ctype\\' => array($vendorDir . '/symfony/polyfill-ctype'), 'Symfony\\Contracts\\Service\\' => array($vendorDir . '/symfony/service-contracts'), 'Symfony\\Component\\VarDumper\\' => array($vendorDir . '/symfony/var-dumper'), - 'Symfony\\Component\\String\\' => array($vendorDir . '/symfony/string'), 'Symfony\\Component\\Stopwatch\\' => array($vendorDir . '/symfony/stopwatch'), - 'Symfony\\Component\\Console\\' => array($vendorDir . '/symfony/console'), 'Spatie\\Ray\\' => array($vendorDir . '/spatie/ray/src'), 'Spatie\\Macroable\\' => array($vendorDir . '/spatie/macroable/src'), 'Spatie\\Backtrace\\' => array($vendorDir . '/spatie/backtrace/src'), diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php index 44fae97..b4049b8 100755 --- a/vendor/composer/autoload_real.php +++ b/vendor/composer/autoload_real.php @@ -25,7 +25,7 @@ public static function getLoader() require __DIR__ . '/platform_check.php'; spl_autoload_register(array('ComposerAutoloaderInit0254a9ef4827a1c687bb6dd851502812', 'loadClassLoader'), true, true); - self::$loader = $loader = new \Composer\Autoload\ClassLoader(); + self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__))); spl_autoload_unregister(array('ComposerAutoloaderInit0254a9ef4827a1c687bb6dd851502812', 'loadClassLoader')); $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php index 5aa4e45..6a48be5 100755 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -9,12 +9,8 @@ class ComposerStaticInit0254a9ef4827a1c687bb6dd851502812 public static $files = array ( '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php', 'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php', - '320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php', - '8825ede83f2f289127722d4e842cf7e8' => __DIR__ . '/..' . '/symfony/polyfill-intl-grapheme/bootstrap.php', - 'e69f7f6ee287b969198c3c9d6777bd38' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/bootstrap.php', - '0d59ee240a4cd96ddbb4ff164fccea4d' => __DIR__ . '/..' . '/symfony/polyfill-php73/bootstrap.php', - 'b6b991a57620e2fb6b2f66f03fe9ddc2' => __DIR__ . '/..' . '/symfony/string/Resources/functions.php', '667aeda72477189d0494fecd327c3641' => __DIR__ . '/..' . '/symfony/var-dumper/Resources/functions/dump.php', + '320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php', 'e39a8b23c42d4e1452234d762b03835a' => __DIR__ . '/..' . '/ramsey/uuid/src/functions.php', '3074abeef0bacf5811f59e9dee6311d1' => __DIR__ . '/..' . '/spatie/ray/src/helpers.php', ); @@ -23,16 +19,11 @@ class ComposerStaticInit0254a9ef4827a1c687bb6dd851502812 'S' => array ( 'Symfony\\Polyfill\\Php80\\' => 23, - 'Symfony\\Polyfill\\Php73\\' => 23, 'Symfony\\Polyfill\\Mbstring\\' => 26, - 'Symfony\\Polyfill\\Intl\\Normalizer\\' => 33, - 'Symfony\\Polyfill\\Intl\\Grapheme\\' => 31, 'Symfony\\Polyfill\\Ctype\\' => 23, 'Symfony\\Contracts\\Service\\' => 26, 'Symfony\\Component\\VarDumper\\' => 28, - 'Symfony\\Component\\String\\' => 25, 'Symfony\\Component\\Stopwatch\\' => 28, - 'Symfony\\Component\\Console\\' => 26, 'Spatie\\Ray\\' => 11, 'Spatie\\Macroable\\' => 17, 'Spatie\\Backtrace\\' => 17, @@ -58,22 +49,10 @@ class ComposerStaticInit0254a9ef4827a1c687bb6dd851502812 array ( 0 => __DIR__ . '/..' . '/symfony/polyfill-php80', ), - 'Symfony\\Polyfill\\Php73\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/polyfill-php73', - ), 'Symfony\\Polyfill\\Mbstring\\' => array ( 0 => __DIR__ . '/..' . '/symfony/polyfill-mbstring', ), - 'Symfony\\Polyfill\\Intl\\Normalizer\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer', - ), - 'Symfony\\Polyfill\\Intl\\Grapheme\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/polyfill-intl-grapheme', - ), 'Symfony\\Polyfill\\Ctype\\' => array ( 0 => __DIR__ . '/..' . '/symfony/polyfill-ctype', @@ -86,18 +65,10 @@ class ComposerStaticInit0254a9ef4827a1c687bb6dd851502812 array ( 0 => __DIR__ . '/..' . '/symfony/var-dumper', ), - 'Symfony\\Component\\String\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/string', - ), 'Symfony\\Component\\Stopwatch\\' => array ( 0 => __DIR__ . '/..' . '/symfony/stopwatch', ), - 'Symfony\\Component\\Console\\' => - array ( - 0 => __DIR__ . '/..' . '/symfony/console', - ), 'Spatie\\Ray\\' => array ( 0 => __DIR__ . '/..' . '/spatie/ray/src', @@ -135,8 +106,6 @@ class ComposerStaticInit0254a9ef4827a1c687bb6dd851502812 public static $classMap = array ( 'Attribute' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Attribute.php', 'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php', - 'JsonException' => __DIR__ . '/..' . '/symfony/polyfill-php73/Resources/stubs/JsonException.php', - 'Normalizer' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php', 'Stringable' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Stringable.php', 'UnhandledMatchError' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php', 'ValueError' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/ValueError.php', diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index 9068fe8..4e49bbc 100755 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -406,36 +406,38 @@ }, { "name": "spatie/ray", - "version": "1.3.7", - "version_normalized": "1.3.7.0", + "version": "1.19.5", + "version_normalized": "1.19.5.0", "source": { "type": "git", "url": "https://github.com/spatie/ray.git", - "reference": "7cb95aa752b6a1a95e34d0457c59d95185187836" + "reference": "01266d47eda32c57ad43639b99ce4efc523e7336" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/ray/zipball/7cb95aa752b6a1a95e34d0457c59d95185187836", - "reference": "7cb95aa752b6a1a95e34d0457c59d95185187836", + "url": "https://api.github.com/repos/spatie/ray/zipball/01266d47eda32c57ad43639b99ce4efc523e7336", + "reference": "01266d47eda32c57ad43639b99ce4efc523e7336", "shasum": "" }, "require": { "ext-curl": "*", "ext-json": "*", - "php": "^7.4|^8.0", + "php": "^7.3|^8.0", "ramsey/uuid": "^3.0|^4.1", "spatie/backtrace": "^1.0", "spatie/macroable": "^1.0", - "symfony/console": "^4.2|^5.2", - "symfony/stopwatch": "^4.2|^5.2", - "symfony/var-dumper": "^4.2|^5.2" + "symfony/stopwatch": "^4.0|^5.1", + "symfony/var-dumper": "^4.2|^5.1" }, "require-dev": { - "illuminate/support": "^8.18", + "illuminate/support": "6.x|^8.18", + "nesbot/carbon": "^2.43", "phpunit/phpunit": "^9.5", - "spatie/phpunit-snapshot-assertions": "^4.2" + "rector/rector": "^0.9.16", + "spatie/phpunit-snapshot-assertions": "^4.2", + "spatie/test-time": "^1.2" }, - "time": "2021-01-09T14:19:59+00:00", + "time": "2021-02-17T12:24:31+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -466,7 +468,7 @@ ], "support": { "issues": "https://github.com/spatie/ray/issues", - "source": "https://github.com/spatie/ray/tree/1.3.7" + "source": "https://github.com/spatie/ray/tree/1.19.5" }, "funding": [ { @@ -480,106 +482,6 @@ ], "install-path": "../spatie/ray" }, - { - "name": "symfony/console", - "version": "v5.2.1", - "version_normalized": "5.2.1.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "47c02526c532fb381374dab26df05e7313978976" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/47c02526c532fb381374dab26df05e7313978976", - "reference": "47c02526c532fb381374dab26df05e7313978976", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php73": "^1.8", - "symfony/polyfill-php80": "^1.15", - "symfony/service-contracts": "^1.1|^2", - "symfony/string": "^5.1" - }, - "conflict": { - "symfony/dependency-injection": "<4.4", - "symfony/dotenv": "<5.1", - "symfony/event-dispatcher": "<4.4", - "symfony/lock": "<4.4", - "symfony/process": "<4.4" - }, - "provide": { - "psr/log-implementation": "1.0" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "^4.4|^5.0", - "symfony/dependency-injection": "^4.4|^5.0", - "symfony/event-dispatcher": "^4.4|^5.0", - "symfony/lock": "^4.4|^5.0", - "symfony/process": "^4.4|^5.0", - "symfony/var-dumper": "^4.4|^5.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/lock": "", - "symfony/process": "" - }, - "time": "2020-12-18T08:03:05+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Component\\Console\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Console Component", - "homepage": "https://symfony.com", - "keywords": [ - "cli", - "command line", - "console", - "terminal" - ], - "support": { - "source": "https://github.com/symfony/console/tree/v5.2.1" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "install-path": "../symfony/console" - }, { "name": "symfony/polyfill-ctype", "version": "v1.22.0", @@ -662,177 +564,6 @@ ], "install-path": "../symfony/polyfill-ctype" }, - { - "name": "symfony/polyfill-intl-grapheme", - "version": "v1.22.0", - "version_normalized": "1.22.0.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "267a9adeb8ecb8071040a740930e077cdfb987af" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/267a9adeb8ecb8071040a740930e077cdfb987af", - "reference": "267a9adeb8ecb8071040a740930e077cdfb987af", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "time": "2021-01-07T16:49:33+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.22-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Intl\\Grapheme\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's grapheme_* functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "grapheme", - "intl", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.22.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "install-path": "../symfony/polyfill-intl-grapheme" - }, - { - "name": "symfony/polyfill-intl-normalizer", - "version": "v1.22.0", - "version_normalized": "1.22.0.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "6e971c891537eb617a00bb07a43d182a6915faba" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/6e971c891537eb617a00bb07a43d182a6915faba", - "reference": "6e971c891537eb617a00bb07a43d182a6915faba", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "time": "2021-01-07T17:09:11+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.22-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Intl\\Normalizer\\": "" - }, - "files": [ - "bootstrap.php" - ], - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's Normalizer class and related functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "intl", - "normalizer", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.22.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "install-path": "../symfony/polyfill-intl-normalizer" - }, { "name": "symfony/polyfill-mbstring", "version": "v1.22.0", @@ -916,88 +647,6 @@ ], "install-path": "../symfony/polyfill-mbstring" }, - { - "name": "symfony/polyfill-php73", - "version": "v1.22.0", - "version_normalized": "1.22.0.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/a678b42e92f86eca04b7fa4c0f6f19d097fb69e2", - "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "time": "2021-01-07T16:49:33+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.22-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php73\\": "" - }, - "files": [ - "bootstrap.php" - ], - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.22.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "install-path": "../symfony/polyfill-php73" - }, { "name": "symfony/polyfill-php80", "version": "v1.22.0", @@ -1231,92 +880,6 @@ ], "install-path": "../symfony/stopwatch" }, - { - "name": "symfony/string", - "version": "v5.2.1", - "version_normalized": "5.2.1.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/string.git", - "reference": "5bd67751d2e3f7d6f770c9154b8fbcb2aa05f7ed" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/5bd67751d2e3f7d6f770c9154b8fbcb2aa05f7ed", - "reference": "5bd67751d2e3f7d6f770c9154b8fbcb2aa05f7ed", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-intl-grapheme": "~1.0", - "symfony/polyfill-intl-normalizer": "~1.0", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "~1.15" - }, - "require-dev": { - "symfony/error-handler": "^4.4|^5.0", - "symfony/http-client": "^4.4|^5.0", - "symfony/translation-contracts": "^1.1|^2", - "symfony/var-exporter": "^4.4|^5.0" - }, - "time": "2020-12-05T07:33:16+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Symfony\\Component\\String\\": "" - }, - "files": [ - "Resources/functions.php" - ], - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony String component", - "homepage": "https://symfony.com", - "keywords": [ - "grapheme", - "i18n", - "string", - "unicode", - "utf-8", - "utf8" - ], - "support": { - "source": "https://github.com/symfony/string/tree/v5.2.1" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "install-path": "../symfony/string" - }, { "name": "symfony/var-dumper", "version": "v5.2.1", diff --git a/vendor/composer/installed.php b/vendor/composer/installed.php index 1ea814e..017c16c 100644 --- a/vendor/composer/installed.php +++ b/vendor/composer/installed.php @@ -1,200 +1,146 @@ - - array ( - 'pretty_version' => 'dev-develop', - 'version' => 'dev-develop', - 'aliases' => - array ( + array( + 'pretty_version' => 'dev-master', + 'version' => 'dev-master', + 'type' => 'wordpress-plugin', + 'install_path' => __DIR__ . '/../../', + 'aliases' => array(), + 'reference' => 'e19e0addd704e352bc1343c35ffae596ae6147d0', + 'name' => 'peterhegman/wp-laravel-dd', + 'dev' => true, + ), + 'versions' => array( + 'brick/math' => array( + 'pretty_version' => '0.9.1', + 'version' => '0.9.1.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../brick/math', + 'aliases' => array(), + 'reference' => '283a40c901101e66de7061bd359252c013dcc43c', + 'dev_requirement' => false, + ), + 'peterhegman/wp-laravel-dd' => array( + 'pretty_version' => 'dev-master', + 'version' => 'dev-master', + 'type' => 'wordpress-plugin', + 'install_path' => __DIR__ . '/../../', + 'aliases' => array(), + 'reference' => 'e19e0addd704e352bc1343c35ffae596ae6147d0', + 'dev_requirement' => false, + ), + 'psr/container' => array( + 'pretty_version' => '1.0.0', + 'version' => '1.0.0.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../psr/container', + 'aliases' => array(), + 'reference' => 'b7ce3b176482dbbc1245ebf52b181af44c2cf55f', + 'dev_requirement' => false, + ), + 'ramsey/collection' => array( + 'pretty_version' => '1.1.1', + 'version' => '1.1.1.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../ramsey/collection', + 'aliases' => array(), + 'reference' => '24d93aefb2cd786b7edd9f45b554aea20b28b9b1', + 'dev_requirement' => false, + ), + 'ramsey/uuid' => array( + 'pretty_version' => '4.1.1', + 'version' => '4.1.1.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../ramsey/uuid', + 'aliases' => array(), + 'reference' => 'cd4032040a750077205918c86049aa0f43d22947', + 'dev_requirement' => false, + ), + 'rhumsaa/uuid' => array( + 'dev_requirement' => false, + 'replaced' => array( + 0 => '4.1.1', + ), + ), + 'spatie/backtrace' => array( + 'pretty_version' => '1.0.0', + 'version' => '1.0.0.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../spatie/backtrace', + 'aliases' => array(), + 'reference' => '59811ee52b21b5a42a9c6ca8699f979fd64d8cec', + 'dev_requirement' => false, + ), + 'spatie/macroable' => array( + 'pretty_version' => '1.0.1', + 'version' => '1.0.1.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../spatie/macroable', + 'aliases' => array(), + 'reference' => '7a99549fc001c925714b329220dea680c04bfa48', + 'dev_requirement' => false, + ), + 'spatie/ray' => array( + 'pretty_version' => '1.19.5', + 'version' => '1.19.5.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../spatie/ray', + 'aliases' => array(), + 'reference' => '01266d47eda32c57ad43639b99ce4efc523e7336', + 'dev_requirement' => false, + ), + 'symfony/polyfill-ctype' => array( + 'pretty_version' => 'v1.22.0', + 'version' => '1.22.0.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../symfony/polyfill-ctype', + 'aliases' => array(), + 'reference' => 'c6c942b1ac76c82448322025e084cadc56048b4e', + 'dev_requirement' => false, + ), + 'symfony/polyfill-mbstring' => array( + 'pretty_version' => 'v1.22.0', + 'version' => '1.22.0.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../symfony/polyfill-mbstring', + 'aliases' => array(), + 'reference' => 'f377a3dd1fde44d37b9831d68dc8dea3ffd28e13', + 'dev_requirement' => false, + ), + 'symfony/polyfill-php80' => array( + 'pretty_version' => 'v1.22.0', + 'version' => '1.22.0.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../symfony/polyfill-php80', + 'aliases' => array(), + 'reference' => 'dc3063ba22c2a1fd2f45ed856374d79114998f91', + 'dev_requirement' => false, + ), + 'symfony/service-contracts' => array( + 'pretty_version' => 'v2.2.0', + 'version' => '2.2.0.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../symfony/service-contracts', + 'aliases' => array(), + 'reference' => 'd15da7ba4957ffb8f1747218be9e1a121fd298a1', + 'dev_requirement' => false, + ), + 'symfony/stopwatch' => array( + 'pretty_version' => 'v5.2.1', + 'version' => '5.2.1.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../symfony/stopwatch', + 'aliases' => array(), + 'reference' => '2b105c0354f39a63038a1d8bf776ee92852813af', + 'dev_requirement' => false, + ), + 'symfony/var-dumper' => array( + 'pretty_version' => 'v5.2.1', + 'version' => '5.2.1.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../symfony/var-dumper', + 'aliases' => array(), + 'reference' => '13e7e882eaa55863faa7c4ad7c60f12f1a8b5089', + 'dev_requirement' => false, + ), ), - 'reference' => '7acab3ffb04a6dedd11d6d145a71d4ab8429ed4a', - 'name' => 'peterhegman/wp-laravel-dd', - ), - 'versions' => - array ( - 'brick/math' => - array ( - 'pretty_version' => '0.9.1', - 'version' => '0.9.1.0', - 'aliases' => - array ( - ), - 'reference' => '283a40c901101e66de7061bd359252c013dcc43c', - ), - 'peterhegman/wp-laravel-dd' => - array ( - 'pretty_version' => 'dev-develop', - 'version' => 'dev-develop', - 'aliases' => - array ( - ), - 'reference' => '7acab3ffb04a6dedd11d6d145a71d4ab8429ed4a', - ), - 'psr/container' => - array ( - 'pretty_version' => '1.0.0', - 'version' => '1.0.0.0', - 'aliases' => - array ( - ), - 'reference' => 'b7ce3b176482dbbc1245ebf52b181af44c2cf55f', - ), - 'psr/log-implementation' => - array ( - 'provided' => - array ( - 0 => '1.0', - ), - ), - 'ramsey/collection' => - array ( - 'pretty_version' => '1.1.1', - 'version' => '1.1.1.0', - 'aliases' => - array ( - ), - 'reference' => '24d93aefb2cd786b7edd9f45b554aea20b28b9b1', - ), - 'ramsey/uuid' => - array ( - 'pretty_version' => '4.1.1', - 'version' => '4.1.1.0', - 'aliases' => - array ( - ), - 'reference' => 'cd4032040a750077205918c86049aa0f43d22947', - ), - 'rhumsaa/uuid' => - array ( - 'replaced' => - array ( - 0 => '4.1.1', - ), - ), - 'spatie/backtrace' => - array ( - 'pretty_version' => '1.0.0', - 'version' => '1.0.0.0', - 'aliases' => - array ( - ), - 'reference' => '59811ee52b21b5a42a9c6ca8699f979fd64d8cec', - ), - 'spatie/macroable' => - array ( - 'pretty_version' => '1.0.1', - 'version' => '1.0.1.0', - 'aliases' => - array ( - ), - 'reference' => '7a99549fc001c925714b329220dea680c04bfa48', - ), - 'spatie/ray' => - array ( - 'pretty_version' => '1.3.7', - 'version' => '1.3.7.0', - 'aliases' => - array ( - ), - 'reference' => '7cb95aa752b6a1a95e34d0457c59d95185187836', - ), - 'symfony/console' => - array ( - 'pretty_version' => 'v5.2.1', - 'version' => '5.2.1.0', - 'aliases' => - array ( - ), - 'reference' => '47c02526c532fb381374dab26df05e7313978976', - ), - 'symfony/polyfill-ctype' => - array ( - 'pretty_version' => 'v1.22.0', - 'version' => '1.22.0.0', - 'aliases' => - array ( - ), - 'reference' => 'c6c942b1ac76c82448322025e084cadc56048b4e', - ), - 'symfony/polyfill-intl-grapheme' => - array ( - 'pretty_version' => 'v1.22.0', - 'version' => '1.22.0.0', - 'aliases' => - array ( - ), - 'reference' => '267a9adeb8ecb8071040a740930e077cdfb987af', - ), - 'symfony/polyfill-intl-normalizer' => - array ( - 'pretty_version' => 'v1.22.0', - 'version' => '1.22.0.0', - 'aliases' => - array ( - ), - 'reference' => '6e971c891537eb617a00bb07a43d182a6915faba', - ), - 'symfony/polyfill-mbstring' => - array ( - 'pretty_version' => 'v1.22.0', - 'version' => '1.22.0.0', - 'aliases' => - array ( - ), - 'reference' => 'f377a3dd1fde44d37b9831d68dc8dea3ffd28e13', - ), - 'symfony/polyfill-php73' => - array ( - 'pretty_version' => 'v1.22.0', - 'version' => '1.22.0.0', - 'aliases' => - array ( - ), - 'reference' => 'a678b42e92f86eca04b7fa4c0f6f19d097fb69e2', - ), - 'symfony/polyfill-php80' => - array ( - 'pretty_version' => 'v1.22.0', - 'version' => '1.22.0.0', - 'aliases' => - array ( - ), - 'reference' => 'dc3063ba22c2a1fd2f45ed856374d79114998f91', - ), - 'symfony/service-contracts' => - array ( - 'pretty_version' => 'v2.2.0', - 'version' => '2.2.0.0', - 'aliases' => - array ( - ), - 'reference' => 'd15da7ba4957ffb8f1747218be9e1a121fd298a1', - ), - 'symfony/stopwatch' => - array ( - 'pretty_version' => 'v5.2.1', - 'version' => '5.2.1.0', - 'aliases' => - array ( - ), - 'reference' => '2b105c0354f39a63038a1d8bf776ee92852813af', - ), - 'symfony/string' => - array ( - 'pretty_version' => 'v5.2.1', - 'version' => '5.2.1.0', - 'aliases' => - array ( - ), - 'reference' => '5bd67751d2e3f7d6f770c9154b8fbcb2aa05f7ed', - ), - 'symfony/var-dumper' => - array ( - 'pretty_version' => 'v5.2.1', - 'version' => '5.2.1.0', - 'aliases' => - array ( - ), - 'reference' => '13e7e882eaa55863faa7c4ad7c60f12f1a8b5089', - ), - ), ); diff --git a/vendor/spatie/ray/CHANGELOG.md b/vendor/spatie/ray/CHANGELOG.md index d27ec54..287670e 100644 --- a/vendor/spatie/ray/CHANGELOG.md +++ b/vendor/spatie/ray/CHANGELOG.md @@ -2,55 +2,226 @@ All notable changes to `ray` will be documented in this file -## 1.3.7 - 2020-01-09 +## 1.19.5 - 2021-02-17 -add `vendor_frame` attribute to frames +- allow instances of `CarbonInterface` to be used for `CarbonPayload` (#316) -## 1.3.6 - 2020-01-09 +## 1.19.4 - 2021-02-11 + +- fix enabled status (#301) + +## 1.19.3 - 2021-02-09 + +- fix Client cache fingerprint initialization (#292) + +## 1.19.2 - 2021-02-09 + +- add curl throttling after failed connection (#286) + +## 1.19.1 - 2021-02-08 + +- allow symfony/stopwatch 4.0 (#284) + +## 1.19.0 - 2021-02-03 + +- send XML payloads (#272) + +## 1.18.0 - 2021-02-03 + +- add `enable` and `disable` methods + +## 1.17.4 - 2021-02-03 + +- fix: remote_path/local_path replacements (#269) + +## 1.17.3 - 2021-02-02 + +- use http v1.1 instead of 1.0 (#267) + +## 1.17.2 - 2021-02-02 + +- cache config file + +## 1.17.1 - 2021-01-27 + +- add support for PHP 7.3 + +## 1.17.0 - 2021-01-25 + +- add `showApp` and `hideApp` + +## 1.16.0 - 2021-01-22 + +- add `phpinfo` method + +## 1.15.0 - 2021-01-22 + +- add `table` method + +## 1.14.1 - 2021-01-22 + +- fix bug when `remote_path` is also in `filePath` (#227) + +## 1.14.0 - 2021-01-20 + +- Add support for CraftRay + +## 1.13.0 - 2021-01-18 + +- the package will now select the best payload type when passing something to `ray()` +- added `html` method +- added `NullPayload` +- added `BoolPayload` + +## 1.12.0 - 2021-01-18 + +- add `carbon` + +## 1.11.1 - 2021-01-17 + +- lower deps + +## 1.11.0 - 2021-01-15 + +- add `image()` + +## 1.10.0 - 2021-01-15 + +- add `clearAll` + +## 1.9.2 - 2021-01-15 + +- fix bugs around settings + +## 1.9.1 - 2021-01-15 + +- improve helper functions + +## 1.9.0 - 2021-01-15 + +- add `count` + +## 1.8.0 - 2021-01-14 + +- add a check for YiiRay's instance + +## 1.7.2 - 2021-01-13 + +- when passing `null`, let argument convertor return `null` + +## 1.7.1 - 2021-01-13 + +- improve return type of ray function + +## 1.7.0 - 2021-01-13 + +- support multiple arguments to `toJson()` and `json()` (#148) + +## 1.6.1 - 2021-01-13 + +- prevent possible memory leak (#143) + +## 1.6.0 - 2021-01-13 + +- add `file` function (#134) + +## 1.5.10 - 2021-01-13 + +- allow better compatibility with WordPress + +## 1.5.9 - 2021-01-13 + +- ignore package version errors + +## 1.5.8 - 2021-01-13 + +- ignore package check errors + +## 1.5.7 - 2021-01-13 + +- remove unneeded symfony/console dependency + +## 1.5.6 - 2021-01-13 + +- allow lower dependencies + +## 1.5.5 - 2021-01-11 + +- split origin factory in overridable functions + +## 1.5.4 - 2021-01-11 + +- support WordPressRay + +## 1.5.3 - 2021-01-10 + +- fix for traces of WordPress + +## 1.5.2 - 2021-01-10 + +- colorize app frames + +## 1.5.1 - 2021-01-10 + +- polish json functions + +## 1.5.0 - 2021-01-09 + +- add `json` function + +## 1.4.0 - 2021-01-09 + +- add `rd` function + +## 1.3.7 - 2021-01-09 + +- add `vendor_frame` attribute to frames + +## 1.3.6 - 2021-01-09 - allow older version of uuid package -## 1.3.5 - 2020-01-09 +## 1.3.5 - 2021-01-09 - fix search for `$indexOfRay` to include calls from the parent directory (#80) -## 1.3.4 - 2020-01-08 +## 1.3.4 - 2021-01-08 - prevent warning if `open_basedir` is enabled -## 1.3.3 - 2020-01-08 +## 1.3.3 - 2021-01-08 - do not require Composer 2 -## 1.3.2 - 2020-01-08 +## 1.3.2 - 2021-01-08 - prevent ray from blowing up when there is no config file -## 1.3.1 - 2020-01-08 +## 1.3.1 - 2021-01-08 - do not blow up when the Ray app is not running -## 1.3.0 - 2020-01-08 +## 1.3.0 - 2021-01-08 - add support for `remote_path` and `local_path` config values -## 1.2.0 - 2020-01-08 +## 1.2.0 - 2021-01-08 - add `pass` function -## 1.1.3 - 2020-01-08 +## 1.1.3 - 2021-01-08 - prevent exception when installing in an Orchestra powered testsuite -## 1.1.2 - 2020-01-08 +## 1.1.2 - 2021-01-08 - enforce Composer 2 requirement -### 1.1.1 - 2020-01-08 +### 1.1.1 - 2021-01-08 - fix for repeated calls to `ray()` throwing an exception (#30) -## 1.1.0 - 2020-01-07 +## 1.1.0 - 2021-01-07 - add `makePathOsSafe` - fix tests diff --git a/vendor/spatie/ray/README.md b/vendor/spatie/ray/README.md index 31df87b..0d4c988 100644 --- a/vendor/spatie/ray/README.md +++ b/vendor/spatie/ray/README.md @@ -12,7 +12,7 @@ You can find the full documentation on [our documentation site](https://spatie.b ## Testing -``` bash +```bash composer test ``` diff --git a/vendor/spatie/ray/composer.json b/vendor/spatie/ray/composer.json index aa36cf3..1bf263f 100644 --- a/vendor/spatie/ray/composer.json +++ b/vendor/spatie/ray/composer.json @@ -16,20 +16,22 @@ } ], "require": { - "php": "^7.4|^8.0", + "php": "^7.3|^8.0", "ext-curl": "*", "ext-json": "*", "ramsey/uuid": "^3.0|^4.1", "spatie/backtrace": "^1.0", "spatie/macroable": "^1.0", - "symfony/console": "^4.2|^5.2", - "symfony/stopwatch": "^4.2|^5.2", - "symfony/var-dumper": "^4.2|^5.2" + "symfony/stopwatch": "^4.0|^5.1", + "symfony/var-dumper": "^4.2|^5.1" }, "require-dev": { - "illuminate/support": "^8.18", + "illuminate/support": "6.x|^8.18", + "nesbot/carbon": "^2.43", "phpunit/phpunit": "^9.5", - "spatie/phpunit-snapshot-assertions": "^4.2" + "rector/rector": "^0.9.16", + "spatie/phpunit-snapshot-assertions": "^4.2", + "spatie/test-time": "^1.2" }, "autoload": { "psr-4": { diff --git a/vendor/spatie/ray/docs/advanced-usage/_index.md b/vendor/spatie/ray/docs/advanced-usage/_index.md new file mode 100644 index 0000000..a092ef0 --- /dev/null +++ b/vendor/spatie/ray/docs/advanced-usage/_index.md @@ -0,0 +1,4 @@ +--- +title: Advanced usage +weight: 6 +--- diff --git a/vendor/spatie/ray/docs/usage/adding-your-own-functions.md b/vendor/spatie/ray/docs/advanced-usage/adding-your-own-ray-functions-in-php.md similarity index 75% rename from vendor/spatie/ray/docs/usage/adding-your-own-functions.md rename to vendor/spatie/ray/docs/advanced-usage/adding-your-own-ray-functions-in-php.md index 8767186..aff9670 100644 --- a/vendor/spatie/ray/docs/usage/adding-your-own-functions.md +++ b/vendor/spatie/ray/docs/advanced-usage/adding-your-own-ray-functions-in-php.md @@ -1,9 +1,9 @@ --- -title: Adding your own functions -weight: 4 +title: Adding your own Ray functions in PHP +weight: 1 --- -`ray` will proxy all calls to the `Spatie\Ray\Ray` class. This class is macroable: you can dynamically add your own functions to it. +In all PHP projects, `ray` will proxy all calls to the `Spatie\Ray\Ray` class. This class is macroable: you can dynamically add your own functions to it. Here's a silly example where the passed value will be displayed in uppercase in the Ray app. diff --git a/vendor/spatie/ray/docs/changelog.md b/vendor/spatie/ray/docs/changelog.md index 160a148..8718aed 100644 --- a/vendor/spatie/ray/docs/changelog.md +++ b/vendor/spatie/ray/docs/changelog.md @@ -5,7 +5,8 @@ weight: 6 All changes to the desktop app are mentioned in our [release notes](https://spatie.be/products/ray/release-notes). -All notable changes to `spatie/ray` and `spatie/laravel-ray` are documented on GitHub: +All notable changes are documented on GitHub: - [Ray changelog](https://github.com/spatie/ray/blob/master/CHANGELOG.md) - [Laravel Ray changelog](https://github.com/spatie/laravel-ray/blob/master/CHANGELOG.md) +- [WordPress Ray changelog](https://github.com/spatie/wordpress-ray/blob/master/CHANGELOG.md) diff --git a/vendor/spatie/ray/docs/configuration/_index.md b/vendor/spatie/ray/docs/configuration/_index.md new file mode 100644 index 0000000..94884b5 --- /dev/null +++ b/vendor/spatie/ray/docs/configuration/_index.md @@ -0,0 +1,4 @@ +--- +title: Configuration +weight: 3 +--- diff --git a/vendor/spatie/ray/docs/configuration/craft-cms.md b/vendor/spatie/ray/docs/configuration/craft-cms.md new file mode 100644 index 0000000..e7f5626 --- /dev/null +++ b/vendor/spatie/ray/docs/configuration/craft-cms.md @@ -0,0 +1,49 @@ +--- +title: Craft CMS +weight: 7 +--- + +For Craft CMS projects you can create a `craft-ray.php` file in your project's `config` directory. + +```php +// save this in a file called "ray.php" in the config directory of your project + true, + + /* + * The host used to communicate with the Ray app. + * For usage in Docker on Mac or Windows, you can replace host with 'host.docker.internal' + * For usage in Homestead on Mac or Windows, you can replace host with '10.0.2.2' + */ + 'host' => 'localhost', + + /* + * The port number used to communicate with the Ray app. + */ + 'port' => 23517, + + /* + * Absolute base path for your sites or projects in Homestead, + * Vagrant, Docker, or another remote development server. + */ + 'remote_path' => null, + + /* + * Absolute base path for your sites or projects on your local + * computer where your IDE or code editor is running on. + */ + 'local_path' => null, + + /* + * When this setting is enabled, the package will not try to format values sent to Ray. + */ + 'always_send_raw_values' => false, +]; + +``` diff --git a/vendor/spatie/ray/docs/configuration/framework-agnostic-php.md b/vendor/spatie/ray/docs/configuration/framework-agnostic-php.md new file mode 100644 index 0000000..971ae80 --- /dev/null +++ b/vendor/spatie/ray/docs/configuration/framework-agnostic-php.md @@ -0,0 +1,42 @@ +--- +title: Framework agnostic PHP +weight: 2 +--- + +In framework agnostic projects you can use this template as [the ray config file](/docs/ray/v1/configuration/general). + +```php +// save this in a file called "ray.php" + true, + + /* + * The host used to communicate with the Ray app. + */ + 'host' => 'localhost', + + /* + * The port number used to communicate with the Ray app. + */ + 'port' => 23517, + + /* + * Absolute base path for your sites or projects in Homestead, Vagrant, Docker, or another remote development server. + */ + 'remote_path' => null, + + /* + * Absolute base path for your sites or projects on your local computer where your IDE or code editor is running on. + */ + 'local_path' => null, + + /* + * When this setting is enabled, the package will not try to format values sent to Ray. + */ + 'always_send_raw_values' => false, +]; +``` diff --git a/vendor/spatie/ray/docs/configuration/general.md b/vendor/spatie/ray/docs/configuration/general.md new file mode 100644 index 0000000..0a4e297 --- /dev/null +++ b/vendor/spatie/ray/docs/configuration/general.md @@ -0,0 +1,10 @@ +--- +title: General +weight: 1 +--- + +In PHP based projects, you can optionally configure Ray by creating a file named `ray.php` in your project directory. We recommend putting `ray.php` in your `.gitignore` so your fellow developers can use their own configuration. + +Ray will also look for `ray.php` in all parent directories of your project. To configure multiple Ray for multiple projects in one go, you could create a `ray.php` file in the directory where all your projects reside in. + +In Ruby projects you shoudl diff --git a/vendor/spatie/ray/docs/configuration/laravel.md b/vendor/spatie/ray/docs/configuration/laravel.md new file mode 100644 index 0000000..b4ef96e --- /dev/null +++ b/vendor/spatie/ray/docs/configuration/laravel.md @@ -0,0 +1,91 @@ +--- +title: Laravel +weight: 3 +--- + +For Laravel projects you can create a `ray.php` file in your project directory (not in the `config` directory) using the following template as [the ray config file](/docs/ray/v1/configuration/general). Since the configuration file is developer specific, you might want to add it to the `.gitignore` of the project. + +Note: if everyone working on the project needs the same configuration, you can put the file in the `config` directory as well. + +```php +// save this in a file called "ray.php" in the root directory of your project; not in the Laravel "config" directory + env('RAY_ENABLED', true), + + /* + * When enabled, all cache events will automatically be sent to Ray. + */ + 'send_cache_to_ray' => env('SEND CACHE_TO_RAY', false), + + /* + * When enabled, all things passed to `dump` or `dd` + * will be sent to Ray as well. + */ + 'send_dumps_to_ray' => env('SEND_DUMPS_TO_RAY', true), + + /* + * When enabled all job events will automatically be sent to Ray. + */ + 'send_jobs_to_ray' => env('SEND JOBS_TO_RAY', false), + + /* + * When enabled, all things logged to the application log + * will be sent to Ray as well. + */ + 'send_log_calls_to_ray' => env('SEND_LOG_CALLS_TO_RAY', true), + + /* + * When enabled, all queries will automatically be sent to Ray. + */ + 'send_queries_to_ray' => env('SEND QUERIES_TO_RAY', false), + + /* + * When enabled, all requests made to this app will automatically be sent to Ray. + */ + 'send_requests_to_ray' => env('SEND REQUESTS_TO_RAY', false), + + /* + * When enabled, all views that are rendered automatically be sent to Ray. + */ + 'send_views_to_ray' => env('SEND VIEWS_TO_RAY', false), + + /* + * The host used to communicate with the Ray app. + * When using Docker on Mac or Windows, you can replace localhost with 'host.docker.internal' + * When using Homestead with the VirtualBox provider, you can replace localhost with '10.0.2.2' + * When using Homestead with the Parallels provider, you can replace localhost with '10.211.55.2' + */ + 'host' => env('RAY_HOST', 'localhost'), + + /* + * The port number used to communicate with the Ray app. + */ + 'port' => env('RAY_PORT', 23517), + + /* + * Absolute base path for your sites or projects in Homestead, + * Vagrant, Docker, or another remote development server. + */ + 'remote_path' => env('RAY_REMOTE_PATH', null), + + /* + * Absolute base path for your sites or projects on your local + * computer where your IDE or code editor is running on. + */ + 'local_path' => env('RAY_LOCAL_PATH', null), + + /* + * When this setting is enabled, the package will not try to format values sent to Ray. + */ + 'always_send_raw_values' => false, +]; +``` + +## Docker +See [our Docker-specific configuration page](/docs/ray/v1/environment-specific-configuration/docker) for information about setting up Ray in combination with Docker. All changes also apply to a setup with Laravel. diff --git a/vendor/spatie/ray/docs/configuration/nodejs.md b/vendor/spatie/ray/docs/configuration/nodejs.md new file mode 100644 index 0000000..5649fec --- /dev/null +++ b/vendor/spatie/ray/docs/configuration/nodejs.md @@ -0,0 +1,54 @@ +--- +title: NodeJS +weight: 8 +--- + +## NodeJS configuration +In NodeJS based projects, you can optionally create a `ray.config.js` file in your project directory. It's recommended to put `ray.config.js` in your `.gitignore` so your fellow developers can use their own configuration. + +You can use this template as [the ray config file](/docs/ray/v1/configuration/nodejs): + +```js +// save this in a file named "ray.config.js" +module.exports = { + /* + * This settings controls whether data should be sent to Ray. + */ + enable: true, + + /* + * The host used to communicate with the Ray app. + */ + host: 'localhost', + + /* + * The port number used to communicate with the Ray app. + */ + port: 23517, +} +``` + +## Browser configuration + +This section only applies if you are using `node-ray` in a browser environment _(webpack, etc.)_. + +You can configure `node-ray` by importing the `Ray` class and calling the `useDefaultSettings()` method. + +```js +const { Ray, ray } = require('node-ray'); + +// set several settings at once: +Ray.useDefaultSettings({ + host: '192.168.1.20', + port: 23517 +}); + +// or set individual settings only: +Ray.useDefaultSettings({ port: 23517 }); + +// use ray() normally: +ray().html('hello world'); +``` + +These settings persist across calls to `ray()`, so they only need to be defined once. + diff --git a/vendor/spatie/ray/docs/configuration/wordpress.md b/vendor/spatie/ray/docs/configuration/wordpress.md new file mode 100644 index 0000000..6f8dc80 --- /dev/null +++ b/vendor/spatie/ray/docs/configuration/wordpress.md @@ -0,0 +1,42 @@ +--- +title: WordPress +weight: 4 +--- + +In WordPress apps you can use this template as [the ray config file](/docs/ray/v1/configuration/general). + +```php +// save this in a file called "ray.php" + true, + + /* + * The host used to communicate with the Ray app. + */ + 'host' => 'localhost', + + /* + * The port number used to communicate with the Ray app. + */ + 'port' => 23517, + + /* + * Absolute base path for your sites or projects in Homestead, Vagrant, Docker, or another remote development server. + */ + 'remote_path' => null, + + /* + * Absolute base path for your sites or projects on your local computer where your IDE or code editor is running on. + */ + 'local_path' => null, + + /* + * When this setting is enabled, the package will not try to format values sent to Ray. + */ + 'always_send_raw_values' => false, +]; +``` diff --git a/vendor/spatie/ray/docs/configuration/yii2.md b/vendor/spatie/ray/docs/configuration/yii2.md new file mode 100644 index 0000000..378891c --- /dev/null +++ b/vendor/spatie/ray/docs/configuration/yii2.md @@ -0,0 +1,49 @@ +--- +title: Yii2 +weight: 6 +--- + +For Yii projects you can create a `ray.php` file in your project's `config` directory. + +```php +// save this in a file called "ray.php" in the config directory of your project + true, + + /* + * The host used to communicate with the Ray app. + * For usage in Docker on Mac or Windows, you can replace host with 'host.docker.internal' + * For usage in Homestead on Mac or Windows, you can replace host with '10.0.2.2' + */ + 'host' => 'localhost', + + /* + * The port number used to communicate with the Ray app. + */ + 'port' => 23517, + + /* + * Absolute base path for your sites or projects in Homestead, + * Vagrant, Docker, or another remote development server. + */ + 'remote_path' => null, + + /* + * Absolute base path for your sites or projects on your local + * computer where your IDE or code editor is running on. + */ + 'local_path' => null, + + /* + * When this setting is enabled, the package will not try to format values sent to Ray. + */ + 'always_send_raw_values' => false, +]; + +``` diff --git a/vendor/spatie/ray/docs/environment-specific-configuration/_index.md b/vendor/spatie/ray/docs/environment-specific-configuration/_index.md new file mode 100644 index 0000000..7295979 --- /dev/null +++ b/vendor/spatie/ray/docs/environment-specific-configuration/_index.md @@ -0,0 +1,4 @@ +--- +title: Environment specific configuration +weight: 4 +--- diff --git a/vendor/spatie/ray/docs/environment-specific-configuration/docker.md b/vendor/spatie/ray/docs/environment-specific-configuration/docker.md new file mode 100644 index 0000000..ce9452b --- /dev/null +++ b/vendor/spatie/ray/docs/environment-specific-configuration/docker.md @@ -0,0 +1,61 @@ +--- +title: Docker +weight: 1 +--- + +When developing using Docker, the Ray host should point to the internal IP of your Docker host by using 'host.docker.internal' in [the config file](/docs/ray/v1/configuration/general). + +```php +// save this in a file called "ray.php" + 'host.docker.internal', + + /* + * The port number used to communicate with the Ray app. + */ + 'port' => 23517, + + /* + * Absolute base path for your sites or projects in Homestead, Vagrant, Docker, or another remote development server. + */ + 'remote_path' => null, + + /* + * Absolute base path for your sites or projects on your local computer where your IDE or code editor is running on. + */ + 'local_path' => null, +]; +``` + +To make sure that Ray uses the correct file path for creating the links, you will also need to setup the `remote_path` and `local_path` variables. `remote_path` is the absolute path of your project in the Docker container. `local_path` is the absolute path of your project on the local file system. + +**Example:** +In your `docker-compose.yml` you mount the volume as follows: +``` +volumes: + - .:/var/www +``` +Then `remote_path` should be `/var/www` and `local_path` should be the absolute path to the directory where your `docker-compose.yml` is located (you can find this by running `pwd` inside that directoy if you are on Linux). + +On Linux, you will also need to add an 'extra_hosts' parameter to your container definitions to expose 'host.docker.internal'. Please make sure you are using Docker `20.03` or higher. +``` +#docker-compose.yml + +services: + site: + image: nginx:stable-alpine + container_name: nginx + ports: + - "80:80" + depends_on: + - php + - db + networks: + - packt-api + extra_hosts: # <-- this is required + - "host.docker.internal:host-gateway" # <-- this is required +``` diff --git a/vendor/spatie/ray/docs/environment-specific-configuration/homestead.md b/vendor/spatie/ray/docs/environment-specific-configuration/homestead.md new file mode 100644 index 0000000..470ca1c --- /dev/null +++ b/vendor/spatie/ray/docs/environment-specific-configuration/homestead.md @@ -0,0 +1,6 @@ +--- +title: Homestead +weight: 2 +--- + +To use Ray with Homestead you should use the config file mentioned in [the Laravel configuration instructions](/docs/ray/v1/configuration/laravel). When using Homestead with the VirtualBox provider, you should use `10.0.2.2` as the IP for the host; and when you're using Homestead with the Parallels provider, you should use `10.211.55.2` as the IP for the host. diff --git a/vendor/spatie/ray/docs/environment-specific-configuration/linux.md b/vendor/spatie/ray/docs/environment-specific-configuration/linux.md new file mode 100644 index 0000000..d48fdc9 --- /dev/null +++ b/vendor/spatie/ray/docs/environment-specific-configuration/linux.md @@ -0,0 +1,23 @@ +--- +title: Linux +weight: 3 +--- + +When using the Linux AppImage, the automatic updates rename the binary with the latest version _(i.e., Ray-1.12.0.AppImage)_. + +Instead of symlinking the binary directly, you can use the following script to always run the latest version of Ray by placing it in the same directory as the Ray binary: + + + +__ray-latest.sh__ + +```bash +#!/bin/bash + +THIS_DIR=$(realpath `dirname $0`) +LATEST_BINARY=$(ls -1 $THIS_DIR/Ray-*.*.AppImage | sort -r | head -n 1) + +$LATEST_BINARY +``` + + diff --git a/vendor/spatie/ray/docs/environment-specific-configuration/windows-10.md b/vendor/spatie/ray/docs/environment-specific-configuration/windows-10.md new file mode 100644 index 0000000..fc91d9a --- /dev/null +++ b/vendor/spatie/ray/docs/environment-specific-configuration/windows-10.md @@ -0,0 +1,36 @@ +--- +title: Windows 10 +weight: 3 +--- + +## PhpStorm + +Windows 10 does not support the PhpStorm protocol and therefore you will not be able to open PhpStorm given the link from Ray. +As a work-around, @aik099 has a package to edits your registry to correlate the PhpStorm link protocol to your PhpStorm instance. + +Just goto [PhpStorm Protocol Package](https://github.com/aik099/PhpStormProtocol) and follow the directions. There is a +chance you may need to reference this [issue](https://github.com/aik099/PhpStormProtocol/issues/32) if you are having +problems getting it to work out of the box. However, be sure to update your run_editor.js to your current version of PhpStorm and everything should work. + +## WSL2 + +When using WSL2 on Windows 10 we need to consider first how this technology works: essentially, the Linux running on WSL2, is an optimized VM runing on Hyper-V, but it is a "full-blown" Linux OS independent from your host that has some specific kernel changes to make things a bit smoother. Knowing this, we need to setup the [ray](https://github.com/spatie/ray) package accordingly to connect to the app. + +Our Windows 10 host and our WSL2 Linux each have its own network configuration. What we need to achieve is that WSL2 (which is running our code) is able to send the ray debug events to the Windows 10 host. First off we need to know that WSL2 changes its IP address segment on each launch (each Windows 10 reboot) because that's how it works in Hyper-V, but it also configures automatically the routing necessary to reach our physical network segment (Windows 10 IP address segment) from within WSL2 for us. + +There are 3 ways to reach the ray app from within WSL2 that is running our code. The first two are the recommended ways as you are required to configure them only once: +1. Set a static IP address manually for our Windows 10 host. +2. Set a DHCP reservation for our Windows 10 host on our DHCP server. +3. Reconfigure the ray package each time we boot our Windows 10 host and WSL2 to set `$windows_10_ip_addr` as the WSL2 gateway IP. + +In all of them what you need to do is set the following configuration in ray: + +```php +'host' => $windows_10_ip_addr, // this could be the windows 10 IP addres (1. and 2.) or the WSL2 gateway IP address (3. which you would have to change on each reboot) + +// this entries are to enhance ray by allowing to open the files directly in your editor +'remote_path' => $path_to_code_inside_wsl2, // usually something like /home/spatie/code/my-project +'local_path' => $path_to_code_to_wsl2_in_windows, // usually something like \\\\wsl$\\Ubuntu\\home\\spatie\\code\\my-project <- don't forget to escape the \ if using double-quotes like in the example +``` + +_Also note that you could run into issues with the Windows firewall or your antivirus software that could block the network communication between your WSL2 VM and your Windows 10 host, so check first if nothing is being blocked if you do not succeed at first to send ray debug events to the app.__ diff --git a/vendor/spatie/ray/docs/getting-started.md b/vendor/spatie/ray/docs/getting-started.md new file mode 100644 index 0000000..fa3e782 --- /dev/null +++ b/vendor/spatie/ray/docs/getting-started.md @@ -0,0 +1,10 @@ +--- +title: Getting started +weight: 3 +--- + +- [Download the app](/docs/ray/v1/the-ray-desktop-app/download-the-free-demo) +- Optionally: unlock it with a license bought in [our store](https://spatie.be/products/ray) +- [Install the free package](/docs/ray/v1/installation-in-your-project/introduction) into your app +- [Configure Ray](/docs/ray/v1/configuration/general) if needed +- Start [using Ray](/docs/ray/v1/usage/introduction)! diff --git a/vendor/spatie/ray/docs/getting-started/_index.md b/vendor/spatie/ray/docs/getting-started/_index.md deleted file mode 100644 index 23f0e0d..0000000 --- a/vendor/spatie/ray/docs/getting-started/_index.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Getting started -weight: 2 ---- diff --git a/vendor/spatie/ray/docs/getting-started/configuring-ray.md b/vendor/spatie/ray/docs/getting-started/configuring-ray.md deleted file mode 100644 index 9876e95..0000000 --- a/vendor/spatie/ray/docs/getting-started/configuring-ray.md +++ /dev/null @@ -1,137 +0,0 @@ ---- -title: Configuring Ray -weight: 4 ---- - -You can optionally configure Ray by creating a file named `ray.php` in your project directory. We recommend putting `ray.php` in your `.gitignore` so your fellow developers can use their own configuration. - -Ray will also look for `ray.php` in all parent directories of your project. To configure multiple Ray for multiple projects in one go, you could create a `ray.php` file in the directory where all your projects reside in. - -In framework agnostic projects you can use this template. - -```php -// save this in a file called "ray.php" - -return [ - /* - * The host used to communicate with the Ray app. - */ - 'host' => 'localhost', - - /* - * The port number used to communicate with the Ray app. - */ - 'port' => 23517, - - /* - * Absolute base path for your sites or projects in Homestead, Vagrant, Docker, or another remote development server. - */ - 'remote_path' => null, - - /* - * Absolute base path for your sites or projects on your local computer where your IDE or code editor is running on. - */ - 'local_path' => null, -]; -``` -For Laravel projects you can run an artisan command to publish the config file in to the project root. - -```bash -php artisan ray:publish-config -``` - -You can also add an option for 'docker' or 'homestead' to give a base configuration for those dev environments. - -```bash -php artisan ray:publish-config --docker -//or -php artisan ray:publish-config --homestead -``` - -Alternatively for Laravel projects you can create a ray.php file and use the following template: - -```php -// save this in a file called "ray.php" in the root directory of your project; not in the Laravel "config" directory - -return [ - /* - * This settings controls whether data should be sent to Ray. - * - * By default, `ray()` will only transmit data in non-production environments. - */ - 'enable' => true, - - /* - * When enabled, all things logged to the application log - * will be sent to Ray as well. - */ - 'send_log_calls_to_ray' => true, - - /* - * When enabled, all things passed to `dump` or `dd` - * will be sent to Ray as well. - */ - 'send_dumps_to_ray' => true, - - /* - * The host used to communicate with the Ray app. - * For usage in Docker on Mac or Windows, you can replace host with 'host.docker.internal' - * For usage in Homestead on Mac or Windows, you can replace host with '10.0.2.2' - */ - 'host' => 'localhost', - - /* - * The port number used to communicate with the Ray app. - */ - 'port' => 23517, -]; -``` - -When developing using Docker, the Ray host should point to the internal IP of your Docker host by using 'host.docker.internal'. - -```php -// save this in a file called "ray.php" - -return [ - /* - * The host used to communicate with the Ray app. - */ - 'host' => 'host.docker.internal', - - /* - * The port number used to communicate with the Ray app. - */ - 'port' => 23517, - - /* - * Absolute base path for your sites or projects in Homestead, Vagrant, Docker, or another remote development server. - */ - 'remote_path' => null, - - /* - * Absolute base path for your sites or projects on your local computer where your IDE or code editor is running on. - */ - 'local_path' => null, -]; -``` - - -**Linux Docker Compose Users** - You will need to add an 'extra_hosts' parameter to your container definitions to expose 'host.docker.internal'. -``` -#docker-compose.yml - -services: - site: - image: nginx:stable-alpine - container_name: nginx - ports: - - "80:80" - depends_on: - - php - - db - networks: - - packt-api - extra_hosts: # <-- this is required - - "host.docker.internal:host-gateway" # <-- this is required -``` - diff --git a/vendor/spatie/ray/docs/getting-started/installation-in-a-framework-agnostic-php-project.md b/vendor/spatie/ray/docs/getting-started/installation-in-a-framework-agnostic-php-project.md deleted file mode 100644 index ded9af5..0000000 --- a/vendor/spatie/ray/docs/getting-started/installation-in-a-framework-agnostic-php-project.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Installation in a framework agnostic PHP project -weight: 2 ---- - -To start using Ray any PHP project , install the `ray` package. - -```bash -composer require spatie/ray -``` - -You should be able to use the `ray` function without any other steps. - -If you use Laravel, you should use install [the Laravel specific package](/docs/ray/v1/getting-started/installation-in-laravel) instead of `spatie/ray`. - diff --git a/vendor/spatie/ray/docs/images/cache.png b/vendor/spatie/ray/docs/images/cache.png new file mode 100644 index 0000000000000000000000000000000000000000..4a33caa1ea2c403f1ae4316d6bd3b74b6fed60cb GIT binary patch literal 410206 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

+|iLp(5%&(fv@ev0&4Ga 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