├── .editorconfig ├── .env ├── .gitattributes ├── .gitignore ├── Dockerfile ├── LICENSE.md ├── README.md ├── app ├── Commands │ ├── .gitkeep │ ├── DefaultMqConsumer.php │ ├── DefaultMqProducer.php │ ├── DirectMqConsumer.php │ ├── DirectMqProducer.php │ ├── DirectQosMqConsumer.php │ ├── HeaderMqConsumer.php │ ├── HeaderMqProducer.php │ ├── TopicMqConsumer.php │ └── TopicMqProducer.php ├── Extensions │ └── AmqpConnectionChannel.php └── Providers │ └── AppServiceProvider.php ├── artisan ├── bootstrap └── app.php ├── box.json ├── composer.json ├── composer.lock ├── config ├── app.php └── commands.php ├── docker-compose.yml ├── phpunit.xml.dist └── tests ├── CreatesApplication.php ├── Feature └── InspiringCommandTest.php └── TestCase.php /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | end_of_line = lf 6 | insert_final_newline = true 7 | indent_style = space 8 | indent_size = 4 9 | trim_trailing_whitespace = true 10 | 11 | [*.md] 12 | trim_trailing_whitespace = false 13 | 14 | [*.yml] 15 | indent_style = space 16 | indent_size = 2 17 | -------------------------------------------------------------------------------- /.env: -------------------------------------------------------------------------------- 1 | RABBITMQ_HOST=rabbitmq 2 | RABBITMQ_PORT=5672 3 | RABBITMQ_USER=user 4 | RABBITMQ_PASSWORD=bitnami 5 | RABBITMQ_VHOST='/' 6 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | .travis.yml export-ignore 3 | .styleci.yml export-ignore 4 | .scrutinizer.yml export-ignore 5 | BACKERS.md export-ignore 6 | CONTRIBUTING.md export-ignore 7 | CHANGELOG.md export-ignore 8 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /vendor 2 | /.idea 3 | /.vscode 4 | /.vagrant 5 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM php:7.3-rc-fpm 2 | 3 | RUN apt-get update 4 | 5 | RUN apt-get install -y nano curl zip unzip git 6 | 7 | RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer 8 | 9 | RUN docker-php-ext-install bcmath 10 | 11 | RUN docker-php-ext-install sockets 12 | 13 | RUN mkdir /app 14 | 15 | WORKDIR /app 16 | 17 | CMD [ "php-fpm" ] -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) Nuno Maduro 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | RabbitMQ tutorial for PHP 2 | --- 3 | 4 | ## Installation 5 | - `cp .env.example .env` 6 | - Populate the required environment variables. 7 | - `sudo chown -R 1001:1001 ~/.backup/rabbitmq/rabbitmq-tutorial` 8 | - It comes with docker. `docker-compose up -d --build` 9 | - `docker-compose exec php bash` 10 | - `composer install` 11 | - `php artisan ` 12 | 13 | 14 | ## Available commands 15 | **Adding `--auto` to all the following commands will not ask for message, exchange, queue, routing and binding key. Or empty values for the prompted questions will fill up data automatically.** 16 | 17 | - `php artisan default:publisher` 18 | - `php artisan default:consumer` 19 | 20 | - `php artisan direect:publisher` 21 | - `php artisan direect:consumer` 22 | 23 | - `php artisan direct:consumer:qos` 24 | 25 | - `php artisan topic:publisher` 26 | - `php artisan topic:consumer` 27 | 28 | - `php artisan header:publisher` 29 | - `php artisan header:consumer` 30 | -------------------------------------------------------------------------------- /app/Commands/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssi-anik/rabbitmq-tutorial/085eaaf49628b5f624d1add51bedc34ad7328044/app/Commands/.gitkeep -------------------------------------------------------------------------------- /app/Commands/DefaultMqConsumer.php: -------------------------------------------------------------------------------- 1 | option('auto')) { 20 | $qn = trim($this->ask('Write a queue name: ')); 21 | } 22 | 23 | if (empty($qn)) { 24 | $qn = 'default.exchange.queue'; 25 | } 26 | 27 | /* @var AMQPStreamConnection $connection */ 28 | /* @var \PhpAmqpLib\Channel\AMQPChannel $channel */ 29 | [ $connection, $channel ] = $this->setup(); 30 | $channel->queue_declare($qn, false, true, false, false); 31 | 32 | $callback = function (AMQPMessage $msg) use ($qn) { 33 | $this->output->success(sprintf("[queue: %s] - [MSG: %s]", $qn, $msg->body)); 34 | }; 35 | 36 | $channel->basic_consume($qn, '', false, true, false, false, $callback); 37 | 38 | $this->output->warning('Waiting for messages [' . $qn . ']'); 39 | 40 | while ( $channel->is_consuming() ) { 41 | $channel->wait(); 42 | } 43 | 44 | $channel->close(); 45 | $connection->close(); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /app/Commands/DefaultMqProducer.php: -------------------------------------------------------------------------------- 1 | option('auto'); 21 | 22 | if (!$auto) { 23 | $text = trim($this->ask('Write any message: ')); 24 | $qn = trim($this->ask('Write a queue name: ')); 25 | } 26 | 27 | if (empty($text)) { 28 | $text = json_encode([ 29 | 'name' => Factory::create()->name, 30 | 'email' => Factory::create()->email, 31 | ]); 32 | } 33 | 34 | if (empty($qn)) { 35 | $qn = 'default.exchange.queue'; 36 | } 37 | 38 | $message = new AMQPMessage($text, [ 'delivery_mode' => AMQPMessage::DELIVERY_MODE_PERSISTENT ]); 39 | 40 | /* @var AMQPStreamConnection $connection */ 41 | /* @var \PhpAmqpLib\Channel\AMQPChannel $channel */ 42 | [ $connection, $channel ] = $this->setup(); 43 | $channel->queue_declare($qn, false, true, false, false); 44 | $channel->basic_publish($message, '', $qn); 45 | 46 | $this->output->success(sprintf('Sent message: [queue: %s] - [MSG: %s]', $qn, $text)); 47 | 48 | $channel->close(); 49 | $connection->close(); 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /app/Commands/DirectMqConsumer.php: -------------------------------------------------------------------------------- 1 | option('auto')) { 20 | $ex = trim($this->ask('Write an exchange name: ')); 21 | $qn = trim($this->ask('Write a queue name: ')); 22 | $bk = trim($this->ask('Write a binding key: ')); 23 | } 24 | 25 | if (empty($ex)) { 26 | $ex = 'direct.exchange'; 27 | } 28 | 29 | if (empty($bk)) { 30 | $bk = 'direct.routing.key'; 31 | } 32 | 33 | if (empty($qn)) { 34 | $qn = 'direct.exchange.queue'; 35 | } 36 | 37 | /* @var AMQPStreamConnection $connection */ 38 | /* @var \PhpAmqpLib\Channel\AMQPChannel $channel */ 39 | [ $connection, $channel ] = $this->setup(); 40 | $channel->queue_declare($qn, false, true, false, false); 41 | $channel->queue_bind($qn, $ex, $bk); 42 | 43 | $callback = function (AMQPMessage $msg) use ($qn, $ex, $bk) { 44 | $this->output->success(sprintf("[ex: %s] [queue: %s] [bind: %s] - [MSG: %s]", $ex, $qn, $bk, $msg->body)); 45 | }; 46 | 47 | $channel->basic_consume($qn, '', false, true, false, false, $callback); 48 | 49 | $this->output->warning(sprintf('Waiting for messages [%s] - [%s] - [%s]', $ex, $qn, $bk)); 50 | 51 | while ( $channel->is_consuming() ) { 52 | $channel->wait(); 53 | } 54 | 55 | $channel->close(); 56 | $connection->close(); 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /app/Commands/DirectMqProducer.php: -------------------------------------------------------------------------------- 1 | option('auto'); 21 | 22 | if (!$auto) { 23 | $text = trim($this->ask('Write any message: ')); 24 | $ex = trim($this->ask('Write an exchange name: ')); 25 | $r = trim($this->ask('Write a routing key: ')); 26 | } 27 | 28 | if (empty($text)) { 29 | $text = json_encode([ 30 | 'name' => Factory::create()->name, 31 | 'email' => Factory::create()->email, 32 | ]); 33 | } 34 | 35 | if (empty($ex)) { 36 | $ex = 'direct.exchange'; 37 | } 38 | 39 | if (empty($r)) { 40 | $r = 'direct.routing.key'; 41 | } 42 | 43 | $message = new AMQPMessage($text, [ 'delivery_mode' => AMQPMessage::DELIVERY_MODE_PERSISTENT ]); 44 | 45 | /* @var AMQPStreamConnection $connection */ 46 | /* @var \PhpAmqpLib\Channel\AMQPChannel $channel */ 47 | [ $connection, $channel ] = $this->setup(); 48 | $channel->exchange_declare($ex, 'direct', false, true, false); 49 | 50 | $channel->basic_publish($message, $ex, $r); 51 | 52 | $this->output->success(sprintf('Sent message: [exchange: %s] [routing: %s] - [MSG: %s]', $ex, $r, $text)); 53 | 54 | $channel->close(); 55 | $connection->close(); 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /app/Commands/DirectQosMqConsumer.php: -------------------------------------------------------------------------------- 1 | option('auto')) { 20 | $ex = trim($this->ask('Write an exchange name: ')); 21 | $qn = trim($this->ask('Write a queue name: ')); 22 | $bk = trim($this->ask('Write a binding key: ')); 23 | } 24 | 25 | if (empty($ex)) { 26 | $ex = 'direct.exchange'; 27 | } 28 | 29 | if (empty($bk)) { 30 | $bk = 'direct.routing.key'; 31 | } 32 | 33 | if (empty($qn)) { 34 | $qn = 'direct.exchange.qos.queue'; 35 | } 36 | 37 | /* @var AMQPStreamConnection $connection */ 38 | /* @var \PhpAmqpLib\Channel\AMQPChannel $channel */ 39 | [ $connection, $channel ] = $this->setup(); 40 | $channel->queue_declare($qn, false, true, false, false); 41 | $channel->queue_bind($qn, $ex, $bk); 42 | 43 | $callback = function (AMQPMessage $msg) use ($qn, $ex, $bk) { 44 | $this->output->success(sprintf("[ex: %s] [queue: %s] [bind: %s] - [MSG: %s]", $ex, $qn, $bk, $msg->body)); 45 | $chosen = $this->choice('Acknowledge message received? ', [ 46 | 'Ack', 47 | 'Reject - No requeue', 48 | 'Reject - Requeue', 49 | 'Neg Ack - No requeue', 50 | 'Neg Ack - Requeue', 51 | ]); 52 | 53 | switch ( $chosen ) { 54 | case 'Ack': 55 | $msg->delivery_info['channel']->basic_ack($msg->delivery_info['delivery_tag']); 56 | break; 57 | case 'Reject - No requeue': 58 | $msg->delivery_info['channel']->basic_reject($msg->delivery_info['delivery_tag'], false); 59 | break; 60 | case 'Reject - Requeue': 61 | $msg->delivery_info['channel']->basic_reject($msg->delivery_info['delivery_tag'], true); 62 | break; 63 | case 'Neg Ack - No requeue': 64 | $msg->delivery_info['channel']->basic_nack($msg->delivery_info['delivery_tag'], false, false); 65 | break; 66 | case 'Neg Ack - Requeue': 67 | $msg->delivery_info['channel']->basic_nack($msg->delivery_info['delivery_tag'], false, true); 68 | break; 69 | } 70 | 71 | $this->output->success('Waiting for next message to arrive.'); 72 | }; 73 | 74 | $channel->basic_qos(null, 1, null); 75 | $channel->basic_consume($qn, '', false, false, false, false, $callback); 76 | 77 | $this->output->warning(sprintf('Waiting for messages [%s] - [%s] - [%s]', $ex, $qn, $bk)); 78 | 79 | while ( $channel->is_consuming() ) { 80 | $channel->wait(); 81 | } 82 | 83 | $channel->close(); 84 | $connection->close(); 85 | } 86 | } 87 | -------------------------------------------------------------------------------- /app/Commands/HeaderMqConsumer.php: -------------------------------------------------------------------------------- 1 | option('auto')) { 21 | $ex = trim($this->ask('Write an exchange name: ')); 22 | $qn = trim($this->ask('Write a queue name: ')); 23 | } 24 | 25 | if (empty($ex)) { 26 | $ex = 'header.exchange'; 27 | } 28 | 29 | if (empty($qn)) { 30 | $qn = 'header.exchange.queue.' . ($this->option('odd') ? 'odd' : 'even'); 31 | } 32 | 33 | if ($this->option('odd')) { 34 | $props = [ 35 | 'x-match' => 'any', 36 | 'number' => 'odd', 37 | 'name' => 'syed', 38 | ]; 39 | } else { 40 | $props = [ 41 | 'x-match' => 'all', 42 | 'number' => 'even', 43 | 'name' => 'anik', 44 | ]; 45 | } 46 | 47 | /* @var AMQPStreamConnection $connection */ 48 | /* @var \PhpAmqpLib\Channel\AMQPChannel $channel */ 49 | [ $connection, $channel ] = $this->setup(); 50 | $channel->queue_declare($qn, false, true, false, false, false); 51 | $channel->queue_bind($qn, $ex, '', false, new AMQPTable($props)); 52 | 53 | $callback = function (AMQPMessage $msg) use ($qn, $ex, $props) { 54 | $this->output->success(sprintf("[ex: %s] [queue: %s] [headers: %s] - [MSG: %s] - [Msg-Header: %s]", $ex, $qn, json_encode($props), $msg->body, json_encode($msg->get_properties()['application_headers']->getNativeData()))); 55 | }; 56 | 57 | $channel->basic_consume($qn, '', false, true, false, false, $callback); 58 | 59 | $this->output->warning(sprintf('Waiting for messages [%s] - [%s] - [%s]', $ex, $qn, json_encode($props))); 60 | 61 | while ( $channel->is_consuming() ) { 62 | $channel->wait(); 63 | } 64 | 65 | $channel->close(); 66 | $connection->close(); 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /app/Commands/HeaderMqProducer.php: -------------------------------------------------------------------------------- 1 | option('auto'); 22 | 23 | if (!$auto) { 24 | $text = trim($this->ask('Write any message: ')); 25 | $ex = trim($this->ask('Write an exchange name: ')); 26 | } 27 | 28 | if (empty($text)) { 29 | $text = json_encode([ 30 | 'name' => Factory::create()->name, 31 | 'email' => Factory::create()->email, 32 | ]); 33 | } 34 | 35 | if (empty($ex)) { 36 | $ex = 'header.exchange'; 37 | } 38 | 39 | $nType = rand(1, 100) % 2 == 0 ? 'even' : 'odd'; 40 | $names = [ 'anik', 'syed' ]; 41 | shuffle($names); 42 | $name = $names[0]; 43 | 44 | $headers = [ 45 | 'number' => $nType, 46 | 'name' => $name, 47 | ]; 48 | 49 | $message = new AMQPMessage($text, [ 50 | 'delivery_mode' => AMQPMessage::DELIVERY_MODE_PERSISTENT, 51 | 'application_headers' => new AMQPTable($headers), 52 | ]); 53 | 54 | /* @var AMQPStreamConnection $connection */ 55 | /* @var \PhpAmqpLib\Channel\AMQPChannel $channel */ 56 | [ $connection, $channel ] = $this->setup(); 57 | $channel->exchange_declare($ex, 'headers', false, true, false); 58 | 59 | $channel->basic_publish($message, $ex); 60 | 61 | $this->output->success(sprintf('Sent message: [exchange: %s] [headers: %s] - [MSG: %s]', $ex, json_encode($headers), $text)); 62 | 63 | $channel->close(); 64 | $connection->close(); 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /app/Commands/TopicMqConsumer.php: -------------------------------------------------------------------------------- 1 | option('auto')) { 20 | $ex = trim($this->ask('Write an exchange name: ')); 21 | $qn = trim($this->ask('Write a queue name: ')); 22 | $bk = trim($this->ask('Write a binding key: ')); 23 | } 24 | 25 | if (empty($ex)) { 26 | $ex = 'topic.exchange'; 27 | } 28 | 29 | if (empty($bk)) { 30 | $bk = 'topic.#'; 31 | } 32 | 33 | if (empty($qn)) { 34 | $qn = 'topic.exchange.queue'; 35 | } 36 | 37 | /* @var AMQPStreamConnection $connection */ 38 | /* @var \PhpAmqpLib\Channel\AMQPChannel $channel */ 39 | [ $connection, $channel ] = $this->setup(); 40 | $channel->queue_declare($qn, false, true, false, false); 41 | $channel->queue_bind($qn, $ex, $bk); 42 | 43 | $callback = function (AMQPMessage $msg) use ($qn, $ex, $bk) { 44 | $this->output->success(sprintf("[ex: %s] [queue: %s] [bind: %s] - [MSG: %s]", $ex, $qn, $bk, $msg->body)); 45 | }; 46 | 47 | $channel->basic_consume($qn, '', false, true, false, false, $callback); 48 | 49 | $this->output->warning(sprintf('Waiting for messages [%s] - [%s] - [%s]', $ex, $qn, $bk)); 50 | 51 | while ( $channel->is_consuming() ) { 52 | $channel->wait(); 53 | } 54 | 55 | $channel->close(); 56 | $connection->close(); 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /app/Commands/TopicMqProducer.php: -------------------------------------------------------------------------------- 1 | option('auto'); 21 | 22 | if (!$auto) { 23 | $text = trim($this->ask('Write any message: ')); 24 | $ex = trim($this->ask('Write an exchange name: ')); 25 | $r = trim($this->ask('Write a routing key: ')); 26 | } 27 | 28 | if (empty($text)) { 29 | $text = json_encode([ 30 | 'name' => Factory::create()->name, 31 | 'email' => Factory::create()->email, 32 | ]); 33 | } 34 | 35 | if (empty($ex)) { 36 | $ex = 'topic.exchange'; 37 | } 38 | 39 | if (empty($r)) { 40 | $r = 'topic.routing.key'; 41 | } 42 | 43 | $message = new AMQPMessage($text, [ 'delivery_mode' => AMQPMessage::DELIVERY_MODE_PERSISTENT ]); 44 | 45 | /* @var AMQPStreamConnection $connection */ 46 | /* @var \PhpAmqpLib\Channel\AMQPChannel $channel */ 47 | [ $connection, $channel ] = $this->setup(); 48 | $channel->exchange_declare($ex, 'topic', false, true, false); 49 | 50 | $channel->basic_publish($message, $ex, $r); 51 | 52 | $this->output->success(sprintf('Sent message: [exchange: %s] [routing: %s] - [MSG: %s]', $ex, $r, $text)); 53 | 54 | $channel->close(); 55 | $connection->close(); 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /app/Extensions/AmqpConnectionChannel.php: -------------------------------------------------------------------------------- 1 | channel(); 12 | 13 | return [ $connection, $channel ]; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /app/Providers/AppServiceProvider.php: -------------------------------------------------------------------------------- 1 | make(Illuminate\Contracts\Console\Kernel::class); 34 | 35 | $status = $kernel->handle( 36 | $input = new Symfony\Component\Console\Input\ArgvInput, 37 | new Symfony\Component\Console\Output\ConsoleOutput 38 | ); 39 | 40 | /* 41 | |-------------------------------------------------------------------------- 42 | | Shutdown The Application 43 | |-------------------------------------------------------------------------- 44 | | 45 | | Once Artisan has finished running, we will fire off the shutdown events 46 | | so that any final work may be done by the application before we shut 47 | | down the process. This is the last thing to happen to the request. 48 | | 49 | */ 50 | 51 | $kernel->terminate($input, $status); 52 | 53 | exit($status); 54 | -------------------------------------------------------------------------------- /bootstrap/app.php: -------------------------------------------------------------------------------- 1 | singleton( 30 | Illuminate\Contracts\Console\Kernel::class, 31 | LaravelZero\Framework\Kernel::class 32 | ); 33 | 34 | $app->singleton( 35 | Illuminate\Contracts\Debug\ExceptionHandler::class, 36 | Illuminate\Foundation\Exceptions\Handler::class 37 | ); 38 | 39 | /* 40 | |-------------------------------------------------------------------------- 41 | | Return The Application 42 | |-------------------------------------------------------------------------- 43 | | 44 | | This script returns the application instance. The instance is given to 45 | | the calling script so we can separate the building of the instances 46 | | from the actual running of the application and sending responses. 47 | | 48 | */ 49 | 50 | return $app; 51 | -------------------------------------------------------------------------------- /box.json: -------------------------------------------------------------------------------- 1 | { 2 | "chmod": "0755", 3 | "directories": [ 4 | "app", 5 | "bootstrap", 6 | "config", 7 | "vendor" 8 | ], 9 | "files": [ 10 | "composer.json" 11 | ], 12 | "exclude-composer-files": false, 13 | "compression": "GZ", 14 | "compactors": [ 15 | "KevinGH\\Box\\Compactor\\Php", 16 | "KevinGH\\Box\\Compactor\\Json" 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "laravel-zero/laravel-zero", 3 | "description": "The Laravel Zero Framework.", 4 | "keywords": ["framework", "laravel", "laravel zero", "console", "cli"], 5 | "homepage": "https://laravel-zero.com", 6 | "type": "project", 7 | "license": "MIT", 8 | "support": { 9 | "issues": "https://github.com/laravel-zero/laravel-zero/issues", 10 | "source": "https://github.com/laravel-zero/laravel-zero" 11 | }, 12 | "authors": [ 13 | { 14 | "name": "Nuno Maduro", 15 | "email": "enunomaduro@gmail.com" 16 | } 17 | ], 18 | "require": { 19 | "php": "^7.1.3", 20 | "fzaninotto/faker": "^1.8", 21 | "laravel-zero/framework": "5.8.*", 22 | "php-amqplib/php-amqplib": "^2.10" 23 | }, 24 | "require-dev": { 25 | "mockery/mockery": "^1.0", 26 | "phpunit/phpunit": "^7.5" 27 | }, 28 | "autoload": { 29 | "psr-4": { 30 | "App\\": "app/" 31 | } 32 | }, 33 | "autoload-dev": { 34 | "psr-4": { 35 | "Tests\\": "tests/" 36 | } 37 | }, 38 | "config": { 39 | "preferred-install": "dist", 40 | "sort-packages": true, 41 | "optimize-autoloader": true 42 | }, 43 | "scripts": { 44 | "post-create-project-cmd": [ 45 | "@php application app:rename" 46 | ] 47 | }, 48 | "minimum-stability": "dev", 49 | "prefer-stable": true, 50 | "bin": ["artisan"] 51 | } 52 | -------------------------------------------------------------------------------- /composer.lock: -------------------------------------------------------------------------------- 1 | { 2 | "_readme": [ 3 | "This file locks the dependencies of your project to a known state", 4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", 5 | "This file is @generated automatically" 6 | ], 7 | "content-hash": "73f289064e9369d86370e054c309b35a", 8 | "packages": [ 9 | { 10 | "name": "doctrine/inflector", 11 | "version": "v1.3.0", 12 | "source": { 13 | "type": "git", 14 | "url": "https://github.com/doctrine/inflector.git", 15 | "reference": "5527a48b7313d15261292c149e55e26eae771b0a" 16 | }, 17 | "dist": { 18 | "type": "zip", 19 | "url": "https://api.github.com/repos/doctrine/inflector/zipball/5527a48b7313d15261292c149e55e26eae771b0a", 20 | "reference": "5527a48b7313d15261292c149e55e26eae771b0a", 21 | "shasum": "" 22 | }, 23 | "require": { 24 | "php": "^7.1" 25 | }, 26 | "require-dev": { 27 | "phpunit/phpunit": "^6.2" 28 | }, 29 | "type": "library", 30 | "extra": { 31 | "branch-alias": { 32 | "dev-master": "1.3.x-dev" 33 | } 34 | }, 35 | "autoload": { 36 | "psr-4": { 37 | "Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector" 38 | } 39 | }, 40 | "notification-url": "https://packagist.org/downloads/", 41 | "license": [ 42 | "MIT" 43 | ], 44 | "authors": [ 45 | { 46 | "name": "Roman Borschel", 47 | "email": "roman@code-factory.org" 48 | }, 49 | { 50 | "name": "Benjamin Eberlei", 51 | "email": "kontakt@beberlei.de" 52 | }, 53 | { 54 | "name": "Guilherme Blanco", 55 | "email": "guilhermeblanco@gmail.com" 56 | }, 57 | { 58 | "name": "Jonathan Wage", 59 | "email": "jonwage@gmail.com" 60 | }, 61 | { 62 | "name": "Johannes Schmitt", 63 | "email": "schmittjoh@gmail.com" 64 | } 65 | ], 66 | "description": "Common String Manipulations with regard to casing and singular/plural rules.", 67 | "homepage": "http://www.doctrine-project.org", 68 | "keywords": [ 69 | "inflection", 70 | "pluralize", 71 | "singularize", 72 | "string" 73 | ], 74 | "time": "2018-01-09T20:05:19+00:00" 75 | }, 76 | { 77 | "name": "dragonmantank/cron-expression", 78 | "version": "v2.3.0", 79 | "source": { 80 | "type": "git", 81 | "url": "https://github.com/dragonmantank/cron-expression.git", 82 | "reference": "72b6fbf76adb3cf5bc0db68559b33d41219aba27" 83 | }, 84 | "dist": { 85 | "type": "zip", 86 | "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/72b6fbf76adb3cf5bc0db68559b33d41219aba27", 87 | "reference": "72b6fbf76adb3cf5bc0db68559b33d41219aba27", 88 | "shasum": "" 89 | }, 90 | "require": { 91 | "php": "^7.0" 92 | }, 93 | "require-dev": { 94 | "phpunit/phpunit": "^6.4|^7.0" 95 | }, 96 | "type": "library", 97 | "extra": { 98 | "branch-alias": { 99 | "dev-master": "2.3-dev" 100 | } 101 | }, 102 | "autoload": { 103 | "psr-4": { 104 | "Cron\\": "src/Cron/" 105 | } 106 | }, 107 | "notification-url": "https://packagist.org/downloads/", 108 | "license": [ 109 | "MIT" 110 | ], 111 | "authors": [ 112 | { 113 | "name": "Michael Dowling", 114 | "email": "mtdowling@gmail.com", 115 | "homepage": "https://github.com/mtdowling" 116 | }, 117 | { 118 | "name": "Chris Tankersley", 119 | "email": "chris@ctankersley.com", 120 | "homepage": "https://github.com/dragonmantank" 121 | } 122 | ], 123 | "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", 124 | "keywords": [ 125 | "cron", 126 | "schedule" 127 | ], 128 | "time": "2019-03-31T00:38:28+00:00" 129 | }, 130 | { 131 | "name": "filp/whoops", 132 | "version": "2.5.0", 133 | "source": { 134 | "type": "git", 135 | "url": "https://github.com/filp/whoops.git", 136 | "reference": "cde50e6720a39fdacb240159d3eea6865d51fd96" 137 | }, 138 | "dist": { 139 | "type": "zip", 140 | "url": "https://api.github.com/repos/filp/whoops/zipball/cde50e6720a39fdacb240159d3eea6865d51fd96", 141 | "reference": "cde50e6720a39fdacb240159d3eea6865d51fd96", 142 | "shasum": "" 143 | }, 144 | "require": { 145 | "php": "^5.5.9 || ^7.0", 146 | "psr/log": "^1.0.1" 147 | }, 148 | "require-dev": { 149 | "mockery/mockery": "^0.9 || ^1.0", 150 | "phpunit/phpunit": "^4.8.35 || ^5.7", 151 | "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0" 152 | }, 153 | "suggest": { 154 | "symfony/var-dumper": "Pretty print complex values better with var-dumper available", 155 | "whoops/soap": "Formats errors as SOAP responses" 156 | }, 157 | "type": "library", 158 | "extra": { 159 | "branch-alias": { 160 | "dev-master": "2.2-dev" 161 | } 162 | }, 163 | "autoload": { 164 | "psr-4": { 165 | "Whoops\\": "src/Whoops/" 166 | } 167 | }, 168 | "notification-url": "https://packagist.org/downloads/", 169 | "license": [ 170 | "MIT" 171 | ], 172 | "authors": [ 173 | { 174 | "name": "Filipe Dobreira", 175 | "role": "Developer", 176 | "homepage": "https://github.com/filp" 177 | } 178 | ], 179 | "description": "php error handling for cool kids", 180 | "homepage": "https://filp.github.io/whoops/", 181 | "keywords": [ 182 | "error", 183 | "exception", 184 | "handling", 185 | "library", 186 | "throwable", 187 | "whoops" 188 | ], 189 | "time": "2019-08-07T09:00:00+00:00" 190 | }, 191 | { 192 | "name": "fzaninotto/faker", 193 | "version": "v1.8.0", 194 | "source": { 195 | "type": "git", 196 | "url": "https://github.com/fzaninotto/Faker.git", 197 | "reference": "f72816b43e74063c8b10357394b6bba8cb1c10de" 198 | }, 199 | "dist": { 200 | "type": "zip", 201 | "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/f72816b43e74063c8b10357394b6bba8cb1c10de", 202 | "reference": "f72816b43e74063c8b10357394b6bba8cb1c10de", 203 | "shasum": "" 204 | }, 205 | "require": { 206 | "php": "^5.3.3 || ^7.0" 207 | }, 208 | "require-dev": { 209 | "ext-intl": "*", 210 | "phpunit/phpunit": "^4.8.35 || ^5.7", 211 | "squizlabs/php_codesniffer": "^1.5" 212 | }, 213 | "type": "library", 214 | "extra": { 215 | "branch-alias": { 216 | "dev-master": "1.8-dev" 217 | } 218 | }, 219 | "autoload": { 220 | "psr-4": { 221 | "Faker\\": "src/Faker/" 222 | } 223 | }, 224 | "notification-url": "https://packagist.org/downloads/", 225 | "license": [ 226 | "MIT" 227 | ], 228 | "authors": [ 229 | { 230 | "name": "François Zaninotto" 231 | } 232 | ], 233 | "description": "Faker is a PHP library that generates fake data for you.", 234 | "keywords": [ 235 | "data", 236 | "faker", 237 | "fixtures" 238 | ], 239 | "time": "2018-07-12T10:23:15+00:00" 240 | }, 241 | { 242 | "name": "illuminate/cache", 243 | "version": "v5.8.33", 244 | "source": { 245 | "type": "git", 246 | "url": "https://github.com/illuminate/cache.git", 247 | "reference": "e6acac59f94c6362809b580918f7f3f6142d5796" 248 | }, 249 | "dist": { 250 | "type": "zip", 251 | "url": "https://api.github.com/repos/illuminate/cache/zipball/e6acac59f94c6362809b580918f7f3f6142d5796", 252 | "reference": "e6acac59f94c6362809b580918f7f3f6142d5796", 253 | "shasum": "" 254 | }, 255 | "require": { 256 | "illuminate/contracts": "5.8.*", 257 | "illuminate/support": "5.8.*", 258 | "php": "^7.1.3" 259 | }, 260 | "suggest": { 261 | "illuminate/database": "Required to use the database cache driver (5.8.*).", 262 | "illuminate/filesystem": "Required to use the file cache driver (5.8.*).", 263 | "illuminate/redis": "Required to use the redis cache driver (5.8.*)." 264 | }, 265 | "type": "library", 266 | "extra": { 267 | "branch-alias": { 268 | "dev-master": "5.8-dev" 269 | } 270 | }, 271 | "autoload": { 272 | "psr-4": { 273 | "Illuminate\\Cache\\": "" 274 | } 275 | }, 276 | "notification-url": "https://packagist.org/downloads/", 277 | "license": [ 278 | "MIT" 279 | ], 280 | "authors": [ 281 | { 282 | "name": "Taylor Otwell", 283 | "email": "taylor@laravel.com" 284 | } 285 | ], 286 | "description": "The Illuminate Cache package.", 287 | "homepage": "https://laravel.com", 288 | "time": "2019-08-18T13:53:57+00:00" 289 | }, 290 | { 291 | "name": "illuminate/config", 292 | "version": "v5.8.33", 293 | "source": { 294 | "type": "git", 295 | "url": "https://github.com/illuminate/config.git", 296 | "reference": "6dac1dee3fb51704767c69a07aead1bc75c12368" 297 | }, 298 | "dist": { 299 | "type": "zip", 300 | "url": "https://api.github.com/repos/illuminate/config/zipball/6dac1dee3fb51704767c69a07aead1bc75c12368", 301 | "reference": "6dac1dee3fb51704767c69a07aead1bc75c12368", 302 | "shasum": "" 303 | }, 304 | "require": { 305 | "illuminate/contracts": "5.8.*", 306 | "illuminate/support": "5.8.*", 307 | "php": "^7.1.3" 308 | }, 309 | "type": "library", 310 | "extra": { 311 | "branch-alias": { 312 | "dev-master": "5.8-dev" 313 | } 314 | }, 315 | "autoload": { 316 | "psr-4": { 317 | "Illuminate\\Config\\": "" 318 | } 319 | }, 320 | "notification-url": "https://packagist.org/downloads/", 321 | "license": [ 322 | "MIT" 323 | ], 324 | "authors": [ 325 | { 326 | "name": "Taylor Otwell", 327 | "email": "taylor@laravel.com" 328 | } 329 | ], 330 | "description": "The Illuminate Config package.", 331 | "homepage": "https://laravel.com", 332 | "time": "2019-02-14T12:51:50+00:00" 333 | }, 334 | { 335 | "name": "illuminate/console", 336 | "version": "v5.8.33", 337 | "source": { 338 | "type": "git", 339 | "url": "https://github.com/illuminate/console.git", 340 | "reference": "e6e4708e6c6baaf92120848e885855ab3d76f30f" 341 | }, 342 | "dist": { 343 | "type": "zip", 344 | "url": "https://api.github.com/repos/illuminate/console/zipball/e6e4708e6c6baaf92120848e885855ab3d76f30f", 345 | "reference": "e6e4708e6c6baaf92120848e885855ab3d76f30f", 346 | "shasum": "" 347 | }, 348 | "require": { 349 | "illuminate/contracts": "5.8.*", 350 | "illuminate/support": "5.8.*", 351 | "php": "^7.1.3", 352 | "symfony/console": "^4.2", 353 | "symfony/process": "^4.2" 354 | }, 355 | "suggest": { 356 | "dragonmantank/cron-expression": "Required to use scheduling component (^2.0).", 357 | "guzzlehttp/guzzle": "Required to use the ping methods on schedules (^6.0).", 358 | "illuminate/filesystem": "Required to use the generator command (5.8.*)" 359 | }, 360 | "type": "library", 361 | "extra": { 362 | "branch-alias": { 363 | "dev-master": "5.8-dev" 364 | } 365 | }, 366 | "autoload": { 367 | "psr-4": { 368 | "Illuminate\\Console\\": "" 369 | } 370 | }, 371 | "notification-url": "https://packagist.org/downloads/", 372 | "license": [ 373 | "MIT" 374 | ], 375 | "authors": [ 376 | { 377 | "name": "Taylor Otwell", 378 | "email": "taylor@laravel.com" 379 | } 380 | ], 381 | "description": "The Illuminate Console package.", 382 | "homepage": "https://laravel.com", 383 | "time": "2019-08-12T13:08:28+00:00" 384 | }, 385 | { 386 | "name": "illuminate/container", 387 | "version": "v5.8.33", 388 | "source": { 389 | "type": "git", 390 | "url": "https://github.com/illuminate/container.git", 391 | "reference": "b42e5ef939144b77f78130918da0ce2d9ee16574" 392 | }, 393 | "dist": { 394 | "type": "zip", 395 | "url": "https://api.github.com/repos/illuminate/container/zipball/b42e5ef939144b77f78130918da0ce2d9ee16574", 396 | "reference": "b42e5ef939144b77f78130918da0ce2d9ee16574", 397 | "shasum": "" 398 | }, 399 | "require": { 400 | "illuminate/contracts": "5.8.*", 401 | "illuminate/support": "5.8.*", 402 | "php": "^7.1.3", 403 | "psr/container": "^1.0" 404 | }, 405 | "type": "library", 406 | "extra": { 407 | "branch-alias": { 408 | "dev-master": "5.8-dev" 409 | } 410 | }, 411 | "autoload": { 412 | "psr-4": { 413 | "Illuminate\\Container\\": "" 414 | } 415 | }, 416 | "notification-url": "https://packagist.org/downloads/", 417 | "license": [ 418 | "MIT" 419 | ], 420 | "authors": [ 421 | { 422 | "name": "Taylor Otwell", 423 | "email": "taylor@laravel.com" 424 | } 425 | ], 426 | "description": "The Illuminate Container package.", 427 | "homepage": "https://laravel.com", 428 | "time": "2019-08-20T02:00:23+00:00" 429 | }, 430 | { 431 | "name": "illuminate/contracts", 432 | "version": "v5.8.33", 433 | "source": { 434 | "type": "git", 435 | "url": "https://github.com/illuminate/contracts.git", 436 | "reference": "00fc6afee788fa07c311b0650ad276585f8aef96" 437 | }, 438 | "dist": { 439 | "type": "zip", 440 | "url": "https://api.github.com/repos/illuminate/contracts/zipball/00fc6afee788fa07c311b0650ad276585f8aef96", 441 | "reference": "00fc6afee788fa07c311b0650ad276585f8aef96", 442 | "shasum": "" 443 | }, 444 | "require": { 445 | "php": "^7.1.3", 446 | "psr/container": "^1.0", 447 | "psr/simple-cache": "^1.0" 448 | }, 449 | "type": "library", 450 | "extra": { 451 | "branch-alias": { 452 | "dev-master": "5.8-dev" 453 | } 454 | }, 455 | "autoload": { 456 | "psr-4": { 457 | "Illuminate\\Contracts\\": "" 458 | } 459 | }, 460 | "notification-url": "https://packagist.org/downloads/", 461 | "license": [ 462 | "MIT" 463 | ], 464 | "authors": [ 465 | { 466 | "name": "Taylor Otwell", 467 | "email": "taylor@laravel.com" 468 | } 469 | ], 470 | "description": "The Illuminate Contracts package.", 471 | "homepage": "https://laravel.com", 472 | "time": "2019-07-30T13:57:21+00:00" 473 | }, 474 | { 475 | "name": "illuminate/events", 476 | "version": "v5.8.33", 477 | "source": { 478 | "type": "git", 479 | "url": "https://github.com/illuminate/events.git", 480 | "reference": "a85d7c273bc4e3357000c5fc4812374598515de3" 481 | }, 482 | "dist": { 483 | "type": "zip", 484 | "url": "https://api.github.com/repos/illuminate/events/zipball/a85d7c273bc4e3357000c5fc4812374598515de3", 485 | "reference": "a85d7c273bc4e3357000c5fc4812374598515de3", 486 | "shasum": "" 487 | }, 488 | "require": { 489 | "illuminate/container": "5.8.*", 490 | "illuminate/contracts": "5.8.*", 491 | "illuminate/support": "5.8.*", 492 | "php": "^7.1.3" 493 | }, 494 | "type": "library", 495 | "extra": { 496 | "branch-alias": { 497 | "dev-master": "5.8-dev" 498 | } 499 | }, 500 | "autoload": { 501 | "psr-4": { 502 | "Illuminate\\Events\\": "" 503 | } 504 | }, 505 | "notification-url": "https://packagist.org/downloads/", 506 | "license": [ 507 | "MIT" 508 | ], 509 | "authors": [ 510 | { 511 | "name": "Taylor Otwell", 512 | "email": "taylor@laravel.com" 513 | } 514 | ], 515 | "description": "The Illuminate Events package.", 516 | "homepage": "https://laravel.com", 517 | "time": "2019-02-18T18:37:54+00:00" 518 | }, 519 | { 520 | "name": "illuminate/filesystem", 521 | "version": "v5.8.33", 522 | "source": { 523 | "type": "git", 524 | "url": "https://github.com/illuminate/filesystem.git", 525 | "reference": "494ba903402d64ec49c8d869ab61791db34b2288" 526 | }, 527 | "dist": { 528 | "type": "zip", 529 | "url": "https://api.github.com/repos/illuminate/filesystem/zipball/494ba903402d64ec49c8d869ab61791db34b2288", 530 | "reference": "494ba903402d64ec49c8d869ab61791db34b2288", 531 | "shasum": "" 532 | }, 533 | "require": { 534 | "illuminate/contracts": "5.8.*", 535 | "illuminate/support": "5.8.*", 536 | "php": "^7.1.3", 537 | "symfony/finder": "^4.2" 538 | }, 539 | "suggest": { 540 | "league/flysystem": "Required to use the Flysystem local and FTP drivers (^1.0).", 541 | "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^1.0).", 542 | "league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).", 543 | "league/flysystem-rackspace": "Required to use the Flysystem Rackspace driver (^1.0).", 544 | "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0)." 545 | }, 546 | "type": "library", 547 | "extra": { 548 | "branch-alias": { 549 | "dev-master": "5.8-dev" 550 | } 551 | }, 552 | "autoload": { 553 | "psr-4": { 554 | "Illuminate\\Filesystem\\": "" 555 | } 556 | }, 557 | "notification-url": "https://packagist.org/downloads/", 558 | "license": [ 559 | "MIT" 560 | ], 561 | "authors": [ 562 | { 563 | "name": "Taylor Otwell", 564 | "email": "taylor@laravel.com" 565 | } 566 | ], 567 | "description": "The Illuminate Filesystem package.", 568 | "homepage": "https://laravel.com", 569 | "time": "2019-08-14T13:38:15+00:00" 570 | }, 571 | { 572 | "name": "illuminate/support", 573 | "version": "v5.8.33", 574 | "source": { 575 | "type": "git", 576 | "url": "https://github.com/illuminate/support.git", 577 | "reference": "7aabcab4634a1c7865fa6acb6b1b810cf4b699ea" 578 | }, 579 | "dist": { 580 | "type": "zip", 581 | "url": "https://api.github.com/repos/illuminate/support/zipball/7aabcab4634a1c7865fa6acb6b1b810cf4b699ea", 582 | "reference": "7aabcab4634a1c7865fa6acb6b1b810cf4b699ea", 583 | "shasum": "" 584 | }, 585 | "require": { 586 | "doctrine/inflector": "^1.1", 587 | "ext-json": "*", 588 | "ext-mbstring": "*", 589 | "illuminate/contracts": "5.8.*", 590 | "nesbot/carbon": "^1.26.3 || ^2.0", 591 | "php": "^7.1.3" 592 | }, 593 | "conflict": { 594 | "tightenco/collect": "<5.5.33" 595 | }, 596 | "suggest": { 597 | "illuminate/filesystem": "Required to use the composer class (5.8.*).", 598 | "moontoast/math": "Required to use ordered UUIDs (^1.1).", 599 | "ramsey/uuid": "Required to use Str::uuid() (^3.7).", 600 | "symfony/process": "Required to use the composer class (^4.2).", 601 | "symfony/var-dumper": "Required to use the dd function (^4.2).", 602 | "vlucas/phpdotenv": "Required to use the env helper (^3.3)." 603 | }, 604 | "type": "library", 605 | "extra": { 606 | "branch-alias": { 607 | "dev-master": "5.8-dev" 608 | } 609 | }, 610 | "autoload": { 611 | "psr-4": { 612 | "Illuminate\\Support\\": "" 613 | }, 614 | "files": [ 615 | "helpers.php" 616 | ] 617 | }, 618 | "notification-url": "https://packagist.org/downloads/", 619 | "license": [ 620 | "MIT" 621 | ], 622 | "authors": [ 623 | { 624 | "name": "Taylor Otwell", 625 | "email": "taylor@laravel.com" 626 | } 627 | ], 628 | "description": "The Illuminate Support package.", 629 | "homepage": "https://laravel.com", 630 | "time": "2019-08-11T12:48:29+00:00" 631 | }, 632 | { 633 | "name": "jakub-onderka/php-console-color", 634 | "version": "v0.2", 635 | "source": { 636 | "type": "git", 637 | "url": "https://github.com/JakubOnderka/PHP-Console-Color.git", 638 | "reference": "d5deaecff52a0d61ccb613bb3804088da0307191" 639 | }, 640 | "dist": { 641 | "type": "zip", 642 | "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Color/zipball/d5deaecff52a0d61ccb613bb3804088da0307191", 643 | "reference": "d5deaecff52a0d61ccb613bb3804088da0307191", 644 | "shasum": "" 645 | }, 646 | "require": { 647 | "php": ">=5.4.0" 648 | }, 649 | "require-dev": { 650 | "jakub-onderka/php-code-style": "1.0", 651 | "jakub-onderka/php-parallel-lint": "1.0", 652 | "jakub-onderka/php-var-dump-check": "0.*", 653 | "phpunit/phpunit": "~4.3", 654 | "squizlabs/php_codesniffer": "1.*" 655 | }, 656 | "type": "library", 657 | "autoload": { 658 | "psr-4": { 659 | "JakubOnderka\\PhpConsoleColor\\": "src/" 660 | } 661 | }, 662 | "notification-url": "https://packagist.org/downloads/", 663 | "license": [ 664 | "BSD-2-Clause" 665 | ], 666 | "authors": [ 667 | { 668 | "name": "Jakub Onderka", 669 | "email": "jakub.onderka@gmail.com" 670 | } 671 | ], 672 | "time": "2018-09-29T17:23:10+00:00" 673 | }, 674 | { 675 | "name": "jakub-onderka/php-console-highlighter", 676 | "version": "v0.4", 677 | "source": { 678 | "type": "git", 679 | "url": "https://github.com/JakubOnderka/PHP-Console-Highlighter.git", 680 | "reference": "9f7a229a69d52506914b4bc61bfdb199d90c5547" 681 | }, 682 | "dist": { 683 | "type": "zip", 684 | "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Highlighter/zipball/9f7a229a69d52506914b4bc61bfdb199d90c5547", 685 | "reference": "9f7a229a69d52506914b4bc61bfdb199d90c5547", 686 | "shasum": "" 687 | }, 688 | "require": { 689 | "ext-tokenizer": "*", 690 | "jakub-onderka/php-console-color": "~0.2", 691 | "php": ">=5.4.0" 692 | }, 693 | "require-dev": { 694 | "jakub-onderka/php-code-style": "~1.0", 695 | "jakub-onderka/php-parallel-lint": "~1.0", 696 | "jakub-onderka/php-var-dump-check": "~0.1", 697 | "phpunit/phpunit": "~4.0", 698 | "squizlabs/php_codesniffer": "~1.5" 699 | }, 700 | "type": "library", 701 | "autoload": { 702 | "psr-4": { 703 | "JakubOnderka\\PhpConsoleHighlighter\\": "src/" 704 | } 705 | }, 706 | "notification-url": "https://packagist.org/downloads/", 707 | "license": [ 708 | "MIT" 709 | ], 710 | "authors": [ 711 | { 712 | "name": "Jakub Onderka", 713 | "email": "acci@acci.cz", 714 | "homepage": "http://www.acci.cz/" 715 | } 716 | ], 717 | "description": "Highlight PHP code in terminal", 718 | "time": "2018-09-29T18:48:56+00:00" 719 | }, 720 | { 721 | "name": "jolicode/jolinotif", 722 | "version": "v2.0.2", 723 | "source": { 724 | "type": "git", 725 | "url": "https://github.com/jolicode/JoliNotif.git", 726 | "reference": "0b5f786c5f181b3916df616ca191892713257662" 727 | }, 728 | "dist": { 729 | "type": "zip", 730 | "url": "https://api.github.com/repos/jolicode/JoliNotif/zipball/0b5f786c5f181b3916df616ca191892713257662", 731 | "reference": "0b5f786c5f181b3916df616ca191892713257662", 732 | "shasum": "" 733 | }, 734 | "require": { 735 | "php": ">=7.0", 736 | "symfony/process": "~3.3|~4.0" 737 | }, 738 | "require-dev": { 739 | "friendsofphp/php-cs-fixer": "~2.0", 740 | "symfony/phpunit-bridge": "^3.3" 741 | }, 742 | "bin": [ 743 | "jolinotif" 744 | ], 745 | "type": "library", 746 | "extra": { 747 | "branch-alias": { 748 | "dev-master": "2.0.x-dev" 749 | } 750 | }, 751 | "autoload": { 752 | "psr-4": { 753 | "Joli\\JoliNotif\\": "src/" 754 | } 755 | }, 756 | "notification-url": "https://packagist.org/downloads/", 757 | "license": [ 758 | "MIT" 759 | ], 760 | "authors": [ 761 | { 762 | "name": "Loïck Piera", 763 | "email": "pyrech@gmail.com" 764 | } 765 | ], 766 | "description": "Send desktop notifications on Windows, Linux, MacOS.", 767 | "keywords": [ 768 | "MAC", 769 | "growl", 770 | "linux", 771 | "notification", 772 | "windows" 773 | ], 774 | "time": "2019-02-26T18:10:50+00:00" 775 | }, 776 | { 777 | "name": "laravel-zero/foundation", 778 | "version": "v5.8.8", 779 | "source": { 780 | "type": "git", 781 | "url": "https://github.com/laravel-zero/foundation.git", 782 | "reference": "ecea3797c8eaebe5525df13302c4e2caee1abc18" 783 | }, 784 | "dist": { 785 | "type": "zip", 786 | "url": "https://api.github.com/repos/laravel-zero/foundation/zipball/ecea3797c8eaebe5525df13302c4e2caee1abc18", 787 | "reference": "ecea3797c8eaebe5525df13302c4e2caee1abc18", 788 | "shasum": "" 789 | }, 790 | "require": { 791 | "php": "^7.1.3" 792 | }, 793 | "type": "library", 794 | "extra": { 795 | "branch-alias": { 796 | "dev-master": "5.8-dev" 797 | } 798 | }, 799 | "autoload": { 800 | "files": [ 801 | "src/Illuminate/Foundation/helpers.php" 802 | ], 803 | "psr-4": { 804 | "Illuminate\\": "src/Illuminate/" 805 | } 806 | }, 807 | "notification-url": "https://packagist.org/downloads/", 808 | "license": [ 809 | "MIT" 810 | ], 811 | "description": "This is a mirror from illuminate/foundation.", 812 | "keywords": [ 813 | "framework", 814 | "laravel" 815 | ], 816 | "time": "2019-03-29T20:43:29+00:00" 817 | }, 818 | { 819 | "name": "laravel-zero/framework", 820 | "version": "v5.8.5", 821 | "source": { 822 | "type": "git", 823 | "url": "https://github.com/laravel-zero/framework.git", 824 | "reference": "c73c75f6f9975b3823be3c16b452c08904da822c" 825 | }, 826 | "dist": { 827 | "type": "zip", 828 | "url": "https://api.github.com/repos/laravel-zero/framework/zipball/c73c75f6f9975b3823be3c16b452c08904da822c", 829 | "reference": "c73c75f6f9975b3823be3c16b452c08904da822c", 830 | "shasum": "" 831 | }, 832 | "require": { 833 | "dragonmantank/cron-expression": "^2.0", 834 | "ext-json": "*", 835 | "illuminate/cache": "5.8.*", 836 | "illuminate/config": "5.8.*", 837 | "illuminate/console": "5.8.*", 838 | "illuminate/container": "5.8.*", 839 | "illuminate/contracts": "5.8.*", 840 | "illuminate/events": "5.8.*", 841 | "illuminate/filesystem": "5.8.*", 842 | "illuminate/support": "5.8.*", 843 | "laravel-zero/foundation": "5.8.*", 844 | "league/flysystem": "^1.0.8", 845 | "nunomaduro/collision": "^3.0", 846 | "nunomaduro/laravel-console-summary": "^1.0", 847 | "nunomaduro/laravel-console-task": "^1.0.6", 848 | "nunomaduro/laravel-desktop-notifier": "^2.0", 849 | "php": "^7.1.3", 850 | "psr/log": "^1.1", 851 | "symfony/console": "^4.1", 852 | "symfony/debug": "^4.1", 853 | "symfony/process": "^4.1", 854 | "symfony/var-dumper": "^4.1", 855 | "vlucas/phpdotenv": "^3.0" 856 | }, 857 | "require-dev": { 858 | "illuminate/bus": "5.8.*", 859 | "illuminate/database": "5.8.*", 860 | "illuminate/log": "5.8.*", 861 | "illuminate/queue": "5.8.*", 862 | "nunomaduro/laravel-console-dusk": "^1.0", 863 | "nunomaduro/laravel-console-menu": "^2.1", 864 | "padraic/phar-updater": "^1.0.6", 865 | "phpstan/phpstan": "^0.11", 866 | "phpunit/phpunit": "^7.5|^8.0", 867 | "vlucas/phpdotenv": "^3.0", 868 | "zendframework/zend-text": "^2.7" 869 | }, 870 | "type": "library", 871 | "autoload": { 872 | "psr-4": { 873 | "LaravelZero\\Framework\\": "src" 874 | } 875 | }, 876 | "notification-url": "https://packagist.org/downloads/", 877 | "license": [ 878 | "MIT" 879 | ], 880 | "authors": [ 881 | { 882 | "name": "Nuno Maduro", 883 | "email": "enunomaduro@gmail.com" 884 | } 885 | ], 886 | "description": "The Laravel Zero Framework.", 887 | "homepage": "https://laravel-zero.com", 888 | "keywords": [ 889 | "Laravel Zero", 890 | "cli", 891 | "console", 892 | "framework", 893 | "laravel" 894 | ], 895 | "time": "2019-03-31T10:31:04+00:00" 896 | }, 897 | { 898 | "name": "league/flysystem", 899 | "version": "1.0.53", 900 | "source": { 901 | "type": "git", 902 | "url": "https://github.com/thephpleague/flysystem.git", 903 | "reference": "08e12b7628f035600634a5e76d95b5eb66cea674" 904 | }, 905 | "dist": { 906 | "type": "zip", 907 | "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/08e12b7628f035600634a5e76d95b5eb66cea674", 908 | "reference": "08e12b7628f035600634a5e76d95b5eb66cea674", 909 | "shasum": "" 910 | }, 911 | "require": { 912 | "ext-fileinfo": "*", 913 | "php": ">=5.5.9" 914 | }, 915 | "conflict": { 916 | "league/flysystem-sftp": "<1.0.6" 917 | }, 918 | "require-dev": { 919 | "phpspec/phpspec": "^3.4", 920 | "phpunit/phpunit": "^5.7.10" 921 | }, 922 | "suggest": { 923 | "ext-fileinfo": "Required for MimeType", 924 | "ext-ftp": "Allows you to use FTP server storage", 925 | "ext-openssl": "Allows you to use FTPS server storage", 926 | "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2", 927 | "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3", 928 | "league/flysystem-azure": "Allows you to use Windows Azure Blob storage", 929 | "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching", 930 | "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem", 931 | "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", 932 | "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib", 933 | "league/flysystem-webdav": "Allows you to use WebDAV storage", 934 | "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter", 935 | "spatie/flysystem-dropbox": "Allows you to use Dropbox storage", 936 | "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications" 937 | }, 938 | "type": "library", 939 | "extra": { 940 | "branch-alias": { 941 | "dev-master": "1.1-dev" 942 | } 943 | }, 944 | "autoload": { 945 | "psr-4": { 946 | "League\\Flysystem\\": "src/" 947 | } 948 | }, 949 | "notification-url": "https://packagist.org/downloads/", 950 | "license": [ 951 | "MIT" 952 | ], 953 | "authors": [ 954 | { 955 | "name": "Frank de Jonge", 956 | "email": "info@frenky.net" 957 | } 958 | ], 959 | "description": "Filesystem abstraction: Many filesystems, one API.", 960 | "keywords": [ 961 | "Cloud Files", 962 | "WebDAV", 963 | "abstraction", 964 | "aws", 965 | "cloud", 966 | "copy.com", 967 | "dropbox", 968 | "file systems", 969 | "files", 970 | "filesystem", 971 | "filesystems", 972 | "ftp", 973 | "rackspace", 974 | "remote", 975 | "s3", 976 | "sftp", 977 | "storage" 978 | ], 979 | "time": "2019-06-18T20:09:29+00:00" 980 | }, 981 | { 982 | "name": "nesbot/carbon", 983 | "version": "2.23.1", 984 | "source": { 985 | "type": "git", 986 | "url": "https://github.com/briannesbitt/Carbon.git", 987 | "reference": "767617a047e5b8b8b3b0b6023a2650847ed7df02" 988 | }, 989 | "dist": { 990 | "type": "zip", 991 | "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/767617a047e5b8b8b3b0b6023a2650847ed7df02", 992 | "reference": "767617a047e5b8b8b3b0b6023a2650847ed7df02", 993 | "shasum": "" 994 | }, 995 | "require": { 996 | "ext-json": "*", 997 | "php": "^7.1.8 || ^8.0", 998 | "symfony/translation": "^3.4 || ^4.0" 999 | }, 1000 | "require-dev": { 1001 | "friendsofphp/php-cs-fixer": "^2.14 || ^3.0", 1002 | "kylekatarnls/multi-tester": "^1.1", 1003 | "phpmd/phpmd": "dev-php-7.1-compatibility", 1004 | "phpstan/phpstan": "^0.11", 1005 | "phpunit/phpunit": "^7.5 || ^8.0", 1006 | "squizlabs/php_codesniffer": "^3.4" 1007 | }, 1008 | "bin": [ 1009 | "bin/carbon" 1010 | ], 1011 | "type": "library", 1012 | "extra": { 1013 | "laravel": { 1014 | "providers": [ 1015 | "Carbon\\Laravel\\ServiceProvider" 1016 | ] 1017 | } 1018 | }, 1019 | "autoload": { 1020 | "psr-4": { 1021 | "Carbon\\": "src/Carbon/" 1022 | } 1023 | }, 1024 | "notification-url": "https://packagist.org/downloads/", 1025 | "license": [ 1026 | "MIT" 1027 | ], 1028 | "authors": [ 1029 | { 1030 | "name": "Brian Nesbitt", 1031 | "email": "brian@nesbot.com", 1032 | "homepage": "http://nesbot.com" 1033 | }, 1034 | { 1035 | "name": "kylekatarnls", 1036 | "homepage": "http://github.com/kylekatarnls" 1037 | } 1038 | ], 1039 | "description": "A API extension for DateTime that supports 281 different languages.", 1040 | "homepage": "http://carbon.nesbot.com", 1041 | "keywords": [ 1042 | "date", 1043 | "datetime", 1044 | "time" 1045 | ], 1046 | "time": "2019-08-17T13:57:34+00:00" 1047 | }, 1048 | { 1049 | "name": "nunomaduro/collision", 1050 | "version": "v3.0.1", 1051 | "source": { 1052 | "type": "git", 1053 | "url": "https://github.com/nunomaduro/collision.git", 1054 | "reference": "af42d339fe2742295a54f6fdd42aaa6f8c4aca68" 1055 | }, 1056 | "dist": { 1057 | "type": "zip", 1058 | "url": "https://api.github.com/repos/nunomaduro/collision/zipball/af42d339fe2742295a54f6fdd42aaa6f8c4aca68", 1059 | "reference": "af42d339fe2742295a54f6fdd42aaa6f8c4aca68", 1060 | "shasum": "" 1061 | }, 1062 | "require": { 1063 | "filp/whoops": "^2.1.4", 1064 | "jakub-onderka/php-console-highlighter": "0.3.*|0.4.*", 1065 | "php": "^7.1", 1066 | "symfony/console": "~2.8|~3.3|~4.0" 1067 | }, 1068 | "require-dev": { 1069 | "laravel/framework": "5.8.*", 1070 | "nunomaduro/larastan": "^0.3.0", 1071 | "phpstan/phpstan": "^0.11", 1072 | "phpunit/phpunit": "~8.0" 1073 | }, 1074 | "type": "library", 1075 | "extra": { 1076 | "laravel": { 1077 | "providers": [ 1078 | "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider" 1079 | ] 1080 | } 1081 | }, 1082 | "autoload": { 1083 | "psr-4": { 1084 | "NunoMaduro\\Collision\\": "src/" 1085 | } 1086 | }, 1087 | "notification-url": "https://packagist.org/downloads/", 1088 | "license": [ 1089 | "MIT" 1090 | ], 1091 | "authors": [ 1092 | { 1093 | "name": "Nuno Maduro", 1094 | "email": "enunomaduro@gmail.com" 1095 | } 1096 | ], 1097 | "description": "Cli error handling for console/command-line PHP applications.", 1098 | "keywords": [ 1099 | "artisan", 1100 | "cli", 1101 | "command-line", 1102 | "console", 1103 | "error", 1104 | "handling", 1105 | "laravel", 1106 | "laravel-zero", 1107 | "php", 1108 | "symfony" 1109 | ], 1110 | "time": "2019-03-07T21:35:13+00:00" 1111 | }, 1112 | { 1113 | "name": "nunomaduro/laravel-console-summary", 1114 | "version": "v1.2.0", 1115 | "source": { 1116 | "type": "git", 1117 | "url": "https://github.com/nunomaduro/laravel-console-summary.git", 1118 | "reference": "604a1c181f66fa4406075cb5ec4adc301f43f550" 1119 | }, 1120 | "dist": { 1121 | "type": "zip", 1122 | "url": "https://api.github.com/repos/nunomaduro/laravel-console-summary/zipball/604a1c181f66fa4406075cb5ec4adc301f43f550", 1123 | "reference": "604a1c181f66fa4406075cb5ec4adc301f43f550", 1124 | "shasum": "" 1125 | }, 1126 | "require": { 1127 | "illuminate/console": "5.6.*|5.7.*|5.8.*|^6.0", 1128 | "illuminate/support": "5.6.*|5.7.*|5.8.*|^6.0", 1129 | "php": ">=7.1.3" 1130 | }, 1131 | "type": "library", 1132 | "extra": { 1133 | "laravel": { 1134 | "providers": [ 1135 | "NunoMaduro\\LaravelConsoleSummary\\LaravelConsoleSummaryServiceProvider" 1136 | ] 1137 | } 1138 | }, 1139 | "autoload": { 1140 | "psr-4": { 1141 | "NunoMaduro\\LaravelConsoleSummary\\": "src/" 1142 | } 1143 | }, 1144 | "notification-url": "https://packagist.org/downloads/", 1145 | "license": [ 1146 | "MIT" 1147 | ], 1148 | "authors": [ 1149 | { 1150 | "name": "Nuno Maduro", 1151 | "email": "enunomaduro@gmail.com" 1152 | } 1153 | ], 1154 | "description": "A Beautiful Laravel Console Summary for your Laravel/Laravel Zero commands.", 1155 | "keywords": [ 1156 | "artisan", 1157 | "cli", 1158 | "command-line", 1159 | "console", 1160 | "laravel", 1161 | "laravel-zero", 1162 | "php", 1163 | "symfony" 1164 | ], 1165 | "time": "2019-08-04T13:06:08+00:00" 1166 | }, 1167 | { 1168 | "name": "nunomaduro/laravel-console-task", 1169 | "version": "v1.3.0", 1170 | "source": { 1171 | "type": "git", 1172 | "url": "https://github.com/nunomaduro/laravel-console-task.git", 1173 | "reference": "bce1a48a74b6d386ee4fc90c127d37395f4c0986" 1174 | }, 1175 | "dist": { 1176 | "type": "zip", 1177 | "url": "https://api.github.com/repos/nunomaduro/laravel-console-task/zipball/bce1a48a74b6d386ee4fc90c127d37395f4c0986", 1178 | "reference": "bce1a48a74b6d386ee4fc90c127d37395f4c0986", 1179 | "shasum": "" 1180 | }, 1181 | "require": { 1182 | "illuminate/console": "~5.5.26|5.6.*|5.7.*|5.8.*|^6.0", 1183 | "illuminate/support": "~5.5.26|5.6.*|5.7.*|5.8.*|^6.0", 1184 | "php": "^7.0" 1185 | }, 1186 | "require-dev": { 1187 | "phpunit/phpunit": "^8.2" 1188 | }, 1189 | "type": "library", 1190 | "extra": { 1191 | "laravel": { 1192 | "providers": [ 1193 | "NunoMaduro\\LaravelConsoleTask\\LaravelConsoleTaskServiceProvider" 1194 | ] 1195 | } 1196 | }, 1197 | "autoload": { 1198 | "psr-4": { 1199 | "NunoMaduro\\LaravelConsoleTask\\": "src/" 1200 | } 1201 | }, 1202 | "notification-url": "https://packagist.org/downloads/", 1203 | "license": [ 1204 | "MIT" 1205 | ], 1206 | "authors": [ 1207 | { 1208 | "name": "Nuno Maduro", 1209 | "email": "enunomaduro@gmail.com" 1210 | } 1211 | ], 1212 | "description": "Laravel Console Task is a output method for your Laravel/Laravel Zero commands.", 1213 | "keywords": [ 1214 | "artisan", 1215 | "cli", 1216 | "command-line", 1217 | "console", 1218 | "laravel", 1219 | "laravel-zero", 1220 | "php", 1221 | "symfony" 1222 | ], 1223 | "time": "2019-08-04T12:35:49+00:00" 1224 | }, 1225 | { 1226 | "name": "nunomaduro/laravel-desktop-notifier", 1227 | "version": "v2.2.0", 1228 | "source": { 1229 | "type": "git", 1230 | "url": "https://github.com/nunomaduro/laravel-desktop-notifier.git", 1231 | "reference": "3b93cd1a7526ce7bb3542185bcc4901650dc59e3" 1232 | }, 1233 | "dist": { 1234 | "type": "zip", 1235 | "url": "https://api.github.com/repos/nunomaduro/laravel-desktop-notifier/zipball/3b93cd1a7526ce7bb3542185bcc4901650dc59e3", 1236 | "reference": "3b93cd1a7526ce7bb3542185bcc4901650dc59e3", 1237 | "shasum": "" 1238 | }, 1239 | "require": { 1240 | "illuminate/console": "5.6.*|5.7.*|5.8.*|^6.0", 1241 | "illuminate/support": "5.6.*|5.7.*|5.8.*|^6.0", 1242 | "jolicode/jolinotif": "^2.0", 1243 | "php": "^7.1.3" 1244 | }, 1245 | "require-dev": { 1246 | "graham-campbell/testbench": "dev-master", 1247 | "phpunit/phpunit": "^7.0" 1248 | }, 1249 | "type": "library", 1250 | "extra": { 1251 | "laravel": { 1252 | "providers": [ 1253 | "NunoMaduro\\LaravelDesktopNotifier\\LaravelDesktopNotifierServiceProvider" 1254 | ], 1255 | "aliases": { 1256 | "Notifier": "NunoMaduro\\LaravelDesktopNotifier\\Facaces\\Notifier" 1257 | } 1258 | } 1259 | }, 1260 | "autoload": { 1261 | "psr-4": { 1262 | "NunoMaduro\\LaravelDesktopNotifier\\": "src/" 1263 | } 1264 | }, 1265 | "notification-url": "https://packagist.org/downloads/", 1266 | "license": [ 1267 | "MIT" 1268 | ], 1269 | "authors": [ 1270 | { 1271 | "name": "Nuno Maduro", 1272 | "email": "enunomaduro@gmail.com" 1273 | } 1274 | ], 1275 | "description": "Send notifications to your desktop from your Laravel commands. An JoliNotif wrapper for Laravel 5.", 1276 | "keywords": [ 1277 | "JoliNotif", 1278 | "Nuno Maduro", 1279 | "NunoMaduro", 1280 | "artisan", 1281 | "console", 1282 | "framework", 1283 | "laravel", 1284 | "notification", 1285 | "notifier", 1286 | "php", 1287 | "wrapper" 1288 | ], 1289 | "time": "2019-08-04T12:40:14+00:00" 1290 | }, 1291 | { 1292 | "name": "php-amqplib/php-amqplib", 1293 | "version": "v2.10.0", 1294 | "source": { 1295 | "type": "git", 1296 | "url": "https://github.com/php-amqplib/php-amqplib.git", 1297 | "reference": "04e5366f032906d5f716890427e425e71307d3a8" 1298 | }, 1299 | "dist": { 1300 | "type": "zip", 1301 | "url": "https://api.github.com/repos/php-amqplib/php-amqplib/zipball/04e5366f032906d5f716890427e425e71307d3a8", 1302 | "reference": "04e5366f032906d5f716890427e425e71307d3a8", 1303 | "shasum": "" 1304 | }, 1305 | "require": { 1306 | "ext-bcmath": "*", 1307 | "ext-sockets": "*", 1308 | "php": ">=5.6" 1309 | }, 1310 | "replace": { 1311 | "videlalvaro/php-amqplib": "self.version" 1312 | }, 1313 | "require-dev": { 1314 | "ext-curl": "*", 1315 | "nategood/httpful": "^0.2.20", 1316 | "phpdocumentor/phpdocumentor": "dev-master", 1317 | "phpunit/phpunit": "^5.7|^6.5|^7.0", 1318 | "squizlabs/php_codesniffer": "^2.5" 1319 | }, 1320 | "type": "library", 1321 | "extra": { 1322 | "branch-alias": { 1323 | "dev-master": "2.10-dev" 1324 | } 1325 | }, 1326 | "autoload": { 1327 | "psr-4": { 1328 | "PhpAmqpLib\\": "PhpAmqpLib/" 1329 | } 1330 | }, 1331 | "notification-url": "https://packagist.org/downloads/", 1332 | "license": [ 1333 | "LGPL-2.1-or-later" 1334 | ], 1335 | "authors": [ 1336 | { 1337 | "name": "Alvaro Videla", 1338 | "role": "Original Maintainer" 1339 | }, 1340 | { 1341 | "name": "John Kelly", 1342 | "role": "Maintainer", 1343 | "email": "johnmkelly86@gmail.com" 1344 | }, 1345 | { 1346 | "name": "Raúl Araya", 1347 | "role": "Maintainer", 1348 | "email": "nubeiro@gmail.com" 1349 | }, 1350 | { 1351 | "name": "Luke Bakken", 1352 | "role": "Maintainer", 1353 | "email": "luke@bakken.io" 1354 | } 1355 | ], 1356 | "description": "Formerly videlalvaro/php-amqplib. This library is a pure PHP implementation of the AMQP protocol. It's been tested against RabbitMQ.", 1357 | "homepage": "https://github.com/php-amqplib/php-amqplib/", 1358 | "keywords": [ 1359 | "message", 1360 | "queue", 1361 | "rabbitmq" 1362 | ], 1363 | "time": "2019-08-08T18:28:18+00:00" 1364 | }, 1365 | { 1366 | "name": "phpoption/phpoption", 1367 | "version": "1.5.0", 1368 | "source": { 1369 | "type": "git", 1370 | "url": "https://github.com/schmittjoh/php-option.git", 1371 | "reference": "94e644f7d2051a5f0fcf77d81605f152eecff0ed" 1372 | }, 1373 | "dist": { 1374 | "type": "zip", 1375 | "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/94e644f7d2051a5f0fcf77d81605f152eecff0ed", 1376 | "reference": "94e644f7d2051a5f0fcf77d81605f152eecff0ed", 1377 | "shasum": "" 1378 | }, 1379 | "require": { 1380 | "php": ">=5.3.0" 1381 | }, 1382 | "require-dev": { 1383 | "phpunit/phpunit": "4.7.*" 1384 | }, 1385 | "type": "library", 1386 | "extra": { 1387 | "branch-alias": { 1388 | "dev-master": "1.3-dev" 1389 | } 1390 | }, 1391 | "autoload": { 1392 | "psr-0": { 1393 | "PhpOption\\": "src/" 1394 | } 1395 | }, 1396 | "notification-url": "https://packagist.org/downloads/", 1397 | "license": [ 1398 | "Apache2" 1399 | ], 1400 | "authors": [ 1401 | { 1402 | "name": "Johannes M. Schmitt", 1403 | "email": "schmittjoh@gmail.com" 1404 | } 1405 | ], 1406 | "description": "Option Type for PHP", 1407 | "keywords": [ 1408 | "language", 1409 | "option", 1410 | "php", 1411 | "type" 1412 | ], 1413 | "time": "2015-07-25T16:39:46+00:00" 1414 | }, 1415 | { 1416 | "name": "psr/container", 1417 | "version": "1.0.0", 1418 | "source": { 1419 | "type": "git", 1420 | "url": "https://github.com/php-fig/container.git", 1421 | "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" 1422 | }, 1423 | "dist": { 1424 | "type": "zip", 1425 | "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", 1426 | "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", 1427 | "shasum": "" 1428 | }, 1429 | "require": { 1430 | "php": ">=5.3.0" 1431 | }, 1432 | "type": "library", 1433 | "extra": { 1434 | "branch-alias": { 1435 | "dev-master": "1.0.x-dev" 1436 | } 1437 | }, 1438 | "autoload": { 1439 | "psr-4": { 1440 | "Psr\\Container\\": "src/" 1441 | } 1442 | }, 1443 | "notification-url": "https://packagist.org/downloads/", 1444 | "license": [ 1445 | "MIT" 1446 | ], 1447 | "authors": [ 1448 | { 1449 | "name": "PHP-FIG", 1450 | "homepage": "http://www.php-fig.org/" 1451 | } 1452 | ], 1453 | "description": "Common Container Interface (PHP FIG PSR-11)", 1454 | "homepage": "https://github.com/php-fig/container", 1455 | "keywords": [ 1456 | "PSR-11", 1457 | "container", 1458 | "container-interface", 1459 | "container-interop", 1460 | "psr" 1461 | ], 1462 | "time": "2017-02-14T16:28:37+00:00" 1463 | }, 1464 | { 1465 | "name": "psr/log", 1466 | "version": "1.1.0", 1467 | "source": { 1468 | "type": "git", 1469 | "url": "https://github.com/php-fig/log.git", 1470 | "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd" 1471 | }, 1472 | "dist": { 1473 | "type": "zip", 1474 | "url": "https://api.github.com/repos/php-fig/log/zipball/6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", 1475 | "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", 1476 | "shasum": "" 1477 | }, 1478 | "require": { 1479 | "php": ">=5.3.0" 1480 | }, 1481 | "type": "library", 1482 | "extra": { 1483 | "branch-alias": { 1484 | "dev-master": "1.0.x-dev" 1485 | } 1486 | }, 1487 | "autoload": { 1488 | "psr-4": { 1489 | "Psr\\Log\\": "Psr/Log/" 1490 | } 1491 | }, 1492 | "notification-url": "https://packagist.org/downloads/", 1493 | "license": [ 1494 | "MIT" 1495 | ], 1496 | "authors": [ 1497 | { 1498 | "name": "PHP-FIG", 1499 | "homepage": "http://www.php-fig.org/" 1500 | } 1501 | ], 1502 | "description": "Common interface for logging libraries", 1503 | "homepage": "https://github.com/php-fig/log", 1504 | "keywords": [ 1505 | "log", 1506 | "psr", 1507 | "psr-3" 1508 | ], 1509 | "time": "2018-11-20T15:27:04+00:00" 1510 | }, 1511 | { 1512 | "name": "psr/simple-cache", 1513 | "version": "1.0.1", 1514 | "source": { 1515 | "type": "git", 1516 | "url": "https://github.com/php-fig/simple-cache.git", 1517 | "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" 1518 | }, 1519 | "dist": { 1520 | "type": "zip", 1521 | "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", 1522 | "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", 1523 | "shasum": "" 1524 | }, 1525 | "require": { 1526 | "php": ">=5.3.0" 1527 | }, 1528 | "type": "library", 1529 | "extra": { 1530 | "branch-alias": { 1531 | "dev-master": "1.0.x-dev" 1532 | } 1533 | }, 1534 | "autoload": { 1535 | "psr-4": { 1536 | "Psr\\SimpleCache\\": "src/" 1537 | } 1538 | }, 1539 | "notification-url": "https://packagist.org/downloads/", 1540 | "license": [ 1541 | "MIT" 1542 | ], 1543 | "authors": [ 1544 | { 1545 | "name": "PHP-FIG", 1546 | "homepage": "http://www.php-fig.org/" 1547 | } 1548 | ], 1549 | "description": "Common interfaces for simple caching", 1550 | "keywords": [ 1551 | "cache", 1552 | "caching", 1553 | "psr", 1554 | "psr-16", 1555 | "simple-cache" 1556 | ], 1557 | "time": "2017-10-23T01:57:42+00:00" 1558 | }, 1559 | { 1560 | "name": "symfony/console", 1561 | "version": "v4.3.3", 1562 | "source": { 1563 | "type": "git", 1564 | "url": "https://github.com/symfony/console.git", 1565 | "reference": "8b0ae5742ce9aaa8b0075665862c1ca397d1c1d9" 1566 | }, 1567 | "dist": { 1568 | "type": "zip", 1569 | "url": "https://api.github.com/repos/symfony/console/zipball/8b0ae5742ce9aaa8b0075665862c1ca397d1c1d9", 1570 | "reference": "8b0ae5742ce9aaa8b0075665862c1ca397d1c1d9", 1571 | "shasum": "" 1572 | }, 1573 | "require": { 1574 | "php": "^7.1.3", 1575 | "symfony/polyfill-mbstring": "~1.0", 1576 | "symfony/polyfill-php73": "^1.8", 1577 | "symfony/service-contracts": "^1.1" 1578 | }, 1579 | "conflict": { 1580 | "symfony/dependency-injection": "<3.4", 1581 | "symfony/event-dispatcher": "<4.3", 1582 | "symfony/process": "<3.3" 1583 | }, 1584 | "provide": { 1585 | "psr/log-implementation": "1.0" 1586 | }, 1587 | "require-dev": { 1588 | "psr/log": "~1.0", 1589 | "symfony/config": "~3.4|~4.0", 1590 | "symfony/dependency-injection": "~3.4|~4.0", 1591 | "symfony/event-dispatcher": "^4.3", 1592 | "symfony/lock": "~3.4|~4.0", 1593 | "symfony/process": "~3.4|~4.0", 1594 | "symfony/var-dumper": "^4.3" 1595 | }, 1596 | "suggest": { 1597 | "psr/log": "For using the console logger", 1598 | "symfony/event-dispatcher": "", 1599 | "symfony/lock": "", 1600 | "symfony/process": "" 1601 | }, 1602 | "type": "library", 1603 | "extra": { 1604 | "branch-alias": { 1605 | "dev-master": "4.3-dev" 1606 | } 1607 | }, 1608 | "autoload": { 1609 | "psr-4": { 1610 | "Symfony\\Component\\Console\\": "" 1611 | }, 1612 | "exclude-from-classmap": [ 1613 | "/Tests/" 1614 | ] 1615 | }, 1616 | "notification-url": "https://packagist.org/downloads/", 1617 | "license": [ 1618 | "MIT" 1619 | ], 1620 | "authors": [ 1621 | { 1622 | "name": "Fabien Potencier", 1623 | "email": "fabien@symfony.com" 1624 | }, 1625 | { 1626 | "name": "Symfony Community", 1627 | "homepage": "https://symfony.com/contributors" 1628 | } 1629 | ], 1630 | "description": "Symfony Console Component", 1631 | "homepage": "https://symfony.com", 1632 | "time": "2019-07-24T17:13:59+00:00" 1633 | }, 1634 | { 1635 | "name": "symfony/debug", 1636 | "version": "v4.3.3", 1637 | "source": { 1638 | "type": "git", 1639 | "url": "https://github.com/symfony/debug.git", 1640 | "reference": "527887c3858a2462b0137662c74837288b998ee3" 1641 | }, 1642 | "dist": { 1643 | "type": "zip", 1644 | "url": "https://api.github.com/repos/symfony/debug/zipball/527887c3858a2462b0137662c74837288b998ee3", 1645 | "reference": "527887c3858a2462b0137662c74837288b998ee3", 1646 | "shasum": "" 1647 | }, 1648 | "require": { 1649 | "php": "^7.1.3", 1650 | "psr/log": "~1.0" 1651 | }, 1652 | "conflict": { 1653 | "symfony/http-kernel": "<3.4" 1654 | }, 1655 | "require-dev": { 1656 | "symfony/http-kernel": "~3.4|~4.0" 1657 | }, 1658 | "type": "library", 1659 | "extra": { 1660 | "branch-alias": { 1661 | "dev-master": "4.3-dev" 1662 | } 1663 | }, 1664 | "autoload": { 1665 | "psr-4": { 1666 | "Symfony\\Component\\Debug\\": "" 1667 | }, 1668 | "exclude-from-classmap": [ 1669 | "/Tests/" 1670 | ] 1671 | }, 1672 | "notification-url": "https://packagist.org/downloads/", 1673 | "license": [ 1674 | "MIT" 1675 | ], 1676 | "authors": [ 1677 | { 1678 | "name": "Fabien Potencier", 1679 | "email": "fabien@symfony.com" 1680 | }, 1681 | { 1682 | "name": "Symfony Community", 1683 | "homepage": "https://symfony.com/contributors" 1684 | } 1685 | ], 1686 | "description": "Symfony Debug Component", 1687 | "homepage": "https://symfony.com", 1688 | "time": "2019-07-23T11:21:36+00:00" 1689 | }, 1690 | { 1691 | "name": "symfony/finder", 1692 | "version": "v4.3.3", 1693 | "source": { 1694 | "type": "git", 1695 | "url": "https://github.com/symfony/finder.git", 1696 | "reference": "9638d41e3729459860bb96f6247ccb61faaa45f2" 1697 | }, 1698 | "dist": { 1699 | "type": "zip", 1700 | "url": "https://api.github.com/repos/symfony/finder/zipball/9638d41e3729459860bb96f6247ccb61faaa45f2", 1701 | "reference": "9638d41e3729459860bb96f6247ccb61faaa45f2", 1702 | "shasum": "" 1703 | }, 1704 | "require": { 1705 | "php": "^7.1.3" 1706 | }, 1707 | "type": "library", 1708 | "extra": { 1709 | "branch-alias": { 1710 | "dev-master": "4.3-dev" 1711 | } 1712 | }, 1713 | "autoload": { 1714 | "psr-4": { 1715 | "Symfony\\Component\\Finder\\": "" 1716 | }, 1717 | "exclude-from-classmap": [ 1718 | "/Tests/" 1719 | ] 1720 | }, 1721 | "notification-url": "https://packagist.org/downloads/", 1722 | "license": [ 1723 | "MIT" 1724 | ], 1725 | "authors": [ 1726 | { 1727 | "name": "Fabien Potencier", 1728 | "email": "fabien@symfony.com" 1729 | }, 1730 | { 1731 | "name": "Symfony Community", 1732 | "homepage": "https://symfony.com/contributors" 1733 | } 1734 | ], 1735 | "description": "Symfony Finder Component", 1736 | "homepage": "https://symfony.com", 1737 | "time": "2019-06-28T13:16:30+00:00" 1738 | }, 1739 | { 1740 | "name": "symfony/polyfill-ctype", 1741 | "version": "v1.12.0", 1742 | "source": { 1743 | "type": "git", 1744 | "url": "https://github.com/symfony/polyfill-ctype.git", 1745 | "reference": "550ebaac289296ce228a706d0867afc34687e3f4" 1746 | }, 1747 | "dist": { 1748 | "type": "zip", 1749 | "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/550ebaac289296ce228a706d0867afc34687e3f4", 1750 | "reference": "550ebaac289296ce228a706d0867afc34687e3f4", 1751 | "shasum": "" 1752 | }, 1753 | "require": { 1754 | "php": ">=5.3.3" 1755 | }, 1756 | "suggest": { 1757 | "ext-ctype": "For best performance" 1758 | }, 1759 | "type": "library", 1760 | "extra": { 1761 | "branch-alias": { 1762 | "dev-master": "1.12-dev" 1763 | } 1764 | }, 1765 | "autoload": { 1766 | "psr-4": { 1767 | "Symfony\\Polyfill\\Ctype\\": "" 1768 | }, 1769 | "files": [ 1770 | "bootstrap.php" 1771 | ] 1772 | }, 1773 | "notification-url": "https://packagist.org/downloads/", 1774 | "license": [ 1775 | "MIT" 1776 | ], 1777 | "authors": [ 1778 | { 1779 | "name": "Gert de Pagter", 1780 | "email": "BackEndTea@gmail.com" 1781 | }, 1782 | { 1783 | "name": "Symfony Community", 1784 | "homepage": "https://symfony.com/contributors" 1785 | } 1786 | ], 1787 | "description": "Symfony polyfill for ctype functions", 1788 | "homepage": "https://symfony.com", 1789 | "keywords": [ 1790 | "compatibility", 1791 | "ctype", 1792 | "polyfill", 1793 | "portable" 1794 | ], 1795 | "time": "2019-08-06T08:03:45+00:00" 1796 | }, 1797 | { 1798 | "name": "symfony/polyfill-mbstring", 1799 | "version": "v1.12.0", 1800 | "source": { 1801 | "type": "git", 1802 | "url": "https://github.com/symfony/polyfill-mbstring.git", 1803 | "reference": "b42a2f66e8f1b15ccf25652c3424265923eb4f17" 1804 | }, 1805 | "dist": { 1806 | "type": "zip", 1807 | "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/b42a2f66e8f1b15ccf25652c3424265923eb4f17", 1808 | "reference": "b42a2f66e8f1b15ccf25652c3424265923eb4f17", 1809 | "shasum": "" 1810 | }, 1811 | "require": { 1812 | "php": ">=5.3.3" 1813 | }, 1814 | "suggest": { 1815 | "ext-mbstring": "For best performance" 1816 | }, 1817 | "type": "library", 1818 | "extra": { 1819 | "branch-alias": { 1820 | "dev-master": "1.12-dev" 1821 | } 1822 | }, 1823 | "autoload": { 1824 | "psr-4": { 1825 | "Symfony\\Polyfill\\Mbstring\\": "" 1826 | }, 1827 | "files": [ 1828 | "bootstrap.php" 1829 | ] 1830 | }, 1831 | "notification-url": "https://packagist.org/downloads/", 1832 | "license": [ 1833 | "MIT" 1834 | ], 1835 | "authors": [ 1836 | { 1837 | "name": "Nicolas Grekas", 1838 | "email": "p@tchwork.com" 1839 | }, 1840 | { 1841 | "name": "Symfony Community", 1842 | "homepage": "https://symfony.com/contributors" 1843 | } 1844 | ], 1845 | "description": "Symfony polyfill for the Mbstring extension", 1846 | "homepage": "https://symfony.com", 1847 | "keywords": [ 1848 | "compatibility", 1849 | "mbstring", 1850 | "polyfill", 1851 | "portable", 1852 | "shim" 1853 | ], 1854 | "time": "2019-08-06T08:03:45+00:00" 1855 | }, 1856 | { 1857 | "name": "symfony/polyfill-php72", 1858 | "version": "v1.12.0", 1859 | "source": { 1860 | "type": "git", 1861 | "url": "https://github.com/symfony/polyfill-php72.git", 1862 | "reference": "04ce3335667451138df4307d6a9b61565560199e" 1863 | }, 1864 | "dist": { 1865 | "type": "zip", 1866 | "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/04ce3335667451138df4307d6a9b61565560199e", 1867 | "reference": "04ce3335667451138df4307d6a9b61565560199e", 1868 | "shasum": "" 1869 | }, 1870 | "require": { 1871 | "php": ">=5.3.3" 1872 | }, 1873 | "type": "library", 1874 | "extra": { 1875 | "branch-alias": { 1876 | "dev-master": "1.12-dev" 1877 | } 1878 | }, 1879 | "autoload": { 1880 | "psr-4": { 1881 | "Symfony\\Polyfill\\Php72\\": "" 1882 | }, 1883 | "files": [ 1884 | "bootstrap.php" 1885 | ] 1886 | }, 1887 | "notification-url": "https://packagist.org/downloads/", 1888 | "license": [ 1889 | "MIT" 1890 | ], 1891 | "authors": [ 1892 | { 1893 | "name": "Nicolas Grekas", 1894 | "email": "p@tchwork.com" 1895 | }, 1896 | { 1897 | "name": "Symfony Community", 1898 | "homepage": "https://symfony.com/contributors" 1899 | } 1900 | ], 1901 | "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", 1902 | "homepage": "https://symfony.com", 1903 | "keywords": [ 1904 | "compatibility", 1905 | "polyfill", 1906 | "portable", 1907 | "shim" 1908 | ], 1909 | "time": "2019-08-06T08:03:45+00:00" 1910 | }, 1911 | { 1912 | "name": "symfony/polyfill-php73", 1913 | "version": "v1.12.0", 1914 | "source": { 1915 | "type": "git", 1916 | "url": "https://github.com/symfony/polyfill-php73.git", 1917 | "reference": "2ceb49eaccb9352bff54d22570276bb75ba4a188" 1918 | }, 1919 | "dist": { 1920 | "type": "zip", 1921 | "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/2ceb49eaccb9352bff54d22570276bb75ba4a188", 1922 | "reference": "2ceb49eaccb9352bff54d22570276bb75ba4a188", 1923 | "shasum": "" 1924 | }, 1925 | "require": { 1926 | "php": ">=5.3.3" 1927 | }, 1928 | "type": "library", 1929 | "extra": { 1930 | "branch-alias": { 1931 | "dev-master": "1.12-dev" 1932 | } 1933 | }, 1934 | "autoload": { 1935 | "psr-4": { 1936 | "Symfony\\Polyfill\\Php73\\": "" 1937 | }, 1938 | "files": [ 1939 | "bootstrap.php" 1940 | ], 1941 | "classmap": [ 1942 | "Resources/stubs" 1943 | ] 1944 | }, 1945 | "notification-url": "https://packagist.org/downloads/", 1946 | "license": [ 1947 | "MIT" 1948 | ], 1949 | "authors": [ 1950 | { 1951 | "name": "Nicolas Grekas", 1952 | "email": "p@tchwork.com" 1953 | }, 1954 | { 1955 | "name": "Symfony Community", 1956 | "homepage": "https://symfony.com/contributors" 1957 | } 1958 | ], 1959 | "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", 1960 | "homepage": "https://symfony.com", 1961 | "keywords": [ 1962 | "compatibility", 1963 | "polyfill", 1964 | "portable", 1965 | "shim" 1966 | ], 1967 | "time": "2019-08-06T08:03:45+00:00" 1968 | }, 1969 | { 1970 | "name": "symfony/process", 1971 | "version": "v4.3.3", 1972 | "source": { 1973 | "type": "git", 1974 | "url": "https://github.com/symfony/process.git", 1975 | "reference": "856d35814cf287480465bb7a6c413bb7f5f5e69c" 1976 | }, 1977 | "dist": { 1978 | "type": "zip", 1979 | "url": "https://api.github.com/repos/symfony/process/zipball/856d35814cf287480465bb7a6c413bb7f5f5e69c", 1980 | "reference": "856d35814cf287480465bb7a6c413bb7f5f5e69c", 1981 | "shasum": "" 1982 | }, 1983 | "require": { 1984 | "php": "^7.1.3" 1985 | }, 1986 | "type": "library", 1987 | "extra": { 1988 | "branch-alias": { 1989 | "dev-master": "4.3-dev" 1990 | } 1991 | }, 1992 | "autoload": { 1993 | "psr-4": { 1994 | "Symfony\\Component\\Process\\": "" 1995 | }, 1996 | "exclude-from-classmap": [ 1997 | "/Tests/" 1998 | ] 1999 | }, 2000 | "notification-url": "https://packagist.org/downloads/", 2001 | "license": [ 2002 | "MIT" 2003 | ], 2004 | "authors": [ 2005 | { 2006 | "name": "Fabien Potencier", 2007 | "email": "fabien@symfony.com" 2008 | }, 2009 | { 2010 | "name": "Symfony Community", 2011 | "homepage": "https://symfony.com/contributors" 2012 | } 2013 | ], 2014 | "description": "Symfony Process Component", 2015 | "homepage": "https://symfony.com", 2016 | "time": "2019-05-30T16:10:05+00:00" 2017 | }, 2018 | { 2019 | "name": "symfony/service-contracts", 2020 | "version": "v1.1.5", 2021 | "source": { 2022 | "type": "git", 2023 | "url": "https://github.com/symfony/service-contracts.git", 2024 | "reference": "f391a00de78ec7ec8cf5cdcdae59ec7b883edb8d" 2025 | }, 2026 | "dist": { 2027 | "type": "zip", 2028 | "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f391a00de78ec7ec8cf5cdcdae59ec7b883edb8d", 2029 | "reference": "f391a00de78ec7ec8cf5cdcdae59ec7b883edb8d", 2030 | "shasum": "" 2031 | }, 2032 | "require": { 2033 | "php": "^7.1.3", 2034 | "psr/container": "^1.0" 2035 | }, 2036 | "suggest": { 2037 | "symfony/service-implementation": "" 2038 | }, 2039 | "type": "library", 2040 | "extra": { 2041 | "branch-alias": { 2042 | "dev-master": "1.1-dev" 2043 | } 2044 | }, 2045 | "autoload": { 2046 | "psr-4": { 2047 | "Symfony\\Contracts\\Service\\": "" 2048 | } 2049 | }, 2050 | "notification-url": "https://packagist.org/downloads/", 2051 | "license": [ 2052 | "MIT" 2053 | ], 2054 | "authors": [ 2055 | { 2056 | "name": "Nicolas Grekas", 2057 | "email": "p@tchwork.com" 2058 | }, 2059 | { 2060 | "name": "Symfony Community", 2061 | "homepage": "https://symfony.com/contributors" 2062 | } 2063 | ], 2064 | "description": "Generic abstractions related to writing services", 2065 | "homepage": "https://symfony.com", 2066 | "keywords": [ 2067 | "abstractions", 2068 | "contracts", 2069 | "decoupling", 2070 | "interfaces", 2071 | "interoperability", 2072 | "standards" 2073 | ], 2074 | "time": "2019-06-13T11:15:36+00:00" 2075 | }, 2076 | { 2077 | "name": "symfony/translation", 2078 | "version": "v4.3.3", 2079 | "source": { 2080 | "type": "git", 2081 | "url": "https://github.com/symfony/translation.git", 2082 | "reference": "4e3e39cc485304f807622bdc64938e4633396406" 2083 | }, 2084 | "dist": { 2085 | "type": "zip", 2086 | "url": "https://api.github.com/repos/symfony/translation/zipball/4e3e39cc485304f807622bdc64938e4633396406", 2087 | "reference": "4e3e39cc485304f807622bdc64938e4633396406", 2088 | "shasum": "" 2089 | }, 2090 | "require": { 2091 | "php": "^7.1.3", 2092 | "symfony/polyfill-mbstring": "~1.0", 2093 | "symfony/translation-contracts": "^1.1.2" 2094 | }, 2095 | "conflict": { 2096 | "symfony/config": "<3.4", 2097 | "symfony/dependency-injection": "<3.4", 2098 | "symfony/yaml": "<3.4" 2099 | }, 2100 | "provide": { 2101 | "symfony/translation-implementation": "1.0" 2102 | }, 2103 | "require-dev": { 2104 | "psr/log": "~1.0", 2105 | "symfony/config": "~3.4|~4.0", 2106 | "symfony/console": "~3.4|~4.0", 2107 | "symfony/dependency-injection": "~3.4|~4.0", 2108 | "symfony/finder": "~2.8|~3.0|~4.0", 2109 | "symfony/http-kernel": "~3.4|~4.0", 2110 | "symfony/intl": "~3.4|~4.0", 2111 | "symfony/service-contracts": "^1.1.2", 2112 | "symfony/var-dumper": "~3.4|~4.0", 2113 | "symfony/yaml": "~3.4|~4.0" 2114 | }, 2115 | "suggest": { 2116 | "psr/log-implementation": "To use logging capability in translator", 2117 | "symfony/config": "", 2118 | "symfony/yaml": "" 2119 | }, 2120 | "type": "library", 2121 | "extra": { 2122 | "branch-alias": { 2123 | "dev-master": "4.3-dev" 2124 | } 2125 | }, 2126 | "autoload": { 2127 | "psr-4": { 2128 | "Symfony\\Component\\Translation\\": "" 2129 | }, 2130 | "exclude-from-classmap": [ 2131 | "/Tests/" 2132 | ] 2133 | }, 2134 | "notification-url": "https://packagist.org/downloads/", 2135 | "license": [ 2136 | "MIT" 2137 | ], 2138 | "authors": [ 2139 | { 2140 | "name": "Fabien Potencier", 2141 | "email": "fabien@symfony.com" 2142 | }, 2143 | { 2144 | "name": "Symfony Community", 2145 | "homepage": "https://symfony.com/contributors" 2146 | } 2147 | ], 2148 | "description": "Symfony Translation Component", 2149 | "homepage": "https://symfony.com", 2150 | "time": "2019-07-18T10:34:59+00:00" 2151 | }, 2152 | { 2153 | "name": "symfony/translation-contracts", 2154 | "version": "v1.1.5", 2155 | "source": { 2156 | "type": "git", 2157 | "url": "https://github.com/symfony/translation-contracts.git", 2158 | "reference": "cb4b18ad7b92a26e83b65dde940fab78339e6f3c" 2159 | }, 2160 | "dist": { 2161 | "type": "zip", 2162 | "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/cb4b18ad7b92a26e83b65dde940fab78339e6f3c", 2163 | "reference": "cb4b18ad7b92a26e83b65dde940fab78339e6f3c", 2164 | "shasum": "" 2165 | }, 2166 | "require": { 2167 | "php": "^7.1.3" 2168 | }, 2169 | "suggest": { 2170 | "symfony/translation-implementation": "" 2171 | }, 2172 | "type": "library", 2173 | "extra": { 2174 | "branch-alias": { 2175 | "dev-master": "1.1-dev" 2176 | } 2177 | }, 2178 | "autoload": { 2179 | "psr-4": { 2180 | "Symfony\\Contracts\\Translation\\": "" 2181 | } 2182 | }, 2183 | "notification-url": "https://packagist.org/downloads/", 2184 | "license": [ 2185 | "MIT" 2186 | ], 2187 | "authors": [ 2188 | { 2189 | "name": "Nicolas Grekas", 2190 | "email": "p@tchwork.com" 2191 | }, 2192 | { 2193 | "name": "Symfony Community", 2194 | "homepage": "https://symfony.com/contributors" 2195 | } 2196 | ], 2197 | "description": "Generic abstractions related to translation", 2198 | "homepage": "https://symfony.com", 2199 | "keywords": [ 2200 | "abstractions", 2201 | "contracts", 2202 | "decoupling", 2203 | "interfaces", 2204 | "interoperability", 2205 | "standards" 2206 | ], 2207 | "time": "2019-06-13T11:15:36+00:00" 2208 | }, 2209 | { 2210 | "name": "symfony/var-dumper", 2211 | "version": "v4.3.3", 2212 | "source": { 2213 | "type": "git", 2214 | "url": "https://github.com/symfony/var-dumper.git", 2215 | "reference": "e4110b992d2cbe198d7d3b244d079c1c58761d07" 2216 | }, 2217 | "dist": { 2218 | "type": "zip", 2219 | "url": "https://api.github.com/repos/symfony/var-dumper/zipball/e4110b992d2cbe198d7d3b244d079c1c58761d07", 2220 | "reference": "e4110b992d2cbe198d7d3b244d079c1c58761d07", 2221 | "shasum": "" 2222 | }, 2223 | "require": { 2224 | "php": "^7.1.3", 2225 | "symfony/polyfill-mbstring": "~1.0", 2226 | "symfony/polyfill-php72": "~1.5" 2227 | }, 2228 | "conflict": { 2229 | "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0", 2230 | "symfony/console": "<3.4" 2231 | }, 2232 | "require-dev": { 2233 | "ext-iconv": "*", 2234 | "symfony/console": "~3.4|~4.0", 2235 | "symfony/process": "~3.4|~4.0", 2236 | "twig/twig": "~1.34|~2.4" 2237 | }, 2238 | "suggest": { 2239 | "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", 2240 | "ext-intl": "To show region name in time zone dump", 2241 | "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" 2242 | }, 2243 | "bin": [ 2244 | "Resources/bin/var-dump-server" 2245 | ], 2246 | "type": "library", 2247 | "extra": { 2248 | "branch-alias": { 2249 | "dev-master": "4.3-dev" 2250 | } 2251 | }, 2252 | "autoload": { 2253 | "files": [ 2254 | "Resources/functions/dump.php" 2255 | ], 2256 | "psr-4": { 2257 | "Symfony\\Component\\VarDumper\\": "" 2258 | }, 2259 | "exclude-from-classmap": [ 2260 | "/Tests/" 2261 | ] 2262 | }, 2263 | "notification-url": "https://packagist.org/downloads/", 2264 | "license": [ 2265 | "MIT" 2266 | ], 2267 | "authors": [ 2268 | { 2269 | "name": "Nicolas Grekas", 2270 | "email": "p@tchwork.com" 2271 | }, 2272 | { 2273 | "name": "Symfony Community", 2274 | "homepage": "https://symfony.com/contributors" 2275 | } 2276 | ], 2277 | "description": "Symfony mechanism for exploring and dumping PHP variables", 2278 | "homepage": "https://symfony.com", 2279 | "keywords": [ 2280 | "debug", 2281 | "dump" 2282 | ], 2283 | "time": "2019-07-27T06:42:46+00:00" 2284 | }, 2285 | { 2286 | "name": "vlucas/phpdotenv", 2287 | "version": "v3.4.0", 2288 | "source": { 2289 | "type": "git", 2290 | "url": "https://github.com/vlucas/phpdotenv.git", 2291 | "reference": "5084b23845c24dbff8ac6c204290c341e4776c92" 2292 | }, 2293 | "dist": { 2294 | "type": "zip", 2295 | "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/5084b23845c24dbff8ac6c204290c341e4776c92", 2296 | "reference": "5084b23845c24dbff8ac6c204290c341e4776c92", 2297 | "shasum": "" 2298 | }, 2299 | "require": { 2300 | "php": "^5.4 || ^7.0", 2301 | "phpoption/phpoption": "^1.5", 2302 | "symfony/polyfill-ctype": "^1.9" 2303 | }, 2304 | "require-dev": { 2305 | "phpunit/phpunit": "^4.8.35 || ^5.0 || ^6.0" 2306 | }, 2307 | "type": "library", 2308 | "extra": { 2309 | "branch-alias": { 2310 | "dev-master": "3.4-dev" 2311 | } 2312 | }, 2313 | "autoload": { 2314 | "psr-4": { 2315 | "Dotenv\\": "src/" 2316 | } 2317 | }, 2318 | "notification-url": "https://packagist.org/downloads/", 2319 | "license": [ 2320 | "BSD-3-Clause" 2321 | ], 2322 | "authors": [ 2323 | { 2324 | "name": "Vance Lucas", 2325 | "email": "vance@vancelucas.com", 2326 | "homepage": "http://www.vancelucas.com" 2327 | } 2328 | ], 2329 | "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", 2330 | "keywords": [ 2331 | "dotenv", 2332 | "env", 2333 | "environment" 2334 | ], 2335 | "time": "2019-06-15T22:40:20+00:00" 2336 | } 2337 | ], 2338 | "packages-dev": [ 2339 | { 2340 | "name": "doctrine/instantiator", 2341 | "version": "1.2.0", 2342 | "source": { 2343 | "type": "git", 2344 | "url": "https://github.com/doctrine/instantiator.git", 2345 | "reference": "a2c590166b2133a4633738648b6b064edae0814a" 2346 | }, 2347 | "dist": { 2348 | "type": "zip", 2349 | "url": "https://api.github.com/repos/doctrine/instantiator/zipball/a2c590166b2133a4633738648b6b064edae0814a", 2350 | "reference": "a2c590166b2133a4633738648b6b064edae0814a", 2351 | "shasum": "" 2352 | }, 2353 | "require": { 2354 | "php": "^7.1" 2355 | }, 2356 | "require-dev": { 2357 | "doctrine/coding-standard": "^6.0", 2358 | "ext-pdo": "*", 2359 | "ext-phar": "*", 2360 | "phpbench/phpbench": "^0.13", 2361 | "phpstan/phpstan-phpunit": "^0.11", 2362 | "phpstan/phpstan-shim": "^0.11", 2363 | "phpunit/phpunit": "^7.0" 2364 | }, 2365 | "type": "library", 2366 | "extra": { 2367 | "branch-alias": { 2368 | "dev-master": "1.2.x-dev" 2369 | } 2370 | }, 2371 | "autoload": { 2372 | "psr-4": { 2373 | "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" 2374 | } 2375 | }, 2376 | "notification-url": "https://packagist.org/downloads/", 2377 | "license": [ 2378 | "MIT" 2379 | ], 2380 | "authors": [ 2381 | { 2382 | "name": "Marco Pivetta", 2383 | "email": "ocramius@gmail.com", 2384 | "homepage": "http://ocramius.github.com/" 2385 | } 2386 | ], 2387 | "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", 2388 | "homepage": "https://www.doctrine-project.org/projects/instantiator.html", 2389 | "keywords": [ 2390 | "constructor", 2391 | "instantiate" 2392 | ], 2393 | "time": "2019-03-17T17:37:11+00:00" 2394 | }, 2395 | { 2396 | "name": "hamcrest/hamcrest-php", 2397 | "version": "v2.0.0", 2398 | "source": { 2399 | "type": "git", 2400 | "url": "https://github.com/hamcrest/hamcrest-php.git", 2401 | "reference": "776503d3a8e85d4f9a1148614f95b7a608b046ad" 2402 | }, 2403 | "dist": { 2404 | "type": "zip", 2405 | "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/776503d3a8e85d4f9a1148614f95b7a608b046ad", 2406 | "reference": "776503d3a8e85d4f9a1148614f95b7a608b046ad", 2407 | "shasum": "" 2408 | }, 2409 | "require": { 2410 | "php": "^5.3|^7.0" 2411 | }, 2412 | "replace": { 2413 | "cordoval/hamcrest-php": "*", 2414 | "davedevelopment/hamcrest-php": "*", 2415 | "kodova/hamcrest-php": "*" 2416 | }, 2417 | "require-dev": { 2418 | "phpunit/php-file-iterator": "1.3.3", 2419 | "phpunit/phpunit": "~4.0", 2420 | "satooshi/php-coveralls": "^1.0" 2421 | }, 2422 | "type": "library", 2423 | "extra": { 2424 | "branch-alias": { 2425 | "dev-master": "2.0-dev" 2426 | } 2427 | }, 2428 | "autoload": { 2429 | "classmap": [ 2430 | "hamcrest" 2431 | ] 2432 | }, 2433 | "notification-url": "https://packagist.org/downloads/", 2434 | "license": [ 2435 | "BSD" 2436 | ], 2437 | "description": "This is the PHP port of Hamcrest Matchers", 2438 | "keywords": [ 2439 | "test" 2440 | ], 2441 | "time": "2016-01-20T08:20:44+00:00" 2442 | }, 2443 | { 2444 | "name": "mockery/mockery", 2445 | "version": "1.2.3", 2446 | "source": { 2447 | "type": "git", 2448 | "url": "https://github.com/mockery/mockery.git", 2449 | "reference": "4eff936d83eb809bde2c57a3cea0ee9643769031" 2450 | }, 2451 | "dist": { 2452 | "type": "zip", 2453 | "url": "https://api.github.com/repos/mockery/mockery/zipball/4eff936d83eb809bde2c57a3cea0ee9643769031", 2454 | "reference": "4eff936d83eb809bde2c57a3cea0ee9643769031", 2455 | "shasum": "" 2456 | }, 2457 | "require": { 2458 | "hamcrest/hamcrest-php": "~2.0", 2459 | "lib-pcre": ">=7.0", 2460 | "php": ">=5.6.0" 2461 | }, 2462 | "require-dev": { 2463 | "phpunit/phpunit": "~5.7.10|~6.5|~7.0|~8.0" 2464 | }, 2465 | "type": "library", 2466 | "extra": { 2467 | "branch-alias": { 2468 | "dev-master": "1.0.x-dev" 2469 | } 2470 | }, 2471 | "autoload": { 2472 | "psr-0": { 2473 | "Mockery": "library/" 2474 | } 2475 | }, 2476 | "notification-url": "https://packagist.org/downloads/", 2477 | "license": [ 2478 | "BSD-3-Clause" 2479 | ], 2480 | "authors": [ 2481 | { 2482 | "name": "Pádraic Brady", 2483 | "email": "padraic.brady@gmail.com", 2484 | "homepage": "http://blog.astrumfutura.com" 2485 | }, 2486 | { 2487 | "name": "Dave Marshall", 2488 | "email": "dave.marshall@atstsolutions.co.uk", 2489 | "homepage": "http://davedevelopment.co.uk" 2490 | } 2491 | ], 2492 | "description": "Mockery is a simple yet flexible PHP mock object framework", 2493 | "homepage": "https://github.com/mockery/mockery", 2494 | "keywords": [ 2495 | "BDD", 2496 | "TDD", 2497 | "library", 2498 | "mock", 2499 | "mock objects", 2500 | "mockery", 2501 | "stub", 2502 | "test", 2503 | "test double", 2504 | "testing" 2505 | ], 2506 | "time": "2019-08-07T15:01:07+00:00" 2507 | }, 2508 | { 2509 | "name": "myclabs/deep-copy", 2510 | "version": "1.9.3", 2511 | "source": { 2512 | "type": "git", 2513 | "url": "https://github.com/myclabs/DeepCopy.git", 2514 | "reference": "007c053ae6f31bba39dfa19a7726f56e9763bbea" 2515 | }, 2516 | "dist": { 2517 | "type": "zip", 2518 | "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/007c053ae6f31bba39dfa19a7726f56e9763bbea", 2519 | "reference": "007c053ae6f31bba39dfa19a7726f56e9763bbea", 2520 | "shasum": "" 2521 | }, 2522 | "require": { 2523 | "php": "^7.1" 2524 | }, 2525 | "replace": { 2526 | "myclabs/deep-copy": "self.version" 2527 | }, 2528 | "require-dev": { 2529 | "doctrine/collections": "^1.0", 2530 | "doctrine/common": "^2.6", 2531 | "phpunit/phpunit": "^7.1" 2532 | }, 2533 | "type": "library", 2534 | "autoload": { 2535 | "psr-4": { 2536 | "DeepCopy\\": "src/DeepCopy/" 2537 | }, 2538 | "files": [ 2539 | "src/DeepCopy/deep_copy.php" 2540 | ] 2541 | }, 2542 | "notification-url": "https://packagist.org/downloads/", 2543 | "license": [ 2544 | "MIT" 2545 | ], 2546 | "description": "Create deep copies (clones) of your objects", 2547 | "keywords": [ 2548 | "clone", 2549 | "copy", 2550 | "duplicate", 2551 | "object", 2552 | "object graph" 2553 | ], 2554 | "time": "2019-08-09T12:45:53+00:00" 2555 | }, 2556 | { 2557 | "name": "phar-io/manifest", 2558 | "version": "1.0.3", 2559 | "source": { 2560 | "type": "git", 2561 | "url": "https://github.com/phar-io/manifest.git", 2562 | "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4" 2563 | }, 2564 | "dist": { 2565 | "type": "zip", 2566 | "url": "https://api.github.com/repos/phar-io/manifest/zipball/7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", 2567 | "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", 2568 | "shasum": "" 2569 | }, 2570 | "require": { 2571 | "ext-dom": "*", 2572 | "ext-phar": "*", 2573 | "phar-io/version": "^2.0", 2574 | "php": "^5.6 || ^7.0" 2575 | }, 2576 | "type": "library", 2577 | "extra": { 2578 | "branch-alias": { 2579 | "dev-master": "1.0.x-dev" 2580 | } 2581 | }, 2582 | "autoload": { 2583 | "classmap": [ 2584 | "src/" 2585 | ] 2586 | }, 2587 | "notification-url": "https://packagist.org/downloads/", 2588 | "license": [ 2589 | "BSD-3-Clause" 2590 | ], 2591 | "authors": [ 2592 | { 2593 | "name": "Arne Blankerts", 2594 | "role": "Developer", 2595 | "email": "arne@blankerts.de" 2596 | }, 2597 | { 2598 | "name": "Sebastian Heuer", 2599 | "role": "Developer", 2600 | "email": "sebastian@phpeople.de" 2601 | }, 2602 | { 2603 | "name": "Sebastian Bergmann", 2604 | "role": "Developer", 2605 | "email": "sebastian@phpunit.de" 2606 | } 2607 | ], 2608 | "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", 2609 | "time": "2018-07-08T19:23:20+00:00" 2610 | }, 2611 | { 2612 | "name": "phar-io/version", 2613 | "version": "2.0.1", 2614 | "source": { 2615 | "type": "git", 2616 | "url": "https://github.com/phar-io/version.git", 2617 | "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6" 2618 | }, 2619 | "dist": { 2620 | "type": "zip", 2621 | "url": "https://api.github.com/repos/phar-io/version/zipball/45a2ec53a73c70ce41d55cedef9063630abaf1b6", 2622 | "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6", 2623 | "shasum": "" 2624 | }, 2625 | "require": { 2626 | "php": "^5.6 || ^7.0" 2627 | }, 2628 | "type": "library", 2629 | "autoload": { 2630 | "classmap": [ 2631 | "src/" 2632 | ] 2633 | }, 2634 | "notification-url": "https://packagist.org/downloads/", 2635 | "license": [ 2636 | "BSD-3-Clause" 2637 | ], 2638 | "authors": [ 2639 | { 2640 | "name": "Arne Blankerts", 2641 | "role": "Developer", 2642 | "email": "arne@blankerts.de" 2643 | }, 2644 | { 2645 | "name": "Sebastian Heuer", 2646 | "role": "Developer", 2647 | "email": "sebastian@phpeople.de" 2648 | }, 2649 | { 2650 | "name": "Sebastian Bergmann", 2651 | "role": "Developer", 2652 | "email": "sebastian@phpunit.de" 2653 | } 2654 | ], 2655 | "description": "Library for handling version information and constraints", 2656 | "time": "2018-07-08T19:19:57+00:00" 2657 | }, 2658 | { 2659 | "name": "phpdocumentor/reflection-common", 2660 | "version": "1.0.1", 2661 | "source": { 2662 | "type": "git", 2663 | "url": "https://github.com/phpDocumentor/ReflectionCommon.git", 2664 | "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6" 2665 | }, 2666 | "dist": { 2667 | "type": "zip", 2668 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", 2669 | "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", 2670 | "shasum": "" 2671 | }, 2672 | "require": { 2673 | "php": ">=5.5" 2674 | }, 2675 | "require-dev": { 2676 | "phpunit/phpunit": "^4.6" 2677 | }, 2678 | "type": "library", 2679 | "extra": { 2680 | "branch-alias": { 2681 | "dev-master": "1.0.x-dev" 2682 | } 2683 | }, 2684 | "autoload": { 2685 | "psr-4": { 2686 | "phpDocumentor\\Reflection\\": [ 2687 | "src" 2688 | ] 2689 | } 2690 | }, 2691 | "notification-url": "https://packagist.org/downloads/", 2692 | "license": [ 2693 | "MIT" 2694 | ], 2695 | "authors": [ 2696 | { 2697 | "name": "Jaap van Otterdijk", 2698 | "email": "opensource@ijaap.nl" 2699 | } 2700 | ], 2701 | "description": "Common reflection classes used by phpdocumentor to reflect the code structure", 2702 | "homepage": "http://www.phpdoc.org", 2703 | "keywords": [ 2704 | "FQSEN", 2705 | "phpDocumentor", 2706 | "phpdoc", 2707 | "reflection", 2708 | "static analysis" 2709 | ], 2710 | "time": "2017-09-11T18:02:19+00:00" 2711 | }, 2712 | { 2713 | "name": "phpdocumentor/reflection-docblock", 2714 | "version": "4.3.1", 2715 | "source": { 2716 | "type": "git", 2717 | "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", 2718 | "reference": "bdd9f737ebc2a01c06ea7ff4308ec6697db9b53c" 2719 | }, 2720 | "dist": { 2721 | "type": "zip", 2722 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/bdd9f737ebc2a01c06ea7ff4308ec6697db9b53c", 2723 | "reference": "bdd9f737ebc2a01c06ea7ff4308ec6697db9b53c", 2724 | "shasum": "" 2725 | }, 2726 | "require": { 2727 | "php": "^7.0", 2728 | "phpdocumentor/reflection-common": "^1.0.0", 2729 | "phpdocumentor/type-resolver": "^0.4.0", 2730 | "webmozart/assert": "^1.0" 2731 | }, 2732 | "require-dev": { 2733 | "doctrine/instantiator": "~1.0.5", 2734 | "mockery/mockery": "^1.0", 2735 | "phpunit/phpunit": "^6.4" 2736 | }, 2737 | "type": "library", 2738 | "extra": { 2739 | "branch-alias": { 2740 | "dev-master": "4.x-dev" 2741 | } 2742 | }, 2743 | "autoload": { 2744 | "psr-4": { 2745 | "phpDocumentor\\Reflection\\": [ 2746 | "src/" 2747 | ] 2748 | } 2749 | }, 2750 | "notification-url": "https://packagist.org/downloads/", 2751 | "license": [ 2752 | "MIT" 2753 | ], 2754 | "authors": [ 2755 | { 2756 | "name": "Mike van Riel", 2757 | "email": "me@mikevanriel.com" 2758 | } 2759 | ], 2760 | "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", 2761 | "time": "2019-04-30T17:48:53+00:00" 2762 | }, 2763 | { 2764 | "name": "phpdocumentor/type-resolver", 2765 | "version": "0.4.0", 2766 | "source": { 2767 | "type": "git", 2768 | "url": "https://github.com/phpDocumentor/TypeResolver.git", 2769 | "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7" 2770 | }, 2771 | "dist": { 2772 | "type": "zip", 2773 | "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7", 2774 | "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7", 2775 | "shasum": "" 2776 | }, 2777 | "require": { 2778 | "php": "^5.5 || ^7.0", 2779 | "phpdocumentor/reflection-common": "^1.0" 2780 | }, 2781 | "require-dev": { 2782 | "mockery/mockery": "^0.9.4", 2783 | "phpunit/phpunit": "^5.2||^4.8.24" 2784 | }, 2785 | "type": "library", 2786 | "extra": { 2787 | "branch-alias": { 2788 | "dev-master": "1.0.x-dev" 2789 | } 2790 | }, 2791 | "autoload": { 2792 | "psr-4": { 2793 | "phpDocumentor\\Reflection\\": [ 2794 | "src/" 2795 | ] 2796 | } 2797 | }, 2798 | "notification-url": "https://packagist.org/downloads/", 2799 | "license": [ 2800 | "MIT" 2801 | ], 2802 | "authors": [ 2803 | { 2804 | "name": "Mike van Riel", 2805 | "email": "me@mikevanriel.com" 2806 | } 2807 | ], 2808 | "time": "2017-07-14T14:27:02+00:00" 2809 | }, 2810 | { 2811 | "name": "phpspec/prophecy", 2812 | "version": "1.8.1", 2813 | "source": { 2814 | "type": "git", 2815 | "url": "https://github.com/phpspec/prophecy.git", 2816 | "reference": "1927e75f4ed19131ec9bcc3b002e07fb1173ee76" 2817 | }, 2818 | "dist": { 2819 | "type": "zip", 2820 | "url": "https://api.github.com/repos/phpspec/prophecy/zipball/1927e75f4ed19131ec9bcc3b002e07fb1173ee76", 2821 | "reference": "1927e75f4ed19131ec9bcc3b002e07fb1173ee76", 2822 | "shasum": "" 2823 | }, 2824 | "require": { 2825 | "doctrine/instantiator": "^1.0.2", 2826 | "php": "^5.3|^7.0", 2827 | "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0", 2828 | "sebastian/comparator": "^1.1|^2.0|^3.0", 2829 | "sebastian/recursion-context": "^1.0|^2.0|^3.0" 2830 | }, 2831 | "require-dev": { 2832 | "phpspec/phpspec": "^2.5|^3.2", 2833 | "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" 2834 | }, 2835 | "type": "library", 2836 | "extra": { 2837 | "branch-alias": { 2838 | "dev-master": "1.8.x-dev" 2839 | } 2840 | }, 2841 | "autoload": { 2842 | "psr-4": { 2843 | "Prophecy\\": "src/Prophecy" 2844 | } 2845 | }, 2846 | "notification-url": "https://packagist.org/downloads/", 2847 | "license": [ 2848 | "MIT" 2849 | ], 2850 | "authors": [ 2851 | { 2852 | "name": "Konstantin Kudryashov", 2853 | "email": "ever.zet@gmail.com", 2854 | "homepage": "http://everzet.com" 2855 | }, 2856 | { 2857 | "name": "Marcello Duarte", 2858 | "email": "marcello.duarte@gmail.com" 2859 | } 2860 | ], 2861 | "description": "Highly opinionated mocking framework for PHP 5.3+", 2862 | "homepage": "https://github.com/phpspec/prophecy", 2863 | "keywords": [ 2864 | "Double", 2865 | "Dummy", 2866 | "fake", 2867 | "mock", 2868 | "spy", 2869 | "stub" 2870 | ], 2871 | "time": "2019-06-13T12:50:23+00:00" 2872 | }, 2873 | { 2874 | "name": "phpunit/php-code-coverage", 2875 | "version": "6.1.4", 2876 | "source": { 2877 | "type": "git", 2878 | "url": "https://github.com/sebastianbergmann/php-code-coverage.git", 2879 | "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d" 2880 | }, 2881 | "dist": { 2882 | "type": "zip", 2883 | "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/807e6013b00af69b6c5d9ceb4282d0393dbb9d8d", 2884 | "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d", 2885 | "shasum": "" 2886 | }, 2887 | "require": { 2888 | "ext-dom": "*", 2889 | "ext-xmlwriter": "*", 2890 | "php": "^7.1", 2891 | "phpunit/php-file-iterator": "^2.0", 2892 | "phpunit/php-text-template": "^1.2.1", 2893 | "phpunit/php-token-stream": "^3.0", 2894 | "sebastian/code-unit-reverse-lookup": "^1.0.1", 2895 | "sebastian/environment": "^3.1 || ^4.0", 2896 | "sebastian/version": "^2.0.1", 2897 | "theseer/tokenizer": "^1.1" 2898 | }, 2899 | "require-dev": { 2900 | "phpunit/phpunit": "^7.0" 2901 | }, 2902 | "suggest": { 2903 | "ext-xdebug": "^2.6.0" 2904 | }, 2905 | "type": "library", 2906 | "extra": { 2907 | "branch-alias": { 2908 | "dev-master": "6.1-dev" 2909 | } 2910 | }, 2911 | "autoload": { 2912 | "classmap": [ 2913 | "src/" 2914 | ] 2915 | }, 2916 | "notification-url": "https://packagist.org/downloads/", 2917 | "license": [ 2918 | "BSD-3-Clause" 2919 | ], 2920 | "authors": [ 2921 | { 2922 | "name": "Sebastian Bergmann", 2923 | "role": "lead", 2924 | "email": "sebastian@phpunit.de" 2925 | } 2926 | ], 2927 | "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", 2928 | "homepage": "https://github.com/sebastianbergmann/php-code-coverage", 2929 | "keywords": [ 2930 | "coverage", 2931 | "testing", 2932 | "xunit" 2933 | ], 2934 | "time": "2018-10-31T16:06:48+00:00" 2935 | }, 2936 | { 2937 | "name": "phpunit/php-file-iterator", 2938 | "version": "2.0.2", 2939 | "source": { 2940 | "type": "git", 2941 | "url": "https://github.com/sebastianbergmann/php-file-iterator.git", 2942 | "reference": "050bedf145a257b1ff02746c31894800e5122946" 2943 | }, 2944 | "dist": { 2945 | "type": "zip", 2946 | "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/050bedf145a257b1ff02746c31894800e5122946", 2947 | "reference": "050bedf145a257b1ff02746c31894800e5122946", 2948 | "shasum": "" 2949 | }, 2950 | "require": { 2951 | "php": "^7.1" 2952 | }, 2953 | "require-dev": { 2954 | "phpunit/phpunit": "^7.1" 2955 | }, 2956 | "type": "library", 2957 | "extra": { 2958 | "branch-alias": { 2959 | "dev-master": "2.0.x-dev" 2960 | } 2961 | }, 2962 | "autoload": { 2963 | "classmap": [ 2964 | "src/" 2965 | ] 2966 | }, 2967 | "notification-url": "https://packagist.org/downloads/", 2968 | "license": [ 2969 | "BSD-3-Clause" 2970 | ], 2971 | "authors": [ 2972 | { 2973 | "name": "Sebastian Bergmann", 2974 | "role": "lead", 2975 | "email": "sebastian@phpunit.de" 2976 | } 2977 | ], 2978 | "description": "FilterIterator implementation that filters files based on a list of suffixes.", 2979 | "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", 2980 | "keywords": [ 2981 | "filesystem", 2982 | "iterator" 2983 | ], 2984 | "time": "2018-09-13T20:33:42+00:00" 2985 | }, 2986 | { 2987 | "name": "phpunit/php-text-template", 2988 | "version": "1.2.1", 2989 | "source": { 2990 | "type": "git", 2991 | "url": "https://github.com/sebastianbergmann/php-text-template.git", 2992 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" 2993 | }, 2994 | "dist": { 2995 | "type": "zip", 2996 | "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", 2997 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", 2998 | "shasum": "" 2999 | }, 3000 | "require": { 3001 | "php": ">=5.3.3" 3002 | }, 3003 | "type": "library", 3004 | "autoload": { 3005 | "classmap": [ 3006 | "src/" 3007 | ] 3008 | }, 3009 | "notification-url": "https://packagist.org/downloads/", 3010 | "license": [ 3011 | "BSD-3-Clause" 3012 | ], 3013 | "authors": [ 3014 | { 3015 | "name": "Sebastian Bergmann", 3016 | "role": "lead", 3017 | "email": "sebastian@phpunit.de" 3018 | } 3019 | ], 3020 | "description": "Simple template engine.", 3021 | "homepage": "https://github.com/sebastianbergmann/php-text-template/", 3022 | "keywords": [ 3023 | "template" 3024 | ], 3025 | "time": "2015-06-21T13:50:34+00:00" 3026 | }, 3027 | { 3028 | "name": "phpunit/php-timer", 3029 | "version": "2.1.2", 3030 | "source": { 3031 | "type": "git", 3032 | "url": "https://github.com/sebastianbergmann/php-timer.git", 3033 | "reference": "1038454804406b0b5f5f520358e78c1c2f71501e" 3034 | }, 3035 | "dist": { 3036 | "type": "zip", 3037 | "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/1038454804406b0b5f5f520358e78c1c2f71501e", 3038 | "reference": "1038454804406b0b5f5f520358e78c1c2f71501e", 3039 | "shasum": "" 3040 | }, 3041 | "require": { 3042 | "php": "^7.1" 3043 | }, 3044 | "require-dev": { 3045 | "phpunit/phpunit": "^7.0" 3046 | }, 3047 | "type": "library", 3048 | "extra": { 3049 | "branch-alias": { 3050 | "dev-master": "2.1-dev" 3051 | } 3052 | }, 3053 | "autoload": { 3054 | "classmap": [ 3055 | "src/" 3056 | ] 3057 | }, 3058 | "notification-url": "https://packagist.org/downloads/", 3059 | "license": [ 3060 | "BSD-3-Clause" 3061 | ], 3062 | "authors": [ 3063 | { 3064 | "name": "Sebastian Bergmann", 3065 | "role": "lead", 3066 | "email": "sebastian@phpunit.de" 3067 | } 3068 | ], 3069 | "description": "Utility class for timing", 3070 | "homepage": "https://github.com/sebastianbergmann/php-timer/", 3071 | "keywords": [ 3072 | "timer" 3073 | ], 3074 | "time": "2019-06-07T04:22:29+00:00" 3075 | }, 3076 | { 3077 | "name": "phpunit/php-token-stream", 3078 | "version": "3.1.0", 3079 | "source": { 3080 | "type": "git", 3081 | "url": "https://github.com/sebastianbergmann/php-token-stream.git", 3082 | "reference": "e899757bb3df5ff6e95089132f32cd59aac2220a" 3083 | }, 3084 | "dist": { 3085 | "type": "zip", 3086 | "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e899757bb3df5ff6e95089132f32cd59aac2220a", 3087 | "reference": "e899757bb3df5ff6e95089132f32cd59aac2220a", 3088 | "shasum": "" 3089 | }, 3090 | "require": { 3091 | "ext-tokenizer": "*", 3092 | "php": "^7.1" 3093 | }, 3094 | "require-dev": { 3095 | "phpunit/phpunit": "^7.0" 3096 | }, 3097 | "type": "library", 3098 | "extra": { 3099 | "branch-alias": { 3100 | "dev-master": "3.1-dev" 3101 | } 3102 | }, 3103 | "autoload": { 3104 | "classmap": [ 3105 | "src/" 3106 | ] 3107 | }, 3108 | "notification-url": "https://packagist.org/downloads/", 3109 | "license": [ 3110 | "BSD-3-Clause" 3111 | ], 3112 | "authors": [ 3113 | { 3114 | "name": "Sebastian Bergmann", 3115 | "email": "sebastian@phpunit.de" 3116 | } 3117 | ], 3118 | "description": "Wrapper around PHP's tokenizer extension.", 3119 | "homepage": "https://github.com/sebastianbergmann/php-token-stream/", 3120 | "keywords": [ 3121 | "tokenizer" 3122 | ], 3123 | "time": "2019-07-25T05:29:42+00:00" 3124 | }, 3125 | { 3126 | "name": "phpunit/phpunit", 3127 | "version": "7.5.15", 3128 | "source": { 3129 | "type": "git", 3130 | "url": "https://github.com/sebastianbergmann/phpunit.git", 3131 | "reference": "d79c053d972856b8b941bb233e39dc521a5093f0" 3132 | }, 3133 | "dist": { 3134 | "type": "zip", 3135 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/d79c053d972856b8b941bb233e39dc521a5093f0", 3136 | "reference": "d79c053d972856b8b941bb233e39dc521a5093f0", 3137 | "shasum": "" 3138 | }, 3139 | "require": { 3140 | "doctrine/instantiator": "^1.1", 3141 | "ext-dom": "*", 3142 | "ext-json": "*", 3143 | "ext-libxml": "*", 3144 | "ext-mbstring": "*", 3145 | "ext-xml": "*", 3146 | "myclabs/deep-copy": "^1.7", 3147 | "phar-io/manifest": "^1.0.2", 3148 | "phar-io/version": "^2.0", 3149 | "php": "^7.1", 3150 | "phpspec/prophecy": "^1.7", 3151 | "phpunit/php-code-coverage": "^6.0.7", 3152 | "phpunit/php-file-iterator": "^2.0.1", 3153 | "phpunit/php-text-template": "^1.2.1", 3154 | "phpunit/php-timer": "^2.1", 3155 | "sebastian/comparator": "^3.0", 3156 | "sebastian/diff": "^3.0", 3157 | "sebastian/environment": "^4.0", 3158 | "sebastian/exporter": "^3.1", 3159 | "sebastian/global-state": "^2.0", 3160 | "sebastian/object-enumerator": "^3.0.3", 3161 | "sebastian/resource-operations": "^2.0", 3162 | "sebastian/version": "^2.0.1" 3163 | }, 3164 | "conflict": { 3165 | "phpunit/phpunit-mock-objects": "*" 3166 | }, 3167 | "require-dev": { 3168 | "ext-pdo": "*" 3169 | }, 3170 | "suggest": { 3171 | "ext-soap": "*", 3172 | "ext-xdebug": "*", 3173 | "phpunit/php-invoker": "^2.0" 3174 | }, 3175 | "bin": [ 3176 | "phpunit" 3177 | ], 3178 | "type": "library", 3179 | "extra": { 3180 | "branch-alias": { 3181 | "dev-master": "7.5-dev" 3182 | } 3183 | }, 3184 | "autoload": { 3185 | "classmap": [ 3186 | "src/" 3187 | ] 3188 | }, 3189 | "notification-url": "https://packagist.org/downloads/", 3190 | "license": [ 3191 | "BSD-3-Clause" 3192 | ], 3193 | "authors": [ 3194 | { 3195 | "name": "Sebastian Bergmann", 3196 | "role": "lead", 3197 | "email": "sebastian@phpunit.de" 3198 | } 3199 | ], 3200 | "description": "The PHP Unit Testing framework.", 3201 | "homepage": "https://phpunit.de/", 3202 | "keywords": [ 3203 | "phpunit", 3204 | "testing", 3205 | "xunit" 3206 | ], 3207 | "time": "2019-08-21T07:05:16+00:00" 3208 | }, 3209 | { 3210 | "name": "sebastian/code-unit-reverse-lookup", 3211 | "version": "1.0.1", 3212 | "source": { 3213 | "type": "git", 3214 | "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", 3215 | "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18" 3216 | }, 3217 | "dist": { 3218 | "type": "zip", 3219 | "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", 3220 | "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", 3221 | "shasum": "" 3222 | }, 3223 | "require": { 3224 | "php": "^5.6 || ^7.0" 3225 | }, 3226 | "require-dev": { 3227 | "phpunit/phpunit": "^5.7 || ^6.0" 3228 | }, 3229 | "type": "library", 3230 | "extra": { 3231 | "branch-alias": { 3232 | "dev-master": "1.0.x-dev" 3233 | } 3234 | }, 3235 | "autoload": { 3236 | "classmap": [ 3237 | "src/" 3238 | ] 3239 | }, 3240 | "notification-url": "https://packagist.org/downloads/", 3241 | "license": [ 3242 | "BSD-3-Clause" 3243 | ], 3244 | "authors": [ 3245 | { 3246 | "name": "Sebastian Bergmann", 3247 | "email": "sebastian@phpunit.de" 3248 | } 3249 | ], 3250 | "description": "Looks up which function or method a line of code belongs to", 3251 | "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", 3252 | "time": "2017-03-04T06:30:41+00:00" 3253 | }, 3254 | { 3255 | "name": "sebastian/comparator", 3256 | "version": "3.0.2", 3257 | "source": { 3258 | "type": "git", 3259 | "url": "https://github.com/sebastianbergmann/comparator.git", 3260 | "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da" 3261 | }, 3262 | "dist": { 3263 | "type": "zip", 3264 | "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/5de4fc177adf9bce8df98d8d141a7559d7ccf6da", 3265 | "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da", 3266 | "shasum": "" 3267 | }, 3268 | "require": { 3269 | "php": "^7.1", 3270 | "sebastian/diff": "^3.0", 3271 | "sebastian/exporter": "^3.1" 3272 | }, 3273 | "require-dev": { 3274 | "phpunit/phpunit": "^7.1" 3275 | }, 3276 | "type": "library", 3277 | "extra": { 3278 | "branch-alias": { 3279 | "dev-master": "3.0-dev" 3280 | } 3281 | }, 3282 | "autoload": { 3283 | "classmap": [ 3284 | "src/" 3285 | ] 3286 | }, 3287 | "notification-url": "https://packagist.org/downloads/", 3288 | "license": [ 3289 | "BSD-3-Clause" 3290 | ], 3291 | "authors": [ 3292 | { 3293 | "name": "Jeff Welch", 3294 | "email": "whatthejeff@gmail.com" 3295 | }, 3296 | { 3297 | "name": "Volker Dusch", 3298 | "email": "github@wallbash.com" 3299 | }, 3300 | { 3301 | "name": "Bernhard Schussek", 3302 | "email": "bschussek@2bepublished.at" 3303 | }, 3304 | { 3305 | "name": "Sebastian Bergmann", 3306 | "email": "sebastian@phpunit.de" 3307 | } 3308 | ], 3309 | "description": "Provides the functionality to compare PHP values for equality", 3310 | "homepage": "https://github.com/sebastianbergmann/comparator", 3311 | "keywords": [ 3312 | "comparator", 3313 | "compare", 3314 | "equality" 3315 | ], 3316 | "time": "2018-07-12T15:12:46+00:00" 3317 | }, 3318 | { 3319 | "name": "sebastian/diff", 3320 | "version": "3.0.2", 3321 | "source": { 3322 | "type": "git", 3323 | "url": "https://github.com/sebastianbergmann/diff.git", 3324 | "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29" 3325 | }, 3326 | "dist": { 3327 | "type": "zip", 3328 | "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/720fcc7e9b5cf384ea68d9d930d480907a0c1a29", 3329 | "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29", 3330 | "shasum": "" 3331 | }, 3332 | "require": { 3333 | "php": "^7.1" 3334 | }, 3335 | "require-dev": { 3336 | "phpunit/phpunit": "^7.5 || ^8.0", 3337 | "symfony/process": "^2 || ^3.3 || ^4" 3338 | }, 3339 | "type": "library", 3340 | "extra": { 3341 | "branch-alias": { 3342 | "dev-master": "3.0-dev" 3343 | } 3344 | }, 3345 | "autoload": { 3346 | "classmap": [ 3347 | "src/" 3348 | ] 3349 | }, 3350 | "notification-url": "https://packagist.org/downloads/", 3351 | "license": [ 3352 | "BSD-3-Clause" 3353 | ], 3354 | "authors": [ 3355 | { 3356 | "name": "Kore Nordmann", 3357 | "email": "mail@kore-nordmann.de" 3358 | }, 3359 | { 3360 | "name": "Sebastian Bergmann", 3361 | "email": "sebastian@phpunit.de" 3362 | } 3363 | ], 3364 | "description": "Diff implementation", 3365 | "homepage": "https://github.com/sebastianbergmann/diff", 3366 | "keywords": [ 3367 | "diff", 3368 | "udiff", 3369 | "unidiff", 3370 | "unified diff" 3371 | ], 3372 | "time": "2019-02-04T06:01:07+00:00" 3373 | }, 3374 | { 3375 | "name": "sebastian/environment", 3376 | "version": "4.2.2", 3377 | "source": { 3378 | "type": "git", 3379 | "url": "https://github.com/sebastianbergmann/environment.git", 3380 | "reference": "f2a2c8e1c97c11ace607a7a667d73d47c19fe404" 3381 | }, 3382 | "dist": { 3383 | "type": "zip", 3384 | "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/f2a2c8e1c97c11ace607a7a667d73d47c19fe404", 3385 | "reference": "f2a2c8e1c97c11ace607a7a667d73d47c19fe404", 3386 | "shasum": "" 3387 | }, 3388 | "require": { 3389 | "php": "^7.1" 3390 | }, 3391 | "require-dev": { 3392 | "phpunit/phpunit": "^7.5" 3393 | }, 3394 | "suggest": { 3395 | "ext-posix": "*" 3396 | }, 3397 | "type": "library", 3398 | "extra": { 3399 | "branch-alias": { 3400 | "dev-master": "4.2-dev" 3401 | } 3402 | }, 3403 | "autoload": { 3404 | "classmap": [ 3405 | "src/" 3406 | ] 3407 | }, 3408 | "notification-url": "https://packagist.org/downloads/", 3409 | "license": [ 3410 | "BSD-3-Clause" 3411 | ], 3412 | "authors": [ 3413 | { 3414 | "name": "Sebastian Bergmann", 3415 | "email": "sebastian@phpunit.de" 3416 | } 3417 | ], 3418 | "description": "Provides functionality to handle HHVM/PHP environments", 3419 | "homepage": "http://www.github.com/sebastianbergmann/environment", 3420 | "keywords": [ 3421 | "Xdebug", 3422 | "environment", 3423 | "hhvm" 3424 | ], 3425 | "time": "2019-05-05T09:05:15+00:00" 3426 | }, 3427 | { 3428 | "name": "sebastian/exporter", 3429 | "version": "3.1.1", 3430 | "source": { 3431 | "type": "git", 3432 | "url": "https://github.com/sebastianbergmann/exporter.git", 3433 | "reference": "06a9a5947f47b3029d76118eb5c22802e5869687" 3434 | }, 3435 | "dist": { 3436 | "type": "zip", 3437 | "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/06a9a5947f47b3029d76118eb5c22802e5869687", 3438 | "reference": "06a9a5947f47b3029d76118eb5c22802e5869687", 3439 | "shasum": "" 3440 | }, 3441 | "require": { 3442 | "php": "^7.0", 3443 | "sebastian/recursion-context": "^3.0" 3444 | }, 3445 | "require-dev": { 3446 | "ext-mbstring": "*", 3447 | "phpunit/phpunit": "^6.0" 3448 | }, 3449 | "type": "library", 3450 | "extra": { 3451 | "branch-alias": { 3452 | "dev-master": "3.1.x-dev" 3453 | } 3454 | }, 3455 | "autoload": { 3456 | "classmap": [ 3457 | "src/" 3458 | ] 3459 | }, 3460 | "notification-url": "https://packagist.org/downloads/", 3461 | "license": [ 3462 | "BSD-3-Clause" 3463 | ], 3464 | "authors": [ 3465 | { 3466 | "name": "Sebastian Bergmann", 3467 | "email": "sebastian@phpunit.de" 3468 | }, 3469 | { 3470 | "name": "Jeff Welch", 3471 | "email": "whatthejeff@gmail.com" 3472 | }, 3473 | { 3474 | "name": "Volker Dusch", 3475 | "email": "github@wallbash.com" 3476 | }, 3477 | { 3478 | "name": "Adam Harvey", 3479 | "email": "aharvey@php.net" 3480 | }, 3481 | { 3482 | "name": "Bernhard Schussek", 3483 | "email": "bschussek@gmail.com" 3484 | } 3485 | ], 3486 | "description": "Provides the functionality to export PHP variables for visualization", 3487 | "homepage": "http://www.github.com/sebastianbergmann/exporter", 3488 | "keywords": [ 3489 | "export", 3490 | "exporter" 3491 | ], 3492 | "time": "2019-08-11T12:43:14+00:00" 3493 | }, 3494 | { 3495 | "name": "sebastian/global-state", 3496 | "version": "2.0.0", 3497 | "source": { 3498 | "type": "git", 3499 | "url": "https://github.com/sebastianbergmann/global-state.git", 3500 | "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4" 3501 | }, 3502 | "dist": { 3503 | "type": "zip", 3504 | "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", 3505 | "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", 3506 | "shasum": "" 3507 | }, 3508 | "require": { 3509 | "php": "^7.0" 3510 | }, 3511 | "require-dev": { 3512 | "phpunit/phpunit": "^6.0" 3513 | }, 3514 | "suggest": { 3515 | "ext-uopz": "*" 3516 | }, 3517 | "type": "library", 3518 | "extra": { 3519 | "branch-alias": { 3520 | "dev-master": "2.0-dev" 3521 | } 3522 | }, 3523 | "autoload": { 3524 | "classmap": [ 3525 | "src/" 3526 | ] 3527 | }, 3528 | "notification-url": "https://packagist.org/downloads/", 3529 | "license": [ 3530 | "BSD-3-Clause" 3531 | ], 3532 | "authors": [ 3533 | { 3534 | "name": "Sebastian Bergmann", 3535 | "email": "sebastian@phpunit.de" 3536 | } 3537 | ], 3538 | "description": "Snapshotting of global state", 3539 | "homepage": "http://www.github.com/sebastianbergmann/global-state", 3540 | "keywords": [ 3541 | "global state" 3542 | ], 3543 | "time": "2017-04-27T15:39:26+00:00" 3544 | }, 3545 | { 3546 | "name": "sebastian/object-enumerator", 3547 | "version": "3.0.3", 3548 | "source": { 3549 | "type": "git", 3550 | "url": "https://github.com/sebastianbergmann/object-enumerator.git", 3551 | "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5" 3552 | }, 3553 | "dist": { 3554 | "type": "zip", 3555 | "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5", 3556 | "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5", 3557 | "shasum": "" 3558 | }, 3559 | "require": { 3560 | "php": "^7.0", 3561 | "sebastian/object-reflector": "^1.1.1", 3562 | "sebastian/recursion-context": "^3.0" 3563 | }, 3564 | "require-dev": { 3565 | "phpunit/phpunit": "^6.0" 3566 | }, 3567 | "type": "library", 3568 | "extra": { 3569 | "branch-alias": { 3570 | "dev-master": "3.0.x-dev" 3571 | } 3572 | }, 3573 | "autoload": { 3574 | "classmap": [ 3575 | "src/" 3576 | ] 3577 | }, 3578 | "notification-url": "https://packagist.org/downloads/", 3579 | "license": [ 3580 | "BSD-3-Clause" 3581 | ], 3582 | "authors": [ 3583 | { 3584 | "name": "Sebastian Bergmann", 3585 | "email": "sebastian@phpunit.de" 3586 | } 3587 | ], 3588 | "description": "Traverses array structures and object graphs to enumerate all referenced objects", 3589 | "homepage": "https://github.com/sebastianbergmann/object-enumerator/", 3590 | "time": "2017-08-03T12:35:26+00:00" 3591 | }, 3592 | { 3593 | "name": "sebastian/object-reflector", 3594 | "version": "1.1.1", 3595 | "source": { 3596 | "type": "git", 3597 | "url": "https://github.com/sebastianbergmann/object-reflector.git", 3598 | "reference": "773f97c67f28de00d397be301821b06708fca0be" 3599 | }, 3600 | "dist": { 3601 | "type": "zip", 3602 | "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be", 3603 | "reference": "773f97c67f28de00d397be301821b06708fca0be", 3604 | "shasum": "" 3605 | }, 3606 | "require": { 3607 | "php": "^7.0" 3608 | }, 3609 | "require-dev": { 3610 | "phpunit/phpunit": "^6.0" 3611 | }, 3612 | "type": "library", 3613 | "extra": { 3614 | "branch-alias": { 3615 | "dev-master": "1.1-dev" 3616 | } 3617 | }, 3618 | "autoload": { 3619 | "classmap": [ 3620 | "src/" 3621 | ] 3622 | }, 3623 | "notification-url": "https://packagist.org/downloads/", 3624 | "license": [ 3625 | "BSD-3-Clause" 3626 | ], 3627 | "authors": [ 3628 | { 3629 | "name": "Sebastian Bergmann", 3630 | "email": "sebastian@phpunit.de" 3631 | } 3632 | ], 3633 | "description": "Allows reflection of object attributes, including inherited and non-public ones", 3634 | "homepage": "https://github.com/sebastianbergmann/object-reflector/", 3635 | "time": "2017-03-29T09:07:27+00:00" 3636 | }, 3637 | { 3638 | "name": "sebastian/recursion-context", 3639 | "version": "3.0.0", 3640 | "source": { 3641 | "type": "git", 3642 | "url": "https://github.com/sebastianbergmann/recursion-context.git", 3643 | "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8" 3644 | }, 3645 | "dist": { 3646 | "type": "zip", 3647 | "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", 3648 | "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", 3649 | "shasum": "" 3650 | }, 3651 | "require": { 3652 | "php": "^7.0" 3653 | }, 3654 | "require-dev": { 3655 | "phpunit/phpunit": "^6.0" 3656 | }, 3657 | "type": "library", 3658 | "extra": { 3659 | "branch-alias": { 3660 | "dev-master": "3.0.x-dev" 3661 | } 3662 | }, 3663 | "autoload": { 3664 | "classmap": [ 3665 | "src/" 3666 | ] 3667 | }, 3668 | "notification-url": "https://packagist.org/downloads/", 3669 | "license": [ 3670 | "BSD-3-Clause" 3671 | ], 3672 | "authors": [ 3673 | { 3674 | "name": "Jeff Welch", 3675 | "email": "whatthejeff@gmail.com" 3676 | }, 3677 | { 3678 | "name": "Sebastian Bergmann", 3679 | "email": "sebastian@phpunit.de" 3680 | }, 3681 | { 3682 | "name": "Adam Harvey", 3683 | "email": "aharvey@php.net" 3684 | } 3685 | ], 3686 | "description": "Provides functionality to recursively process PHP variables", 3687 | "homepage": "http://www.github.com/sebastianbergmann/recursion-context", 3688 | "time": "2017-03-03T06:23:57+00:00" 3689 | }, 3690 | { 3691 | "name": "sebastian/resource-operations", 3692 | "version": "2.0.1", 3693 | "source": { 3694 | "type": "git", 3695 | "url": "https://github.com/sebastianbergmann/resource-operations.git", 3696 | "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9" 3697 | }, 3698 | "dist": { 3699 | "type": "zip", 3700 | "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/4d7a795d35b889bf80a0cc04e08d77cedfa917a9", 3701 | "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9", 3702 | "shasum": "" 3703 | }, 3704 | "require": { 3705 | "php": "^7.1" 3706 | }, 3707 | "type": "library", 3708 | "extra": { 3709 | "branch-alias": { 3710 | "dev-master": "2.0-dev" 3711 | } 3712 | }, 3713 | "autoload": { 3714 | "classmap": [ 3715 | "src/" 3716 | ] 3717 | }, 3718 | "notification-url": "https://packagist.org/downloads/", 3719 | "license": [ 3720 | "BSD-3-Clause" 3721 | ], 3722 | "authors": [ 3723 | { 3724 | "name": "Sebastian Bergmann", 3725 | "email": "sebastian@phpunit.de" 3726 | } 3727 | ], 3728 | "description": "Provides a list of PHP built-in functions that operate on resources", 3729 | "homepage": "https://www.github.com/sebastianbergmann/resource-operations", 3730 | "time": "2018-10-04T04:07:39+00:00" 3731 | }, 3732 | { 3733 | "name": "sebastian/version", 3734 | "version": "2.0.1", 3735 | "source": { 3736 | "type": "git", 3737 | "url": "https://github.com/sebastianbergmann/version.git", 3738 | "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" 3739 | }, 3740 | "dist": { 3741 | "type": "zip", 3742 | "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", 3743 | "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", 3744 | "shasum": "" 3745 | }, 3746 | "require": { 3747 | "php": ">=5.6" 3748 | }, 3749 | "type": "library", 3750 | "extra": { 3751 | "branch-alias": { 3752 | "dev-master": "2.0.x-dev" 3753 | } 3754 | }, 3755 | "autoload": { 3756 | "classmap": [ 3757 | "src/" 3758 | ] 3759 | }, 3760 | "notification-url": "https://packagist.org/downloads/", 3761 | "license": [ 3762 | "BSD-3-Clause" 3763 | ], 3764 | "authors": [ 3765 | { 3766 | "name": "Sebastian Bergmann", 3767 | "role": "lead", 3768 | "email": "sebastian@phpunit.de" 3769 | } 3770 | ], 3771 | "description": "Library that helps with managing the version number of Git-hosted PHP projects", 3772 | "homepage": "https://github.com/sebastianbergmann/version", 3773 | "time": "2016-10-03T07:35:21+00:00" 3774 | }, 3775 | { 3776 | "name": "theseer/tokenizer", 3777 | "version": "1.1.3", 3778 | "source": { 3779 | "type": "git", 3780 | "url": "https://github.com/theseer/tokenizer.git", 3781 | "reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9" 3782 | }, 3783 | "dist": { 3784 | "type": "zip", 3785 | "url": "https://api.github.com/repos/theseer/tokenizer/zipball/11336f6f84e16a720dae9d8e6ed5019efa85a0f9", 3786 | "reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9", 3787 | "shasum": "" 3788 | }, 3789 | "require": { 3790 | "ext-dom": "*", 3791 | "ext-tokenizer": "*", 3792 | "ext-xmlwriter": "*", 3793 | "php": "^7.0" 3794 | }, 3795 | "type": "library", 3796 | "autoload": { 3797 | "classmap": [ 3798 | "src/" 3799 | ] 3800 | }, 3801 | "notification-url": "https://packagist.org/downloads/", 3802 | "license": [ 3803 | "BSD-3-Clause" 3804 | ], 3805 | "authors": [ 3806 | { 3807 | "name": "Arne Blankerts", 3808 | "role": "Developer", 3809 | "email": "arne@blankerts.de" 3810 | } 3811 | ], 3812 | "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", 3813 | "time": "2019-06-13T22:48:21+00:00" 3814 | }, 3815 | { 3816 | "name": "webmozart/assert", 3817 | "version": "1.4.0", 3818 | "source": { 3819 | "type": "git", 3820 | "url": "https://github.com/webmozart/assert.git", 3821 | "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9" 3822 | }, 3823 | "dist": { 3824 | "type": "zip", 3825 | "url": "https://api.github.com/repos/webmozart/assert/zipball/83e253c8e0be5b0257b881e1827274667c5c17a9", 3826 | "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9", 3827 | "shasum": "" 3828 | }, 3829 | "require": { 3830 | "php": "^5.3.3 || ^7.0", 3831 | "symfony/polyfill-ctype": "^1.8" 3832 | }, 3833 | "require-dev": { 3834 | "phpunit/phpunit": "^4.6", 3835 | "sebastian/version": "^1.0.1" 3836 | }, 3837 | "type": "library", 3838 | "extra": { 3839 | "branch-alias": { 3840 | "dev-master": "1.3-dev" 3841 | } 3842 | }, 3843 | "autoload": { 3844 | "psr-4": { 3845 | "Webmozart\\Assert\\": "src/" 3846 | } 3847 | }, 3848 | "notification-url": "https://packagist.org/downloads/", 3849 | "license": [ 3850 | "MIT" 3851 | ], 3852 | "authors": [ 3853 | { 3854 | "name": "Bernhard Schussek", 3855 | "email": "bschussek@gmail.com" 3856 | } 3857 | ], 3858 | "description": "Assertions to validate method input/output with nice error messages.", 3859 | "keywords": [ 3860 | "assert", 3861 | "check", 3862 | "validate" 3863 | ], 3864 | "time": "2018-12-25T11:19:39+00:00" 3865 | } 3866 | ], 3867 | "aliases": [], 3868 | "minimum-stability": "dev", 3869 | "stability-flags": [], 3870 | "prefer-stable": true, 3871 | "prefer-lowest": false, 3872 | "platform": { 3873 | "php": "^7.1.3" 3874 | }, 3875 | "platform-dev": [] 3876 | } 3877 | -------------------------------------------------------------------------------- /config/app.php: -------------------------------------------------------------------------------- 1 | 'Artisan', 17 | 18 | /* 19 | |-------------------------------------------------------------------------- 20 | | Application Version 21 | |-------------------------------------------------------------------------- 22 | | 23 | | This value determines the "version" your application is currently running 24 | | in. You may want to follow the "Semantic Versioning" - Given a version 25 | | number MAJOR.MINOR.PATCH when an update happens: https://semver.org. 26 | | 27 | */ 28 | 29 | 'version' => app('git.version'), 30 | 31 | /* 32 | |-------------------------------------------------------------------------- 33 | | Application Environment 34 | |-------------------------------------------------------------------------- 35 | | 36 | | This value determines the "environment" your application is currently 37 | | running in. This may determine how you prefer to configure various 38 | | services your application utilizes. Should be true in production. 39 | | 40 | */ 41 | 42 | 'production' => false, 43 | 44 | /* 45 | |-------------------------------------------------------------------------- 46 | | Autoloaded Service Providers 47 | |-------------------------------------------------------------------------- 48 | | 49 | | The service providers listed here will be automatically loaded on the 50 | | request to your application. Feel free to add your own services to 51 | | this array to grant expanded functionality to your applications. 52 | | 53 | */ 54 | 55 | 'providers' => [ 56 | App\Providers\AppServiceProvider::class, 57 | ], 58 | 59 | ]; 60 | -------------------------------------------------------------------------------- /config/commands.php: -------------------------------------------------------------------------------- 1 | NunoMaduro\LaravelConsoleSummary\SummaryCommand::class, 17 | 18 | /* 19 | |-------------------------------------------------------------------------- 20 | | Commands Paths 21 | |-------------------------------------------------------------------------- 22 | | 23 | | This value determines the "paths" that should be loaded by the console's 24 | | kernel. Foreach "path" present on the array provided below the kernel 25 | | will extract all "Illuminate\Console\Command" based class commands. 26 | | 27 | */ 28 | 29 | 'paths' => [app_path('Commands')], 30 | 31 | /* 32 | |-------------------------------------------------------------------------- 33 | | Added Commands 34 | |-------------------------------------------------------------------------- 35 | | 36 | | You may want to include a single command class without having to load an 37 | | entire folder. Here you can specify which commands should be added to 38 | | your list of commands. The console's kernel will try to load them. 39 | | 40 | */ 41 | 42 | 'add' => [ 43 | // .. 44 | ], 45 | 46 | /* 47 | |-------------------------------------------------------------------------- 48 | | Hidden Commands 49 | |-------------------------------------------------------------------------- 50 | | 51 | | Your application commands will always be visible on the application list 52 | | of commands. But you can still make them "hidden" specifying an array 53 | | of commands below. All "hidden" commands can still be run/executed. 54 | | 55 | */ 56 | 57 | 'hidden' => [ 58 | NunoMaduro\LaravelConsoleSummary\SummaryCommand::class, 59 | Symfony\Component\Console\Command\HelpCommand::class, 60 | Illuminate\Console\Scheduling\ScheduleRunCommand::class, 61 | Illuminate\Console\Scheduling\ScheduleFinishCommand::class, 62 | Illuminate\Foundation\Console\VendorPublishCommand::class, 63 | ], 64 | 65 | /* 66 | |-------------------------------------------------------------------------- 67 | | Removed Commands 68 | |-------------------------------------------------------------------------- 69 | | 70 | | Do you have a service provider that loads a list of commands that 71 | | you don't need? No problem. Laravel Zero allows you to specify 72 | | below a list of commands that you don't to see in your app. 73 | | 74 | */ 75 | 76 | 'remove' => [ 77 | // .. 78 | ], 79 | 80 | ]; 81 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | 3 | services: 4 | php: 5 | build: . 6 | volumes: 7 | - .:/app 8 | links: 9 | - rabbitmq 10 | 11 | rabbitmq: 12 | image: bitnami/rabbitmq:3.7 13 | ports: 14 | - 5672:5672 15 | - 15672:15672 16 | volumes: 17 | - ~/.backup/rabbitmq/rabbitmq-tutorial:/bitnami 18 | -------------------------------------------------------------------------------- /phpunit.xml.dist: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | ./tests/Feature 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | ./app 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /tests/CreatesApplication.php: -------------------------------------------------------------------------------- 1 | make(Kernel::class)->bootstrap(); 19 | 20 | return $app; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /tests/Feature/InspiringCommandTest.php: -------------------------------------------------------------------------------- 1 | artisan('inspiring') 17 | ->expectsOutput('Simplicity is the ultimate sophistication.') 18 | ->assertExitCode(0); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /tests/TestCase.php: -------------------------------------------------------------------------------- 1 |