├── .gitignore ├── .coveralls.yml ├── src ├── QueueSetupException.php ├── EntityManagerClosedException.php ├── Console │ └── WorkCommand.php ├── DoctrineQueueProvider.php └── Worker.php ├── .travis.yml ├── config └── safequeue.php ├── phpunit.xml.dist ├── composer.json ├── LICENSE ├── .php_cs ├── README.md ├── tests ├── Console │ └── WorkCommandTest.php └── WorkerTest.php └── composer.lock /.gitignore: -------------------------------------------------------------------------------- 1 | /vendor 2 | .idea 3 | .DS_Store 4 | .php_cs.cache 5 | -------------------------------------------------------------------------------- /.coveralls.yml: -------------------------------------------------------------------------------- 1 | service_name: travis-ci 2 | json_path: build/coveralls.upload.json 3 | coverage_clover: build/coverage.clover.xml 4 | -------------------------------------------------------------------------------- /src/QueueSetupException.php: -------------------------------------------------------------------------------- 1 | 'doctrine:queue:work', 19 | 20 | ]; 21 | -------------------------------------------------------------------------------- /phpunit.xml.dist: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 14 | ./tests/ 15 | 16 | 17 | 18 | 19 | src/ 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "maxbrokman/safe-queue", 3 | "description": "A Laravel Doctrine friendly daemonising queue worker for Laravel 5", 4 | "license": "MIT", 5 | "authors": [ 6 | { 7 | "name": "Max Brokman", 8 | "email": "max.brokman@vice.com" 9 | } 10 | ], 11 | "require": { 12 | "php": ">=5.6", 13 | "illuminate/queue": "^5.4.9", 14 | "laravel-doctrine/orm": "^1.0" 15 | }, 16 | "require-dev": { 17 | "phpunit/phpunit": "^5.3", 18 | "mockery/mockery": "^0.9.4", 19 | "fabpot/php-cs-fixer": "^1.11", 20 | "satooshi/php-coveralls": "^1.0" 21 | }, 22 | "autoload": { 23 | "psr-4": { 24 | "MaxBrokman\\SafeQueue\\": "src/" 25 | } 26 | }, 27 | "autoload-dev": { 28 | "psr-4": { 29 | "test\\MaxBrokman\\SafeQueue\\": "tests/" 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Max Brokman 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 all 13 | 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 THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /.php_cs: -------------------------------------------------------------------------------- 1 | exclude('vendor') 5 | ->in(__DIR__ . "/src") 6 | ->in(__DIR__ . "/tests"); 7 | 8 | return Symfony\CS\Config\Config::create() 9 | ->setUsingCache(true) 10 | ->level(Symfony\CS\FixerInterface::PSR2_LEVEL) 11 | ->fixers(array( 12 | 'psr4', 13 | 'encoding', 14 | 'short_tag', 15 | 'blankline_after_open_tag', 16 | 'namespace_no_leading_whitespace', 17 | 'no_blank_lines_after_class_opening', 18 | 'single_array_no_trailing_comma', 19 | 'no_empty_lines_after_phpdocs', 20 | 'concat_with_spaces', 21 | 'eof_ending', 22 | 'ordered_use', 23 | 'extra_empty_lines', 24 | 'single_line_after_imports', 25 | 'trailing_spaces', 26 | 'remove_lines_between_uses', 27 | 'return', 28 | 'indentation', 29 | 'linefeed', 30 | 'braces', 31 | 'visibility', 32 | 'unused_use', 33 | 'whitespacy_lines', 34 | 'php_closing_tag', 35 | 'phpdoc_order', 36 | 'phpdoc_params', 37 | 'phpdoc_trim', 38 | 'phpdoc_scalar', 39 | 'short_array_syntax', 40 | 'align_double_arrow', 41 | 'align_equals', 42 | 'lowercase_constants', 43 | 'lowercase_keywords', 44 | 'multiple_use', 45 | 'line_after_namespace', 46 | ))->finder($finder); 47 | -------------------------------------------------------------------------------- /src/Console/WorkCommand.php: -------------------------------------------------------------------------------- 1 | renameCommandInSignature($config['command_name']); 29 | 30 | parent::__construct($worker); 31 | } 32 | 33 | public function renameCommandInSignature($commandName) 34 | { 35 | if ($commandName) { 36 | /** 37 | * RegEx matches signature from the Laravel Worker Command that we're extending 38 | * from. Captures 1+ word characters (a-zA-Z0-9_) and/or literal colon (:), 39 | * and\or literal hyphen (-), up to the first white-space character or a 40 | * literal opening curly brace ({). The match is then replaced with the 41 | * command name from config, and the result is a renamed signature. 42 | */ 43 | $this->signature = preg_replace( 44 | self::SIGNATURE_REGEX_PATTERN, $commandName, $this->signature, 1 45 | ); 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/DoctrineQueueProvider.php: -------------------------------------------------------------------------------- 1 | isLumen()) { 24 | $this->publishes([ 25 | __DIR__ . '/../config/safequeue.php' => config_path('safequeue.php'), 26 | ], 'safequeue'); 27 | } 28 | 29 | $this->mergeConfigFrom( 30 | __DIR__ . '/../config/safequeue.php', 'safequeue' 31 | ); 32 | 33 | $this->registerWorker(); 34 | } 35 | 36 | public function boot() 37 | { 38 | $this->commands('command.safeQueue.work'); 39 | } 40 | 41 | /** 42 | * @return void 43 | */ 44 | protected function registerWorker() 45 | { 46 | $this->registerWorkCommand(); 47 | 48 | $this->app->singleton('safeQueue.worker', function ($app) { 49 | return new Worker($app['queue'], $app['events'], 50 | $app['em'], $app['Illuminate\Contracts\Debug\ExceptionHandler']); 51 | }); 52 | } 53 | 54 | /** 55 | * @return void 56 | */ 57 | protected function registerWorkCommand() 58 | { 59 | $this->app->singleton('command.safeQueue.work', function ($app) { 60 | return new WorkCommand( 61 | $app['safeQueue.worker'], 62 | $app['config']->get('safequeue') 63 | ); 64 | }); 65 | } 66 | 67 | /** 68 | * Get the services provided by the provider. 69 | * 70 | * @return array 71 | */ 72 | public function provides() 73 | { 74 | return [ 75 | 'safeQueue.worker', 76 | 'command.safeQueue.work' 77 | ]; 78 | } 79 | 80 | /** 81 | * @return bool 82 | */ 83 | protected function isLumen() 84 | { 85 | return str_contains($this->app->version(), 'Lumen'); 86 | } 87 | } 88 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## SafeQueue 2 | 3 | [![Latest Version on Packagist](https://img.shields.io/packagist/v/maxbrokman/safe-queue.svg)](https://packagist.org/packages/maxbrokman/safe-queue) 4 | [![Build Status](https://travis-ci.org/maxbrokman/SafeQueue.svg?branch=0.3)](https://travis-ci.org/maxbrokman/SafeQueue) 5 | [![Coverage Status](https://coveralls.io/repos/github/maxbrokman/SafeQueue/badge.svg?branch=0.3)](https://coveralls.io/github/maxbrokman/SafeQueue?branch=0.2) 6 | [![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg)](LICENSE) 7 | 8 | A Laravel Queue worker that's safe for use with Laravel Doctrine 9 | 10 | #### When to use SafeQueue 11 | 12 | - [x] You use Laravel 5 13 | - [x] You use Laravel Doctrine 14 | - [x] Devops say the CPU usage of `queue:listen` is unacceptable 15 | - [x] You want to do `php artisan queue:work --daemon` without hitting cascading `EntityManager is closed` exceptions 16 | 17 | #### Compatibility 18 | 19 | Version | Supported Laravel Versions 20 | ------- | -------------------------- 21 | 0.1.* | 5.1, 5.2 22 | 0.2.* | ^5.3.16 23 | 0.3.* | ^5.4.9 24 | 25 | #### How it Works 26 | 27 | SafeQueue overrides a small piece of Laravel functionality to make the queue worker daemon safe for use with Doctrine. 28 | It makes sure that the worker exits if the EntityManager is closed after an exception. For good measure it also clears the EM 29 | before working each job. 30 | 31 | #### Installation 32 | 33 | Install using composer 34 | 35 | ``` 36 | composer require maxbrokman/safe-queue 37 | ``` 38 | 39 | Once you've got the codez add the following to your service providers in `app.php` 40 | 41 | ``` 42 | MaxBrokman\SafeQueue\DoctrineQueueProvider::class 43 | ``` 44 | ##### Lumen 45 | 46 | Create the config file `config/safequeue.php` and load it: `$app->configure('safequeue');` 47 | ``` 48 | 'doctrine:queue:work', 66 | 67 | ]; 68 | ``` 69 | 70 | #### Usage 71 | 72 | ``` 73 | php artisan doctrine:queue:work connection --daemon -sleep=3 --tries=3 ... 74 | ``` 75 | 76 | All options are identical to Laravel's own `queue:work` method. 77 | 78 | #### Contributing 79 | 80 | PRs welcome. Please send PRs to the relevant branch (`0.1, 0.2, 0.3`) depending on which version of Laravel you are targeting. 81 | 82 | Run tests and style fixer. 83 | 84 | ``` 85 | vendor/bin/php-cs-fixer fix 86 | vendor/bin/phpunit 87 | ``` 88 | 89 | #### Maintenance 90 | 91 | I maintain this as part of my day job, please open any issues on Github 92 | -------------------------------------------------------------------------------- /tests/Console/WorkCommandTest.php: -------------------------------------------------------------------------------- 1 | worker = m::mock(Worker::class); 41 | $this->defaultCommandName = 'doctrine:queue:work'; 42 | $this->configStub = ['command_name' => $this->defaultCommandName]; 43 | $this->command = new WorkCommand($this->worker, $this->configStub); 44 | $this->testNewCommandNames = [ 45 | 'queue:work', 46 | 'custom-queue:work', 47 | 'doctrine-queue-work', 48 | 'doctrine123-queue-work', 49 | ]; 50 | } 51 | 52 | public function testHasCorrectWorker() 53 | { 54 | $worker = $this->getPropertyViaReflection('worker'); 55 | 56 | $this->assertSame($this->worker, $worker); 57 | } 58 | 59 | /** 60 | * @param $propertyName 61 | * @return mixed 62 | */ 63 | private function getPropertyViaReflection($propertyName) 64 | { 65 | // Use reflection to peek at the worker 66 | $reflectedCommand = new ReflectionClass(get_class($this->command)); 67 | $reflectionProperty = $reflectedCommand->getProperty($propertyName); 68 | $reflectionProperty->setAccessible(true); 69 | 70 | return $reflectionProperty->getValue($this->command); 71 | } 72 | 73 | public function testCommandNameIsCorrectAsDefault() 74 | { 75 | $signature = $this->getPropertyViaReflection('signature'); 76 | 77 | $this->assertEquals($this->defaultCommandName, $this->getCommandNameFromSignature($signature)); 78 | } 79 | 80 | public function testCommandNameCanBeConfigured() 81 | { 82 | foreach ($this->testNewCommandNames as $newCommandName) { 83 | $this->command = new WorkCommand($this->worker, [ 84 | 'command_name' => $newCommandName 85 | ]); 86 | 87 | $signature = $this->getPropertyViaReflection('signature'); 88 | 89 | $this->assertEquals($newCommandName, $this->getCommandNameFromSignature($signature)); 90 | } 91 | } 92 | 93 | public function testCommandNameCanConfiguredToLaravelDefaultBySettingConfigValueToFalse() 94 | { 95 | $this->command = new WorkCommand($this->worker, [ 96 | 'command_name' => false 97 | ]); 98 | 99 | $signature = $this->getPropertyViaReflection('signature'); 100 | 101 | $this->assertEquals('queue:work', $this->getCommandNameFromSignature($signature)); 102 | } 103 | 104 | private function getCommandNameFromSignature($signature) 105 | { 106 | preg_match(WorkCommand::SIGNATURE_REGEX_PATTERN, $signature, $matches); 107 | 108 | return $matches[1]; 109 | } 110 | } 111 | -------------------------------------------------------------------------------- /src/Worker.php: -------------------------------------------------------------------------------- 1 | entityManager = $entityManager; 40 | } 41 | 42 | /** 43 | * Wrap parent::runJob to make sure we have a good EM. 44 | * 45 | * Most exception handling is done in the parent method, so we consider any new 46 | * exceptions to be a result of our setup. 47 | * 48 | * @param \Illuminate\Contracts\Queue\Job $job 49 | * @param string $connectionName 50 | * @param WorkerOptions $options 51 | */ 52 | protected function runJob($job, $connectionName, WorkerOptions $options) 53 | { 54 | try { 55 | $this->assertEntityManagerOpen(); 56 | $this->assertEntityManagerClear(); 57 | $this->assertGoodDatabaseConnection(); 58 | 59 | parent::runJob($job, $connectionName, $options); 60 | } catch (EntityManagerClosedException $e) { 61 | $this->exceptions->report($e); 62 | $this->stop(1); 63 | } catch (Exception $e) { 64 | $this->exceptions->report(new QueueSetupException("Error in queue setup while running a job", 0, $e)); 65 | $this->stop(1); 66 | } catch (Throwable $e) { 67 | $this->exceptions->report(new QueueSetupException("Error in queue setup while running a job", 0, new FatalThrowableError($e))); 68 | $this->stop(1); 69 | } 70 | } 71 | 72 | /** 73 | * @throws EntityManagerClosedException 74 | */ 75 | private function assertEntityManagerOpen() 76 | { 77 | if ($this->entityManager->isOpen()) { 78 | return; 79 | } 80 | 81 | throw new EntityManagerClosedException; 82 | } 83 | 84 | /** 85 | * To clear the em before doing any work. 86 | */ 87 | private function assertEntityManagerClear() 88 | { 89 | $this->entityManager->clear(); 90 | } 91 | 92 | /** 93 | * Some database systems close the connection after a period of time, in MySQL this is system variable 94 | * `wait_timeout`. Given the daemon is meant to run indefinitely we need to make sure we have an open 95 | * connection before working any job. Otherwise we would see `MySQL has gone away` type errors. 96 | */ 97 | private function assertGoodDatabaseConnection() 98 | { 99 | $connection = $this->entityManager->getConnection(); 100 | 101 | if ($connection->ping() === false) { 102 | $connection->close(); 103 | $connection->connect(); 104 | } 105 | } 106 | } 107 | -------------------------------------------------------------------------------- /tests/WorkerTest.php: -------------------------------------------------------------------------------- 1 | queueManager = m::mock(QueueManager::class); 69 | $this->queue = m::mock(Queue::class); 70 | $this->dispatcher = m::mock(Dispatcher::class); 71 | $this->entityManager = m::mock(EntityManager::class); 72 | $this->dbConnection = m::mock(Connection::class); 73 | $this->cache = m::mock(Repository::class); 74 | $this->exceptions = m::mock(Handler::class); 75 | 76 | $this->worker = new Worker($this->queueManager, $this->dispatcher, $this->entityManager, $this->exceptions); 77 | 78 | $this->options = new WorkerOptions(0, 128, 0, 0, 0); 79 | 80 | // Not interested in events 81 | $this->dispatcher->shouldIgnoreMissing(); 82 | 83 | // EM always has connection available 84 | $this->entityManager->shouldReceive('getConnection')->andReturn($this->dbConnection); 85 | } 86 | 87 | protected function tearDown() 88 | { 89 | m::close(); 90 | } 91 | 92 | protected function prepareToRunJob($job) 93 | { 94 | if ($job instanceof Job) { 95 | $jobs = [$job]; 96 | } else { 97 | $jobs = $job; 98 | } 99 | 100 | $this->queueManager->shouldReceive('isDownForMaintenance')->andReturn(false); 101 | $this->queueManager->shouldReceive('connection')->andReturn($this->queue); 102 | $this->queueManager->shouldReceive('getName')->andReturn('test'); 103 | 104 | $this->queue->shouldReceive('pop')->andReturn(...$jobs); 105 | } 106 | 107 | public function testExtendsLaravelWorker() 108 | { 109 | $this->assertInstanceOf(IlluminateWorker::class, $this->worker); 110 | } 111 | 112 | public function testChecksEmState() 113 | { 114 | $job = m::mock(Job::class); 115 | $job->shouldReceive('fire')->once(); 116 | $job->shouldIgnoreMissing(); 117 | 118 | $this->prepareToRunJob($job); 119 | 120 | // Must make sure em is open 121 | $this->entityManager->shouldReceive('isOpen')->once()->andReturn(true); 122 | 123 | // Em must be cleared 124 | $this->entityManager->shouldReceive('clear')->once(); 125 | 126 | // Must re-open db connection 127 | $this->dbConnection->shouldReceive('ping')->once()->andReturn(false); 128 | $this->dbConnection->shouldReceive('close')->once(); 129 | $this->dbConnection->shouldReceive('connect')->once(); 130 | 131 | $this->worker->runNextJob('connection', 'queue', $this->options); 132 | } 133 | } 134 | -------------------------------------------------------------------------------- /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#composer-lock-the-lock-file", 5 | "This file is @generated automatically" 6 | ], 7 | "hash": "14d47721b94f5aa995d71cc89bf0225f", 8 | "content-hash": "09fb03047dac83fc1a955f9e8d1a52a6", 9 | "packages": [ 10 | { 11 | "name": "doctrine/annotations", 12 | "version": "v1.3.1", 13 | "source": { 14 | "type": "git", 15 | "url": "https://github.com/doctrine/annotations.git", 16 | "reference": "bd4461328621bde0ae6b1b2675fbc6aca4ceb558" 17 | }, 18 | "dist": { 19 | "type": "zip", 20 | "url": "https://api.github.com/repos/doctrine/annotations/zipball/bd4461328621bde0ae6b1b2675fbc6aca4ceb558", 21 | "reference": "bd4461328621bde0ae6b1b2675fbc6aca4ceb558", 22 | "shasum": "" 23 | }, 24 | "require": { 25 | "doctrine/lexer": "1.*", 26 | "php": "^5.6 || ^7.0" 27 | }, 28 | "require-dev": { 29 | "doctrine/cache": "1.*", 30 | "phpunit/phpunit": "^5.6.1" 31 | }, 32 | "type": "library", 33 | "extra": { 34 | "branch-alias": { 35 | "dev-master": "1.4.x-dev" 36 | } 37 | }, 38 | "autoload": { 39 | "psr-4": { 40 | "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" 41 | } 42 | }, 43 | "notification-url": "https://packagist.org/downloads/", 44 | "license": [ 45 | "MIT" 46 | ], 47 | "authors": [ 48 | { 49 | "name": "Roman Borschel", 50 | "email": "roman@code-factory.org" 51 | }, 52 | { 53 | "name": "Benjamin Eberlei", 54 | "email": "kontakt@beberlei.de" 55 | }, 56 | { 57 | "name": "Guilherme Blanco", 58 | "email": "guilhermeblanco@gmail.com" 59 | }, 60 | { 61 | "name": "Jonathan Wage", 62 | "email": "jonwage@gmail.com" 63 | }, 64 | { 65 | "name": "Johannes Schmitt", 66 | "email": "schmittjoh@gmail.com" 67 | } 68 | ], 69 | "description": "Docblock Annotations Parser", 70 | "homepage": "http://www.doctrine-project.org", 71 | "keywords": [ 72 | "annotations", 73 | "docblock", 74 | "parser" 75 | ], 76 | "time": "2016-12-30 15:59:45" 77 | }, 78 | { 79 | "name": "doctrine/cache", 80 | "version": "v1.6.1", 81 | "source": { 82 | "type": "git", 83 | "url": "https://github.com/doctrine/cache.git", 84 | "reference": "b6f544a20f4807e81f7044d31e679ccbb1866dc3" 85 | }, 86 | "dist": { 87 | "type": "zip", 88 | "url": "https://api.github.com/repos/doctrine/cache/zipball/b6f544a20f4807e81f7044d31e679ccbb1866dc3", 89 | "reference": "b6f544a20f4807e81f7044d31e679ccbb1866dc3", 90 | "shasum": "" 91 | }, 92 | "require": { 93 | "php": "~5.5|~7.0" 94 | }, 95 | "conflict": { 96 | "doctrine/common": ">2.2,<2.4" 97 | }, 98 | "require-dev": { 99 | "phpunit/phpunit": "~4.8|~5.0", 100 | "predis/predis": "~1.0", 101 | "satooshi/php-coveralls": "~0.6" 102 | }, 103 | "type": "library", 104 | "extra": { 105 | "branch-alias": { 106 | "dev-master": "1.6.x-dev" 107 | } 108 | }, 109 | "autoload": { 110 | "psr-4": { 111 | "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" 112 | } 113 | }, 114 | "notification-url": "https://packagist.org/downloads/", 115 | "license": [ 116 | "MIT" 117 | ], 118 | "authors": [ 119 | { 120 | "name": "Roman Borschel", 121 | "email": "roman@code-factory.org" 122 | }, 123 | { 124 | "name": "Benjamin Eberlei", 125 | "email": "kontakt@beberlei.de" 126 | }, 127 | { 128 | "name": "Guilherme Blanco", 129 | "email": "guilhermeblanco@gmail.com" 130 | }, 131 | { 132 | "name": "Jonathan Wage", 133 | "email": "jonwage@gmail.com" 134 | }, 135 | { 136 | "name": "Johannes Schmitt", 137 | "email": "schmittjoh@gmail.com" 138 | } 139 | ], 140 | "description": "Caching library offering an object-oriented API for many cache backends", 141 | "homepage": "http://www.doctrine-project.org", 142 | "keywords": [ 143 | "cache", 144 | "caching" 145 | ], 146 | "time": "2016-10-29 11:16:17" 147 | }, 148 | { 149 | "name": "doctrine/collections", 150 | "version": "v1.4.0", 151 | "source": { 152 | "type": "git", 153 | "url": "https://github.com/doctrine/collections.git", 154 | "reference": "1a4fb7e902202c33cce8c55989b945612943c2ba" 155 | }, 156 | "dist": { 157 | "type": "zip", 158 | "url": "https://api.github.com/repos/doctrine/collections/zipball/1a4fb7e902202c33cce8c55989b945612943c2ba", 159 | "reference": "1a4fb7e902202c33cce8c55989b945612943c2ba", 160 | "shasum": "" 161 | }, 162 | "require": { 163 | "php": "^5.6 || ^7.0" 164 | }, 165 | "require-dev": { 166 | "doctrine/coding-standard": "~0.1@dev", 167 | "phpunit/phpunit": "^5.7" 168 | }, 169 | "type": "library", 170 | "extra": { 171 | "branch-alias": { 172 | "dev-master": "1.3.x-dev" 173 | } 174 | }, 175 | "autoload": { 176 | "psr-0": { 177 | "Doctrine\\Common\\Collections\\": "lib/" 178 | } 179 | }, 180 | "notification-url": "https://packagist.org/downloads/", 181 | "license": [ 182 | "MIT" 183 | ], 184 | "authors": [ 185 | { 186 | "name": "Roman Borschel", 187 | "email": "roman@code-factory.org" 188 | }, 189 | { 190 | "name": "Benjamin Eberlei", 191 | "email": "kontakt@beberlei.de" 192 | }, 193 | { 194 | "name": "Guilherme Blanco", 195 | "email": "guilhermeblanco@gmail.com" 196 | }, 197 | { 198 | "name": "Jonathan Wage", 199 | "email": "jonwage@gmail.com" 200 | }, 201 | { 202 | "name": "Johannes Schmitt", 203 | "email": "schmittjoh@gmail.com" 204 | } 205 | ], 206 | "description": "Collections Abstraction library", 207 | "homepage": "http://www.doctrine-project.org", 208 | "keywords": [ 209 | "array", 210 | "collections", 211 | "iterator" 212 | ], 213 | "time": "2017-01-03 10:49:41" 214 | }, 215 | { 216 | "name": "doctrine/common", 217 | "version": "v2.7.2", 218 | "source": { 219 | "type": "git", 220 | "url": "https://github.com/doctrine/common.git", 221 | "reference": "930297026c8009a567ac051fd545bf6124150347" 222 | }, 223 | "dist": { 224 | "type": "zip", 225 | "url": "https://api.github.com/repos/doctrine/common/zipball/930297026c8009a567ac051fd545bf6124150347", 226 | "reference": "930297026c8009a567ac051fd545bf6124150347", 227 | "shasum": "" 228 | }, 229 | "require": { 230 | "doctrine/annotations": "1.*", 231 | "doctrine/cache": "1.*", 232 | "doctrine/collections": "1.*", 233 | "doctrine/inflector": "1.*", 234 | "doctrine/lexer": "1.*", 235 | "php": "~5.6|~7.0" 236 | }, 237 | "require-dev": { 238 | "phpunit/phpunit": "^5.4.6" 239 | }, 240 | "type": "library", 241 | "extra": { 242 | "branch-alias": { 243 | "dev-master": "2.7.x-dev" 244 | } 245 | }, 246 | "autoload": { 247 | "psr-4": { 248 | "Doctrine\\Common\\": "lib/Doctrine/Common" 249 | } 250 | }, 251 | "notification-url": "https://packagist.org/downloads/", 252 | "license": [ 253 | "MIT" 254 | ], 255 | "authors": [ 256 | { 257 | "name": "Roman Borschel", 258 | "email": "roman@code-factory.org" 259 | }, 260 | { 261 | "name": "Benjamin Eberlei", 262 | "email": "kontakt@beberlei.de" 263 | }, 264 | { 265 | "name": "Guilherme Blanco", 266 | "email": "guilhermeblanco@gmail.com" 267 | }, 268 | { 269 | "name": "Jonathan Wage", 270 | "email": "jonwage@gmail.com" 271 | }, 272 | { 273 | "name": "Johannes Schmitt", 274 | "email": "schmittjoh@gmail.com" 275 | } 276 | ], 277 | "description": "Common Library for Doctrine projects", 278 | "homepage": "http://www.doctrine-project.org", 279 | "keywords": [ 280 | "annotations", 281 | "collections", 282 | "eventmanager", 283 | "persistence", 284 | "spl" 285 | ], 286 | "time": "2017-01-13 14:02:13" 287 | }, 288 | { 289 | "name": "doctrine/dbal", 290 | "version": "v2.5.12", 291 | "source": { 292 | "type": "git", 293 | "url": "https://github.com/doctrine/dbal.git", 294 | "reference": "7b9e911f9d8b30d43b96853dab26898c710d8f44" 295 | }, 296 | "dist": { 297 | "type": "zip", 298 | "url": "https://api.github.com/repos/doctrine/dbal/zipball/7b9e911f9d8b30d43b96853dab26898c710d8f44", 299 | "reference": "7b9e911f9d8b30d43b96853dab26898c710d8f44", 300 | "shasum": "" 301 | }, 302 | "require": { 303 | "doctrine/common": ">=2.4,<2.8-dev", 304 | "php": ">=5.3.2" 305 | }, 306 | "require-dev": { 307 | "phpunit/phpunit": "4.*", 308 | "symfony/console": "2.*||^3.0" 309 | }, 310 | "suggest": { 311 | "symfony/console": "For helpful console commands such as SQL execution and import of files." 312 | }, 313 | "bin": [ 314 | "bin/doctrine-dbal" 315 | ], 316 | "type": "library", 317 | "extra": { 318 | "branch-alias": { 319 | "dev-master": "2.5.x-dev" 320 | } 321 | }, 322 | "autoload": { 323 | "psr-0": { 324 | "Doctrine\\DBAL\\": "lib/" 325 | } 326 | }, 327 | "notification-url": "https://packagist.org/downloads/", 328 | "license": [ 329 | "MIT" 330 | ], 331 | "authors": [ 332 | { 333 | "name": "Roman Borschel", 334 | "email": "roman@code-factory.org" 335 | }, 336 | { 337 | "name": "Benjamin Eberlei", 338 | "email": "kontakt@beberlei.de" 339 | }, 340 | { 341 | "name": "Guilherme Blanco", 342 | "email": "guilhermeblanco@gmail.com" 343 | }, 344 | { 345 | "name": "Jonathan Wage", 346 | "email": "jonwage@gmail.com" 347 | } 348 | ], 349 | "description": "Database Abstraction Layer", 350 | "homepage": "http://www.doctrine-project.org", 351 | "keywords": [ 352 | "database", 353 | "dbal", 354 | "persistence", 355 | "queryobject" 356 | ], 357 | "time": "2017-02-08 12:53:47" 358 | }, 359 | { 360 | "name": "doctrine/inflector", 361 | "version": "v1.1.0", 362 | "source": { 363 | "type": "git", 364 | "url": "https://github.com/doctrine/inflector.git", 365 | "reference": "90b2128806bfde671b6952ab8bea493942c1fdae" 366 | }, 367 | "dist": { 368 | "type": "zip", 369 | "url": "https://api.github.com/repos/doctrine/inflector/zipball/90b2128806bfde671b6952ab8bea493942c1fdae", 370 | "reference": "90b2128806bfde671b6952ab8bea493942c1fdae", 371 | "shasum": "" 372 | }, 373 | "require": { 374 | "php": ">=5.3.2" 375 | }, 376 | "require-dev": { 377 | "phpunit/phpunit": "4.*" 378 | }, 379 | "type": "library", 380 | "extra": { 381 | "branch-alias": { 382 | "dev-master": "1.1.x-dev" 383 | } 384 | }, 385 | "autoload": { 386 | "psr-0": { 387 | "Doctrine\\Common\\Inflector\\": "lib/" 388 | } 389 | }, 390 | "notification-url": "https://packagist.org/downloads/", 391 | "license": [ 392 | "MIT" 393 | ], 394 | "authors": [ 395 | { 396 | "name": "Roman Borschel", 397 | "email": "roman@code-factory.org" 398 | }, 399 | { 400 | "name": "Benjamin Eberlei", 401 | "email": "kontakt@beberlei.de" 402 | }, 403 | { 404 | "name": "Guilherme Blanco", 405 | "email": "guilhermeblanco@gmail.com" 406 | }, 407 | { 408 | "name": "Jonathan Wage", 409 | "email": "jonwage@gmail.com" 410 | }, 411 | { 412 | "name": "Johannes Schmitt", 413 | "email": "schmittjoh@gmail.com" 414 | } 415 | ], 416 | "description": "Common String Manipulations with regard to casing and singular/plural rules.", 417 | "homepage": "http://www.doctrine-project.org", 418 | "keywords": [ 419 | "inflection", 420 | "pluralize", 421 | "singularize", 422 | "string" 423 | ], 424 | "time": "2015-11-06 14:35:42" 425 | }, 426 | { 427 | "name": "doctrine/instantiator", 428 | "version": "1.0.5", 429 | "source": { 430 | "type": "git", 431 | "url": "https://github.com/doctrine/instantiator.git", 432 | "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" 433 | }, 434 | "dist": { 435 | "type": "zip", 436 | "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", 437 | "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", 438 | "shasum": "" 439 | }, 440 | "require": { 441 | "php": ">=5.3,<8.0-DEV" 442 | }, 443 | "require-dev": { 444 | "athletic/athletic": "~0.1.8", 445 | "ext-pdo": "*", 446 | "ext-phar": "*", 447 | "phpunit/phpunit": "~4.0", 448 | "squizlabs/php_codesniffer": "~2.0" 449 | }, 450 | "type": "library", 451 | "extra": { 452 | "branch-alias": { 453 | "dev-master": "1.0.x-dev" 454 | } 455 | }, 456 | "autoload": { 457 | "psr-4": { 458 | "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" 459 | } 460 | }, 461 | "notification-url": "https://packagist.org/downloads/", 462 | "license": [ 463 | "MIT" 464 | ], 465 | "authors": [ 466 | { 467 | "name": "Marco Pivetta", 468 | "email": "ocramius@gmail.com", 469 | "homepage": "http://ocramius.github.com/" 470 | } 471 | ], 472 | "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", 473 | "homepage": "https://github.com/doctrine/instantiator", 474 | "keywords": [ 475 | "constructor", 476 | "instantiate" 477 | ], 478 | "time": "2015-06-14 21:17:01" 479 | }, 480 | { 481 | "name": "doctrine/lexer", 482 | "version": "v1.0.1", 483 | "source": { 484 | "type": "git", 485 | "url": "https://github.com/doctrine/lexer.git", 486 | "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c" 487 | }, 488 | "dist": { 489 | "type": "zip", 490 | "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c", 491 | "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c", 492 | "shasum": "" 493 | }, 494 | "require": { 495 | "php": ">=5.3.2" 496 | }, 497 | "type": "library", 498 | "extra": { 499 | "branch-alias": { 500 | "dev-master": "1.0.x-dev" 501 | } 502 | }, 503 | "autoload": { 504 | "psr-0": { 505 | "Doctrine\\Common\\Lexer\\": "lib/" 506 | } 507 | }, 508 | "notification-url": "https://packagist.org/downloads/", 509 | "license": [ 510 | "MIT" 511 | ], 512 | "authors": [ 513 | { 514 | "name": "Roman Borschel", 515 | "email": "roman@code-factory.org" 516 | }, 517 | { 518 | "name": "Guilherme Blanco", 519 | "email": "guilhermeblanco@gmail.com" 520 | }, 521 | { 522 | "name": "Johannes Schmitt", 523 | "email": "schmittjoh@gmail.com" 524 | } 525 | ], 526 | "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", 527 | "homepage": "http://www.doctrine-project.org", 528 | "keywords": [ 529 | "lexer", 530 | "parser" 531 | ], 532 | "time": "2014-09-09 13:34:57" 533 | }, 534 | { 535 | "name": "doctrine/orm", 536 | "version": "v2.5.6", 537 | "source": { 538 | "type": "git", 539 | "url": "https://github.com/doctrine/doctrine2.git", 540 | "reference": "e6c434196c8ef058239aaa0724b4aadb0107940b" 541 | }, 542 | "dist": { 543 | "type": "zip", 544 | "url": "https://api.github.com/repos/doctrine/doctrine2/zipball/e6c434196c8ef058239aaa0724b4aadb0107940b", 545 | "reference": "e6c434196c8ef058239aaa0724b4aadb0107940b", 546 | "shasum": "" 547 | }, 548 | "require": { 549 | "doctrine/cache": "~1.4", 550 | "doctrine/collections": "~1.2", 551 | "doctrine/common": ">=2.5-dev,<2.8-dev", 552 | "doctrine/dbal": ">=2.5-dev,<2.6-dev", 553 | "doctrine/instantiator": "~1.0.1", 554 | "ext-pdo": "*", 555 | "php": ">=5.4", 556 | "symfony/console": "~2.5|~3.0" 557 | }, 558 | "require-dev": { 559 | "phpunit/phpunit": "~4.0", 560 | "symfony/yaml": "~2.3|~3.0" 561 | }, 562 | "suggest": { 563 | "symfony/yaml": "If you want to use YAML Metadata Mapping Driver" 564 | }, 565 | "bin": [ 566 | "bin/doctrine", 567 | "bin/doctrine.php" 568 | ], 569 | "type": "library", 570 | "extra": { 571 | "branch-alias": { 572 | "dev-master": "2.6.x-dev" 573 | } 574 | }, 575 | "autoload": { 576 | "psr-0": { 577 | "Doctrine\\ORM\\": "lib/" 578 | } 579 | }, 580 | "notification-url": "https://packagist.org/downloads/", 581 | "license": [ 582 | "MIT" 583 | ], 584 | "authors": [ 585 | { 586 | "name": "Roman Borschel", 587 | "email": "roman@code-factory.org" 588 | }, 589 | { 590 | "name": "Benjamin Eberlei", 591 | "email": "kontakt@beberlei.de" 592 | }, 593 | { 594 | "name": "Guilherme Blanco", 595 | "email": "guilhermeblanco@gmail.com" 596 | }, 597 | { 598 | "name": "Jonathan Wage", 599 | "email": "jonwage@gmail.com" 600 | } 601 | ], 602 | "description": "Object-Relational-Mapper for PHP", 603 | "homepage": "http://www.doctrine-project.org", 604 | "keywords": [ 605 | "database", 606 | "orm" 607 | ], 608 | "time": "2016-12-18 15:42:34" 609 | }, 610 | { 611 | "name": "illuminate/auth", 612 | "version": "v5.4.9", 613 | "source": { 614 | "type": "git", 615 | "url": "https://github.com/illuminate/auth.git", 616 | "reference": "9edc9901e6cded3f7a4dbea058d6316f9029b8bc" 617 | }, 618 | "dist": { 619 | "type": "zip", 620 | "url": "https://api.github.com/repos/illuminate/auth/zipball/9edc9901e6cded3f7a4dbea058d6316f9029b8bc", 621 | "reference": "9edc9901e6cded3f7a4dbea058d6316f9029b8bc", 622 | "shasum": "" 623 | }, 624 | "require": { 625 | "illuminate/contracts": "5.4.*", 626 | "illuminate/http": "5.4.*", 627 | "illuminate/support": "5.4.*", 628 | "nesbot/carbon": "~1.20", 629 | "php": ">=5.6.4" 630 | }, 631 | "suggest": { 632 | "illuminate/console": "Required to use the auth:clear-resets command (5.4.*).", 633 | "illuminate/queue": "Required to fire login / logout events (5.4.*).", 634 | "illuminate/session": "Required to use the session based guard (5.4.*)." 635 | }, 636 | "type": "library", 637 | "extra": { 638 | "branch-alias": { 639 | "dev-master": "5.4-dev" 640 | } 641 | }, 642 | "autoload": { 643 | "psr-4": { 644 | "Illuminate\\Auth\\": "" 645 | } 646 | }, 647 | "notification-url": "https://packagist.org/downloads/", 648 | "license": [ 649 | "MIT" 650 | ], 651 | "authors": [ 652 | { 653 | "name": "Taylor Otwell", 654 | "email": "taylor@laravel.com" 655 | } 656 | ], 657 | "description": "The Illuminate Auth package.", 658 | "homepage": "https://laravel.com", 659 | "time": "2017-02-01 16:15:08" 660 | }, 661 | { 662 | "name": "illuminate/console", 663 | "version": "v5.4.9", 664 | "source": { 665 | "type": "git", 666 | "url": "https://github.com/illuminate/console.git", 667 | "reference": "8cfa6ee659849456bc655794b5f8f63872b3c28c" 668 | }, 669 | "dist": { 670 | "type": "zip", 671 | "url": "https://api.github.com/repos/illuminate/console/zipball/8cfa6ee659849456bc655794b5f8f63872b3c28c", 672 | "reference": "8cfa6ee659849456bc655794b5f8f63872b3c28c", 673 | "shasum": "" 674 | }, 675 | "require": { 676 | "illuminate/contracts": "5.4.*", 677 | "illuminate/support": "5.4.*", 678 | "nesbot/carbon": "~1.20", 679 | "php": ">=5.6.4", 680 | "symfony/console": "~3.2" 681 | }, 682 | "suggest": { 683 | "guzzlehttp/guzzle": "Required to use the ping methods on schedules (~6.0).", 684 | "mtdowling/cron-expression": "Required to use scheduling component (~1.0).", 685 | "symfony/process": "Required to use scheduling component (~3.2)." 686 | }, 687 | "type": "library", 688 | "extra": { 689 | "branch-alias": { 690 | "dev-master": "5.4-dev" 691 | } 692 | }, 693 | "autoload": { 694 | "psr-4": { 695 | "Illuminate\\Console\\": "" 696 | } 697 | }, 698 | "notification-url": "https://packagist.org/downloads/", 699 | "license": [ 700 | "MIT" 701 | ], 702 | "authors": [ 703 | { 704 | "name": "Taylor Otwell", 705 | "email": "taylor@laravel.com" 706 | } 707 | ], 708 | "description": "The Illuminate Console package.", 709 | "homepage": "https://laravel.com", 710 | "time": "2017-01-27 22:46:14" 711 | }, 712 | { 713 | "name": "illuminate/container", 714 | "version": "v5.4.9", 715 | "source": { 716 | "type": "git", 717 | "url": "https://github.com/illuminate/container.git", 718 | "reference": "ccbfa2c69369a11b419d071ad11147b59eb9f052" 719 | }, 720 | "dist": { 721 | "type": "zip", 722 | "url": "https://api.github.com/repos/illuminate/container/zipball/ccbfa2c69369a11b419d071ad11147b59eb9f052", 723 | "reference": "ccbfa2c69369a11b419d071ad11147b59eb9f052", 724 | "shasum": "" 725 | }, 726 | "require": { 727 | "illuminate/contracts": "5.4.*", 728 | "php": ">=5.6.4" 729 | }, 730 | "type": "library", 731 | "extra": { 732 | "branch-alias": { 733 | "dev-master": "5.4-dev" 734 | } 735 | }, 736 | "autoload": { 737 | "psr-4": { 738 | "Illuminate\\Container\\": "" 739 | } 740 | }, 741 | "notification-url": "https://packagist.org/downloads/", 742 | "license": [ 743 | "MIT" 744 | ], 745 | "authors": [ 746 | { 747 | "name": "Taylor Otwell", 748 | "email": "taylor@laravel.com" 749 | } 750 | ], 751 | "description": "The Illuminate Container package.", 752 | "homepage": "https://laravel.com", 753 | "time": "2017-01-28 17:55:54" 754 | }, 755 | { 756 | "name": "illuminate/contracts", 757 | "version": "v5.4.9", 758 | "source": { 759 | "type": "git", 760 | "url": "https://github.com/illuminate/contracts.git", 761 | "reference": "4ec919d294aca396d172e644b243b49885cd2cc7" 762 | }, 763 | "dist": { 764 | "type": "zip", 765 | "url": "https://api.github.com/repos/illuminate/contracts/zipball/4ec919d294aca396d172e644b243b49885cd2cc7", 766 | "reference": "4ec919d294aca396d172e644b243b49885cd2cc7", 767 | "shasum": "" 768 | }, 769 | "require": { 770 | "php": ">=5.6.4" 771 | }, 772 | "type": "library", 773 | "extra": { 774 | "branch-alias": { 775 | "dev-master": "5.4-dev" 776 | } 777 | }, 778 | "autoload": { 779 | "psr-4": { 780 | "Illuminate\\Contracts\\": "" 781 | } 782 | }, 783 | "notification-url": "https://packagist.org/downloads/", 784 | "license": [ 785 | "MIT" 786 | ], 787 | "authors": [ 788 | { 789 | "name": "Taylor Otwell", 790 | "email": "taylor@laravel.com" 791 | } 792 | ], 793 | "description": "The Illuminate Contracts package.", 794 | "homepage": "https://laravel.com", 795 | "time": "2017-01-18 20:23:54" 796 | }, 797 | { 798 | "name": "illuminate/events", 799 | "version": "v5.4.9", 800 | "source": { 801 | "type": "git", 802 | "url": "https://github.com/illuminate/events.git", 803 | "reference": "44fda744fa2deab124cb721da526eac9d0d8c386" 804 | }, 805 | "dist": { 806 | "type": "zip", 807 | "url": "https://api.github.com/repos/illuminate/events/zipball/44fda744fa2deab124cb721da526eac9d0d8c386", 808 | "reference": "44fda744fa2deab124cb721da526eac9d0d8c386", 809 | "shasum": "" 810 | }, 811 | "require": { 812 | "illuminate/container": "5.4.*", 813 | "illuminate/contracts": "5.4.*", 814 | "illuminate/support": "5.4.*", 815 | "php": ">=5.6.4" 816 | }, 817 | "type": "library", 818 | "extra": { 819 | "branch-alias": { 820 | "dev-master": "5.4-dev" 821 | } 822 | }, 823 | "autoload": { 824 | "psr-4": { 825 | "Illuminate\\Events\\": "" 826 | } 827 | }, 828 | "notification-url": "https://packagist.org/downloads/", 829 | "license": [ 830 | "MIT" 831 | ], 832 | "authors": [ 833 | { 834 | "name": "Taylor Otwell", 835 | "email": "taylor@laravel.com" 836 | } 837 | ], 838 | "description": "The Illuminate Events package.", 839 | "homepage": "https://laravel.com", 840 | "time": "2017-01-20 14:16:32" 841 | }, 842 | { 843 | "name": "illuminate/filesystem", 844 | "version": "v5.4.9", 845 | "source": { 846 | "type": "git", 847 | "url": "https://github.com/illuminate/filesystem.git", 848 | "reference": "9e74fd5bef124640852da3ec71ec6365408de417" 849 | }, 850 | "dist": { 851 | "type": "zip", 852 | "url": "https://api.github.com/repos/illuminate/filesystem/zipball/9e74fd5bef124640852da3ec71ec6365408de417", 853 | "reference": "9e74fd5bef124640852da3ec71ec6365408de417", 854 | "shasum": "" 855 | }, 856 | "require": { 857 | "illuminate/contracts": "5.4.*", 858 | "illuminate/support": "5.4.*", 859 | "php": ">=5.6.4", 860 | "symfony/finder": "~3.2" 861 | }, 862 | "suggest": { 863 | "league/flysystem": "Required to use the Flysystem local and FTP drivers (~1.0).", 864 | "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (~1.0).", 865 | "league/flysystem-rackspace": "Required to use the Flysystem Rackspace driver (~1.0)." 866 | }, 867 | "type": "library", 868 | "extra": { 869 | "branch-alias": { 870 | "dev-master": "5.4-dev" 871 | } 872 | }, 873 | "autoload": { 874 | "psr-4": { 875 | "Illuminate\\Filesystem\\": "" 876 | } 877 | }, 878 | "notification-url": "https://packagist.org/downloads/", 879 | "license": [ 880 | "MIT" 881 | ], 882 | "authors": [ 883 | { 884 | "name": "Taylor Otwell", 885 | "email": "taylor@laravel.com" 886 | } 887 | ], 888 | "description": "The Illuminate Filesystem package.", 889 | "homepage": "https://laravel.com", 890 | "time": "2017-01-03 14:19:43" 891 | }, 892 | { 893 | "name": "illuminate/http", 894 | "version": "v5.4.9", 895 | "source": { 896 | "type": "git", 897 | "url": "https://github.com/illuminate/http.git", 898 | "reference": "e111cc7d766837679ab3316b17df4a25d11048f6" 899 | }, 900 | "dist": { 901 | "type": "zip", 902 | "url": "https://api.github.com/repos/illuminate/http/zipball/e111cc7d766837679ab3316b17df4a25d11048f6", 903 | "reference": "e111cc7d766837679ab3316b17df4a25d11048f6", 904 | "shasum": "" 905 | }, 906 | "require": { 907 | "illuminate/session": "5.4.*", 908 | "illuminate/support": "5.4.*", 909 | "php": ">=5.6.4", 910 | "symfony/http-foundation": "~3.2", 911 | "symfony/http-kernel": "~3.2" 912 | }, 913 | "type": "library", 914 | "extra": { 915 | "branch-alias": { 916 | "dev-master": "5.4-dev" 917 | } 918 | }, 919 | "autoload": { 920 | "psr-4": { 921 | "Illuminate\\Http\\": "" 922 | } 923 | }, 924 | "notification-url": "https://packagist.org/downloads/", 925 | "license": [ 926 | "MIT" 927 | ], 928 | "authors": [ 929 | { 930 | "name": "Taylor Otwell", 931 | "email": "taylor@laravel.com" 932 | } 933 | ], 934 | "description": "The Illuminate Http package.", 935 | "homepage": "https://laravel.com", 936 | "time": "2017-02-03 19:43:35" 937 | }, 938 | { 939 | "name": "illuminate/pagination", 940 | "version": "v5.4.9", 941 | "source": { 942 | "type": "git", 943 | "url": "https://github.com/illuminate/pagination.git", 944 | "reference": "901289ff913f1b2e60cf7d8c510190c89fec71a6" 945 | }, 946 | "dist": { 947 | "type": "zip", 948 | "url": "https://api.github.com/repos/illuminate/pagination/zipball/901289ff913f1b2e60cf7d8c510190c89fec71a6", 949 | "reference": "901289ff913f1b2e60cf7d8c510190c89fec71a6", 950 | "shasum": "" 951 | }, 952 | "require": { 953 | "illuminate/contracts": "5.4.*", 954 | "illuminate/support": "5.4.*", 955 | "php": ">=5.6.4" 956 | }, 957 | "type": "library", 958 | "extra": { 959 | "branch-alias": { 960 | "dev-master": "5.4-dev" 961 | } 962 | }, 963 | "autoload": { 964 | "psr-4": { 965 | "Illuminate\\Pagination\\": "" 966 | } 967 | }, 968 | "notification-url": "https://packagist.org/downloads/", 969 | "license": [ 970 | "MIT" 971 | ], 972 | "authors": [ 973 | { 974 | "name": "Taylor Otwell", 975 | "email": "taylor@laravel.com" 976 | } 977 | ], 978 | "description": "The Illuminate Pagination package.", 979 | "homepage": "https://laravel.com", 980 | "time": "2017-01-15 01:21:06" 981 | }, 982 | { 983 | "name": "illuminate/pipeline", 984 | "version": "v5.4.9", 985 | "source": { 986 | "type": "git", 987 | "url": "https://github.com/illuminate/pipeline.git", 988 | "reference": "ada6dc2435afa57a74e3dcd4570c31a1a1244e65" 989 | }, 990 | "dist": { 991 | "type": "zip", 992 | "url": "https://api.github.com/repos/illuminate/pipeline/zipball/ada6dc2435afa57a74e3dcd4570c31a1a1244e65", 993 | "reference": "ada6dc2435afa57a74e3dcd4570c31a1a1244e65", 994 | "shasum": "" 995 | }, 996 | "require": { 997 | "illuminate/contracts": "5.4.*", 998 | "illuminate/support": "5.4.*", 999 | "php": ">=5.6.4" 1000 | }, 1001 | "type": "library", 1002 | "extra": { 1003 | "branch-alias": { 1004 | "dev-master": "5.4-dev" 1005 | } 1006 | }, 1007 | "autoload": { 1008 | "psr-4": { 1009 | "Illuminate\\Pipeline\\": "" 1010 | } 1011 | }, 1012 | "notification-url": "https://packagist.org/downloads/", 1013 | "license": [ 1014 | "MIT" 1015 | ], 1016 | "authors": [ 1017 | { 1018 | "name": "Taylor Otwell", 1019 | "email": "taylor@laravel.com" 1020 | } 1021 | ], 1022 | "description": "The Illuminate Pipeline package.", 1023 | "homepage": "https://laravel.com", 1024 | "time": "2017-01-17 14:21:32" 1025 | }, 1026 | { 1027 | "name": "illuminate/queue", 1028 | "version": "v5.4.9", 1029 | "source": { 1030 | "type": "git", 1031 | "url": "https://github.com/illuminate/queue.git", 1032 | "reference": "c2b6268f8e8e730d62fbf333e7f6e1428e22f2e1" 1033 | }, 1034 | "dist": { 1035 | "type": "zip", 1036 | "url": "https://api.github.com/repos/illuminate/queue/zipball/c2b6268f8e8e730d62fbf333e7f6e1428e22f2e1", 1037 | "reference": "c2b6268f8e8e730d62fbf333e7f6e1428e22f2e1", 1038 | "shasum": "" 1039 | }, 1040 | "require": { 1041 | "illuminate/console": "5.4.*", 1042 | "illuminate/container": "5.4.*", 1043 | "illuminate/contracts": "5.4.*", 1044 | "illuminate/support": "5.4.*", 1045 | "nesbot/carbon": "~1.20", 1046 | "php": ">=5.6.4", 1047 | "symfony/debug": "~3.2", 1048 | "symfony/process": "~3.2" 1049 | }, 1050 | "suggest": { 1051 | "aws/aws-sdk-php": "Required to use the SQS queue driver (~3.0).", 1052 | "illuminate/redis": "Required to use the Redis queue driver (5.4.*).", 1053 | "pda/pheanstalk": "Required to use the Beanstalk queue driver (~3.0)." 1054 | }, 1055 | "type": "library", 1056 | "extra": { 1057 | "branch-alias": { 1058 | "dev-master": "5.4-dev" 1059 | } 1060 | }, 1061 | "autoload": { 1062 | "psr-4": { 1063 | "Illuminate\\Queue\\": "" 1064 | } 1065 | }, 1066 | "notification-url": "https://packagist.org/downloads/", 1067 | "license": [ 1068 | "MIT" 1069 | ], 1070 | "authors": [ 1071 | { 1072 | "name": "Taylor Otwell", 1073 | "email": "taylor@laravel.com" 1074 | } 1075 | ], 1076 | "description": "The Illuminate Queue package.", 1077 | "homepage": "https://laravel.com", 1078 | "time": "2017-02-02 15:55:52" 1079 | }, 1080 | { 1081 | "name": "illuminate/routing", 1082 | "version": "v5.4.9", 1083 | "source": { 1084 | "type": "git", 1085 | "url": "https://github.com/illuminate/routing.git", 1086 | "reference": "023c0d3ad9207d0e2ad77c74e37215ae35a66fe7" 1087 | }, 1088 | "dist": { 1089 | "type": "zip", 1090 | "url": "https://api.github.com/repos/illuminate/routing/zipball/023c0d3ad9207d0e2ad77c74e37215ae35a66fe7", 1091 | "reference": "023c0d3ad9207d0e2ad77c74e37215ae35a66fe7", 1092 | "shasum": "" 1093 | }, 1094 | "require": { 1095 | "illuminate/container": "5.4.*", 1096 | "illuminate/contracts": "5.4.*", 1097 | "illuminate/http": "5.4.*", 1098 | "illuminate/pipeline": "5.4.*", 1099 | "illuminate/session": "5.4.*", 1100 | "illuminate/support": "5.4.*", 1101 | "php": ">=5.6.4", 1102 | "symfony/debug": "~3.2", 1103 | "symfony/http-foundation": "~3.2", 1104 | "symfony/http-kernel": "~3.2", 1105 | "symfony/routing": "~3.2" 1106 | }, 1107 | "suggest": { 1108 | "illuminate/console": "Required to use the make commands (5.4.*).", 1109 | "symfony/psr-http-message-bridge": "Required to psr7 bridging features (0.2.*)." 1110 | }, 1111 | "type": "library", 1112 | "extra": { 1113 | "branch-alias": { 1114 | "dev-master": "5.4-dev" 1115 | } 1116 | }, 1117 | "autoload": { 1118 | "psr-4": { 1119 | "Illuminate\\Routing\\": "" 1120 | } 1121 | }, 1122 | "notification-url": "https://packagist.org/downloads/", 1123 | "license": [ 1124 | "MIT" 1125 | ], 1126 | "authors": [ 1127 | { 1128 | "name": "Taylor Otwell", 1129 | "email": "taylor@laravel.com" 1130 | } 1131 | ], 1132 | "description": "The Illuminate Routing package.", 1133 | "homepage": "https://laravel.com", 1134 | "time": "2017-02-01 16:15:08" 1135 | }, 1136 | { 1137 | "name": "illuminate/session", 1138 | "version": "v5.4.9", 1139 | "source": { 1140 | "type": "git", 1141 | "url": "https://github.com/illuminate/session.git", 1142 | "reference": "45079b7cc9252bb19e8ec41c99edea77c2a5289e" 1143 | }, 1144 | "dist": { 1145 | "type": "zip", 1146 | "url": "https://api.github.com/repos/illuminate/session/zipball/45079b7cc9252bb19e8ec41c99edea77c2a5289e", 1147 | "reference": "45079b7cc9252bb19e8ec41c99edea77c2a5289e", 1148 | "shasum": "" 1149 | }, 1150 | "require": { 1151 | "illuminate/contracts": "5.4.*", 1152 | "illuminate/support": "5.4.*", 1153 | "nesbot/carbon": "~1.20", 1154 | "php": ">=5.6.4", 1155 | "symfony/finder": "~3.2", 1156 | "symfony/http-foundation": "~3.2" 1157 | }, 1158 | "suggest": { 1159 | "illuminate/console": "Required to use the session:table command (5.4.*)." 1160 | }, 1161 | "type": "library", 1162 | "extra": { 1163 | "branch-alias": { 1164 | "dev-master": "5.4-dev" 1165 | } 1166 | }, 1167 | "autoload": { 1168 | "psr-4": { 1169 | "Illuminate\\Session\\": "" 1170 | } 1171 | }, 1172 | "notification-url": "https://packagist.org/downloads/", 1173 | "license": [ 1174 | "MIT" 1175 | ], 1176 | "authors": [ 1177 | { 1178 | "name": "Taylor Otwell", 1179 | "email": "taylor@laravel.com" 1180 | } 1181 | ], 1182 | "description": "The Illuminate Session package.", 1183 | "homepage": "https://laravel.com", 1184 | "time": "2017-01-26 20:28:24" 1185 | }, 1186 | { 1187 | "name": "illuminate/support", 1188 | "version": "v5.4.9", 1189 | "source": { 1190 | "type": "git", 1191 | "url": "https://github.com/illuminate/support.git", 1192 | "reference": "5544aaf67b7e57559d58c01a9030c82ca01872a6" 1193 | }, 1194 | "dist": { 1195 | "type": "zip", 1196 | "url": "https://api.github.com/repos/illuminate/support/zipball/5544aaf67b7e57559d58c01a9030c82ca01872a6", 1197 | "reference": "5544aaf67b7e57559d58c01a9030c82ca01872a6", 1198 | "shasum": "" 1199 | }, 1200 | "require": { 1201 | "doctrine/inflector": "~1.0", 1202 | "ext-mbstring": "*", 1203 | "illuminate/contracts": "5.4.*", 1204 | "paragonie/random_compat": "~1.4|~2.0", 1205 | "php": ">=5.6.4" 1206 | }, 1207 | "replace": { 1208 | "tightenco/collect": "self.version" 1209 | }, 1210 | "suggest": { 1211 | "illuminate/filesystem": "Required to use the composer class (5.2.*).", 1212 | "symfony/process": "Required to use the composer class (~3.2).", 1213 | "symfony/var-dumper": "Required to use the dd function (~3.2)." 1214 | }, 1215 | "type": "library", 1216 | "extra": { 1217 | "branch-alias": { 1218 | "dev-master": "5.4-dev" 1219 | } 1220 | }, 1221 | "autoload": { 1222 | "psr-4": { 1223 | "Illuminate\\Support\\": "" 1224 | }, 1225 | "files": [ 1226 | "helpers.php" 1227 | ] 1228 | }, 1229 | "notification-url": "https://packagist.org/downloads/", 1230 | "license": [ 1231 | "MIT" 1232 | ], 1233 | "authors": [ 1234 | { 1235 | "name": "Taylor Otwell", 1236 | "email": "taylor@laravel.com" 1237 | } 1238 | ], 1239 | "description": "The Illuminate Support package.", 1240 | "homepage": "https://laravel.com", 1241 | "time": "2017-02-02 13:32:18" 1242 | }, 1243 | { 1244 | "name": "illuminate/translation", 1245 | "version": "v5.4.9", 1246 | "source": { 1247 | "type": "git", 1248 | "url": "https://github.com/illuminate/translation.git", 1249 | "reference": "2e5c71674fc8fc5773b86272544976ef248e2427" 1250 | }, 1251 | "dist": { 1252 | "type": "zip", 1253 | "url": "https://api.github.com/repos/illuminate/translation/zipball/2e5c71674fc8fc5773b86272544976ef248e2427", 1254 | "reference": "2e5c71674fc8fc5773b86272544976ef248e2427", 1255 | "shasum": "" 1256 | }, 1257 | "require": { 1258 | "illuminate/filesystem": "5.4.*", 1259 | "illuminate/support": "5.4.*", 1260 | "php": ">=5.6.4" 1261 | }, 1262 | "type": "library", 1263 | "extra": { 1264 | "branch-alias": { 1265 | "dev-master": "5.4-dev" 1266 | } 1267 | }, 1268 | "autoload": { 1269 | "psr-4": { 1270 | "Illuminate\\Translation\\": "" 1271 | } 1272 | }, 1273 | "notification-url": "https://packagist.org/downloads/", 1274 | "license": [ 1275 | "MIT" 1276 | ], 1277 | "authors": [ 1278 | { 1279 | "name": "Taylor Otwell", 1280 | "email": "taylor@laravel.com" 1281 | } 1282 | ], 1283 | "description": "The Illuminate Translation package.", 1284 | "homepage": "https://laravel.com", 1285 | "time": "2017-01-10 16:33:45" 1286 | }, 1287 | { 1288 | "name": "illuminate/validation", 1289 | "version": "v5.4.9", 1290 | "source": { 1291 | "type": "git", 1292 | "url": "https://github.com/illuminate/validation.git", 1293 | "reference": "9c8478d046378956fc5d168d3351a72ea3df11f8" 1294 | }, 1295 | "dist": { 1296 | "type": "zip", 1297 | "url": "https://api.github.com/repos/illuminate/validation/zipball/9c8478d046378956fc5d168d3351a72ea3df11f8", 1298 | "reference": "9c8478d046378956fc5d168d3351a72ea3df11f8", 1299 | "shasum": "" 1300 | }, 1301 | "require": { 1302 | "illuminate/container": "5.4.*", 1303 | "illuminate/contracts": "5.4.*", 1304 | "illuminate/support": "5.4.*", 1305 | "illuminate/translation": "5.4.*", 1306 | "php": ">=5.6.4", 1307 | "symfony/http-foundation": "~3.2" 1308 | }, 1309 | "suggest": { 1310 | "illuminate/database": "Required to use the database presence verifier (5.4.*)." 1311 | }, 1312 | "type": "library", 1313 | "extra": { 1314 | "branch-alias": { 1315 | "dev-master": "5.4-dev" 1316 | } 1317 | }, 1318 | "autoload": { 1319 | "psr-4": { 1320 | "Illuminate\\Validation\\": "" 1321 | } 1322 | }, 1323 | "notification-url": "https://packagist.org/downloads/", 1324 | "license": [ 1325 | "MIT" 1326 | ], 1327 | "authors": [ 1328 | { 1329 | "name": "Taylor Otwell", 1330 | "email": "taylor@laravel.com" 1331 | } 1332 | ], 1333 | "description": "The Illuminate Validation package.", 1334 | "homepage": "https://laravel.com", 1335 | "time": "2017-02-01 13:44:49" 1336 | }, 1337 | { 1338 | "name": "illuminate/view", 1339 | "version": "v5.4.9", 1340 | "source": { 1341 | "type": "git", 1342 | "url": "https://github.com/illuminate/view.git", 1343 | "reference": "5dc9dd489cd251eae3ae6eb82c7176b6c153dfc3" 1344 | }, 1345 | "dist": { 1346 | "type": "zip", 1347 | "url": "https://api.github.com/repos/illuminate/view/zipball/5dc9dd489cd251eae3ae6eb82c7176b6c153dfc3", 1348 | "reference": "5dc9dd489cd251eae3ae6eb82c7176b6c153dfc3", 1349 | "shasum": "" 1350 | }, 1351 | "require": { 1352 | "illuminate/container": "5.4.*", 1353 | "illuminate/contracts": "5.4.*", 1354 | "illuminate/events": "5.4.*", 1355 | "illuminate/filesystem": "5.4.*", 1356 | "illuminate/support": "5.4.*", 1357 | "php": ">=5.6.4", 1358 | "symfony/debug": "~3.2" 1359 | }, 1360 | "type": "library", 1361 | "extra": { 1362 | "branch-alias": { 1363 | "dev-master": "5.4-dev" 1364 | } 1365 | }, 1366 | "autoload": { 1367 | "psr-4": { 1368 | "Illuminate\\View\\": "" 1369 | } 1370 | }, 1371 | "notification-url": "https://packagist.org/downloads/", 1372 | "license": [ 1373 | "MIT" 1374 | ], 1375 | "authors": [ 1376 | { 1377 | "name": "Taylor Otwell", 1378 | "email": "taylor@laravel.com" 1379 | } 1380 | ], 1381 | "description": "The Illuminate View package.", 1382 | "homepage": "https://laravel.com", 1383 | "time": "2017-01-31 13:45:14" 1384 | }, 1385 | { 1386 | "name": "ircmaxell/password-compat", 1387 | "version": "v1.0.4", 1388 | "source": { 1389 | "type": "git", 1390 | "url": "https://github.com/ircmaxell/password_compat.git", 1391 | "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c" 1392 | }, 1393 | "dist": { 1394 | "type": "zip", 1395 | "url": "https://api.github.com/repos/ircmaxell/password_compat/zipball/5c5cde8822a69545767f7c7f3058cb15ff84614c", 1396 | "reference": "5c5cde8822a69545767f7c7f3058cb15ff84614c", 1397 | "shasum": "" 1398 | }, 1399 | "require-dev": { 1400 | "phpunit/phpunit": "4.*" 1401 | }, 1402 | "type": "library", 1403 | "autoload": { 1404 | "files": [ 1405 | "lib/password.php" 1406 | ] 1407 | }, 1408 | "notification-url": "https://packagist.org/downloads/", 1409 | "license": [ 1410 | "MIT" 1411 | ], 1412 | "authors": [ 1413 | { 1414 | "name": "Anthony Ferrara", 1415 | "email": "ircmaxell@php.net", 1416 | "homepage": "http://blog.ircmaxell.com" 1417 | } 1418 | ], 1419 | "description": "A compatibility library for the proposed simplified password hashing algorithm: https://wiki.php.net/rfc/password_hash", 1420 | "homepage": "https://github.com/ircmaxell/password_compat", 1421 | "keywords": [ 1422 | "hashing", 1423 | "password" 1424 | ], 1425 | "time": "2014-11-20 16:49:30" 1426 | }, 1427 | { 1428 | "name": "laravel-doctrine/orm", 1429 | "version": "1.3.0", 1430 | "source": { 1431 | "type": "git", 1432 | "url": "https://github.com/laravel-doctrine/orm.git", 1433 | "reference": "c7bec6d6969650ae0ca606027ba313d9b229f7b2" 1434 | }, 1435 | "dist": { 1436 | "type": "zip", 1437 | "url": "https://api.github.com/repos/laravel-doctrine/orm/zipball/c7bec6d6969650ae0ca606027ba313d9b229f7b2", 1438 | "reference": "c7bec6d6969650ae0ca606027ba313d9b229f7b2", 1439 | "shasum": "" 1440 | }, 1441 | "require": { 1442 | "doctrine/orm": "2.5.*", 1443 | "illuminate/auth": "5.4.*", 1444 | "illuminate/console": "5.4.*", 1445 | "illuminate/container": "5.4.*", 1446 | "illuminate/contracts": "5.4.*", 1447 | "illuminate/pagination": "5.4.*", 1448 | "illuminate/routing": "5.4.*", 1449 | "illuminate/support": "5.4.*", 1450 | "illuminate/validation": "5.4.*", 1451 | "illuminate/view": "5.4.*", 1452 | "php": ">=5.6.4", 1453 | "symfony/serializer": "^2.7" 1454 | }, 1455 | "require-dev": { 1456 | "barryvdh/laravel-debugbar": "~2.0", 1457 | "illuminate/log": "5.4.*", 1458 | "illuminate/notifications": "5.4.*", 1459 | "illuminate/queue": "5.4.*", 1460 | "itsgoingd/clockwork": "~1.9", 1461 | "mockery/mockery": "~0.9", 1462 | "phpunit/phpunit": "~4.0" 1463 | }, 1464 | "suggest": { 1465 | "fzaninotto/faker": "Required to use the entity factory builder (~1.4).", 1466 | "laravel-doctrine/acl": "to integrate Doctrine roles & permissions with Laravel's Authorization system (~1.0)", 1467 | "laravel-doctrine/extensions": "to add Behavioral and Query/Type Extensions for Laravel Doctrine (~1.0)", 1468 | "laravel-doctrine/fluent": "Fluent mapping driver (alternative to xml, yaml, ... (~1.1).", 1469 | "laravel-doctrine/migrations": "to add support for migrations in Laravel Doctrine (~1.0)", 1470 | "yajra/laravel-oci8": "Support for Laravel native queue and session database drivers in Oracle (~2.0)." 1471 | }, 1472 | "type": "library", 1473 | "autoload": { 1474 | "psr-4": { 1475 | "LaravelDoctrine\\ORM\\": "src/" 1476 | }, 1477 | "files": [ 1478 | "src/helpers.php" 1479 | ] 1480 | }, 1481 | "notification-url": "https://packagist.org/downloads/", 1482 | "license": [ 1483 | "MIT" 1484 | ], 1485 | "authors": [ 1486 | { 1487 | "name": "Patrick Brouwers", 1488 | "email": "patrick@maatwebsite.nl" 1489 | } 1490 | ], 1491 | "description": "A Doctrine ORM bridge for Laravel 5", 1492 | "keywords": [ 1493 | "data mapper", 1494 | "database", 1495 | "doctrine", 1496 | "laravel", 1497 | "orm" 1498 | ], 1499 | "time": "2017-01-29 13:50:28" 1500 | }, 1501 | { 1502 | "name": "nesbot/carbon", 1503 | "version": "1.22.1", 1504 | "source": { 1505 | "type": "git", 1506 | "url": "https://github.com/briannesbitt/Carbon.git", 1507 | "reference": "7cdf42c0b1cc763ab7e4c33c47a24e27c66bfccc" 1508 | }, 1509 | "dist": { 1510 | "type": "zip", 1511 | "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/7cdf42c0b1cc763ab7e4c33c47a24e27c66bfccc", 1512 | "reference": "7cdf42c0b1cc763ab7e4c33c47a24e27c66bfccc", 1513 | "shasum": "" 1514 | }, 1515 | "require": { 1516 | "php": ">=5.3.0", 1517 | "symfony/translation": "~2.6 || ~3.0" 1518 | }, 1519 | "require-dev": { 1520 | "friendsofphp/php-cs-fixer": "~2", 1521 | "phpunit/phpunit": "~4.0 || ~5.0" 1522 | }, 1523 | "type": "library", 1524 | "extra": { 1525 | "branch-alias": { 1526 | "dev-master": "1.23-dev" 1527 | } 1528 | }, 1529 | "autoload": { 1530 | "psr-4": { 1531 | "Carbon\\": "src/Carbon/" 1532 | } 1533 | }, 1534 | "notification-url": "https://packagist.org/downloads/", 1535 | "license": [ 1536 | "MIT" 1537 | ], 1538 | "authors": [ 1539 | { 1540 | "name": "Brian Nesbitt", 1541 | "email": "brian@nesbot.com", 1542 | "homepage": "http://nesbot.com" 1543 | } 1544 | ], 1545 | "description": "A simple API extension for DateTime.", 1546 | "homepage": "http://carbon.nesbot.com", 1547 | "keywords": [ 1548 | "date", 1549 | "datetime", 1550 | "time" 1551 | ], 1552 | "time": "2017-01-16 07:55:07" 1553 | }, 1554 | { 1555 | "name": "paragonie/random_compat", 1556 | "version": "v2.0.4", 1557 | "source": { 1558 | "type": "git", 1559 | "url": "https://github.com/paragonie/random_compat.git", 1560 | "reference": "a9b97968bcde1c4de2a5ec6cbd06a0f6c919b46e" 1561 | }, 1562 | "dist": { 1563 | "type": "zip", 1564 | "url": "https://api.github.com/repos/paragonie/random_compat/zipball/a9b97968bcde1c4de2a5ec6cbd06a0f6c919b46e", 1565 | "reference": "a9b97968bcde1c4de2a5ec6cbd06a0f6c919b46e", 1566 | "shasum": "" 1567 | }, 1568 | "require": { 1569 | "php": ">=5.2.0" 1570 | }, 1571 | "require-dev": { 1572 | "phpunit/phpunit": "4.*|5.*" 1573 | }, 1574 | "suggest": { 1575 | "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." 1576 | }, 1577 | "type": "library", 1578 | "autoload": { 1579 | "files": [ 1580 | "lib/random.php" 1581 | ] 1582 | }, 1583 | "notification-url": "https://packagist.org/downloads/", 1584 | "license": [ 1585 | "MIT" 1586 | ], 1587 | "authors": [ 1588 | { 1589 | "name": "Paragon Initiative Enterprises", 1590 | "email": "security@paragonie.com", 1591 | "homepage": "https://paragonie.com" 1592 | } 1593 | ], 1594 | "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", 1595 | "keywords": [ 1596 | "csprng", 1597 | "pseudorandom", 1598 | "random" 1599 | ], 1600 | "time": "2016-11-07 23:38:38" 1601 | }, 1602 | { 1603 | "name": "psr/log", 1604 | "version": "1.0.2", 1605 | "source": { 1606 | "type": "git", 1607 | "url": "https://github.com/php-fig/log.git", 1608 | "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" 1609 | }, 1610 | "dist": { 1611 | "type": "zip", 1612 | "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", 1613 | "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", 1614 | "shasum": "" 1615 | }, 1616 | "require": { 1617 | "php": ">=5.3.0" 1618 | }, 1619 | "type": "library", 1620 | "extra": { 1621 | "branch-alias": { 1622 | "dev-master": "1.0.x-dev" 1623 | } 1624 | }, 1625 | "autoload": { 1626 | "psr-4": { 1627 | "Psr\\Log\\": "Psr/Log/" 1628 | } 1629 | }, 1630 | "notification-url": "https://packagist.org/downloads/", 1631 | "license": [ 1632 | "MIT" 1633 | ], 1634 | "authors": [ 1635 | { 1636 | "name": "PHP-FIG", 1637 | "homepage": "http://www.php-fig.org/" 1638 | } 1639 | ], 1640 | "description": "Common interface for logging libraries", 1641 | "homepage": "https://github.com/php-fig/log", 1642 | "keywords": [ 1643 | "log", 1644 | "psr", 1645 | "psr-3" 1646 | ], 1647 | "time": "2016-10-10 12:19:37" 1648 | }, 1649 | { 1650 | "name": "symfony/console", 1651 | "version": "v3.2.4", 1652 | "source": { 1653 | "type": "git", 1654 | "url": "https://github.com/symfony/console.git", 1655 | "reference": "0e5e6899f82230fcb1153bcaf0e106ffaa44b870" 1656 | }, 1657 | "dist": { 1658 | "type": "zip", 1659 | "url": "https://api.github.com/repos/symfony/console/zipball/0e5e6899f82230fcb1153bcaf0e106ffaa44b870", 1660 | "reference": "0e5e6899f82230fcb1153bcaf0e106ffaa44b870", 1661 | "shasum": "" 1662 | }, 1663 | "require": { 1664 | "php": ">=5.5.9", 1665 | "symfony/debug": "~2.8|~3.0", 1666 | "symfony/polyfill-mbstring": "~1.0" 1667 | }, 1668 | "require-dev": { 1669 | "psr/log": "~1.0", 1670 | "symfony/event-dispatcher": "~2.8|~3.0", 1671 | "symfony/filesystem": "~2.8|~3.0", 1672 | "symfony/process": "~2.8|~3.0" 1673 | }, 1674 | "suggest": { 1675 | "psr/log": "For using the console logger", 1676 | "symfony/event-dispatcher": "", 1677 | "symfony/filesystem": "", 1678 | "symfony/process": "" 1679 | }, 1680 | "type": "library", 1681 | "extra": { 1682 | "branch-alias": { 1683 | "dev-master": "3.2-dev" 1684 | } 1685 | }, 1686 | "autoload": { 1687 | "psr-4": { 1688 | "Symfony\\Component\\Console\\": "" 1689 | }, 1690 | "exclude-from-classmap": [ 1691 | "/Tests/" 1692 | ] 1693 | }, 1694 | "notification-url": "https://packagist.org/downloads/", 1695 | "license": [ 1696 | "MIT" 1697 | ], 1698 | "authors": [ 1699 | { 1700 | "name": "Fabien Potencier", 1701 | "email": "fabien@symfony.com" 1702 | }, 1703 | { 1704 | "name": "Symfony Community", 1705 | "homepage": "https://symfony.com/contributors" 1706 | } 1707 | ], 1708 | "description": "Symfony Console Component", 1709 | "homepage": "https://symfony.com", 1710 | "time": "2017-02-16 14:07:22" 1711 | }, 1712 | { 1713 | "name": "symfony/debug", 1714 | "version": "v3.2.4", 1715 | "source": { 1716 | "type": "git", 1717 | "url": "https://github.com/symfony/debug.git", 1718 | "reference": "9b98854cb45bc59d100b7d4cc4cf9e05f21026b9" 1719 | }, 1720 | "dist": { 1721 | "type": "zip", 1722 | "url": "https://api.github.com/repos/symfony/debug/zipball/9b98854cb45bc59d100b7d4cc4cf9e05f21026b9", 1723 | "reference": "9b98854cb45bc59d100b7d4cc4cf9e05f21026b9", 1724 | "shasum": "" 1725 | }, 1726 | "require": { 1727 | "php": ">=5.5.9", 1728 | "psr/log": "~1.0" 1729 | }, 1730 | "conflict": { 1731 | "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" 1732 | }, 1733 | "require-dev": { 1734 | "symfony/class-loader": "~2.8|~3.0", 1735 | "symfony/http-kernel": "~2.8|~3.0" 1736 | }, 1737 | "type": "library", 1738 | "extra": { 1739 | "branch-alias": { 1740 | "dev-master": "3.2-dev" 1741 | } 1742 | }, 1743 | "autoload": { 1744 | "psr-4": { 1745 | "Symfony\\Component\\Debug\\": "" 1746 | }, 1747 | "exclude-from-classmap": [ 1748 | "/Tests/" 1749 | ] 1750 | }, 1751 | "notification-url": "https://packagist.org/downloads/", 1752 | "license": [ 1753 | "MIT" 1754 | ], 1755 | "authors": [ 1756 | { 1757 | "name": "Fabien Potencier", 1758 | "email": "fabien@symfony.com" 1759 | }, 1760 | { 1761 | "name": "Symfony Community", 1762 | "homepage": "https://symfony.com/contributors" 1763 | } 1764 | ], 1765 | "description": "Symfony Debug Component", 1766 | "homepage": "https://symfony.com", 1767 | "time": "2017-02-16 16:34:18" 1768 | }, 1769 | { 1770 | "name": "symfony/event-dispatcher", 1771 | "version": "v3.2.4", 1772 | "source": { 1773 | "type": "git", 1774 | "url": "https://github.com/symfony/event-dispatcher.git", 1775 | "reference": "9137eb3a3328e413212826d63eeeb0217836e2b6" 1776 | }, 1777 | "dist": { 1778 | "type": "zip", 1779 | "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9137eb3a3328e413212826d63eeeb0217836e2b6", 1780 | "reference": "9137eb3a3328e413212826d63eeeb0217836e2b6", 1781 | "shasum": "" 1782 | }, 1783 | "require": { 1784 | "php": ">=5.5.9" 1785 | }, 1786 | "require-dev": { 1787 | "psr/log": "~1.0", 1788 | "symfony/config": "~2.8|~3.0", 1789 | "symfony/dependency-injection": "~2.8|~3.0", 1790 | "symfony/expression-language": "~2.8|~3.0", 1791 | "symfony/stopwatch": "~2.8|~3.0" 1792 | }, 1793 | "suggest": { 1794 | "symfony/dependency-injection": "", 1795 | "symfony/http-kernel": "" 1796 | }, 1797 | "type": "library", 1798 | "extra": { 1799 | "branch-alias": { 1800 | "dev-master": "3.2-dev" 1801 | } 1802 | }, 1803 | "autoload": { 1804 | "psr-4": { 1805 | "Symfony\\Component\\EventDispatcher\\": "" 1806 | }, 1807 | "exclude-from-classmap": [ 1808 | "/Tests/" 1809 | ] 1810 | }, 1811 | "notification-url": "https://packagist.org/downloads/", 1812 | "license": [ 1813 | "MIT" 1814 | ], 1815 | "authors": [ 1816 | { 1817 | "name": "Fabien Potencier", 1818 | "email": "fabien@symfony.com" 1819 | }, 1820 | { 1821 | "name": "Symfony Community", 1822 | "homepage": "https://symfony.com/contributors" 1823 | } 1824 | ], 1825 | "description": "Symfony EventDispatcher Component", 1826 | "homepage": "https://symfony.com", 1827 | "time": "2017-01-02 20:32:22" 1828 | }, 1829 | { 1830 | "name": "symfony/finder", 1831 | "version": "v3.2.4", 1832 | "source": { 1833 | "type": "git", 1834 | "url": "https://github.com/symfony/finder.git", 1835 | "reference": "8c71141cae8e2957946b403cc71a67213c0380d6" 1836 | }, 1837 | "dist": { 1838 | "type": "zip", 1839 | "url": "https://api.github.com/repos/symfony/finder/zipball/8c71141cae8e2957946b403cc71a67213c0380d6", 1840 | "reference": "8c71141cae8e2957946b403cc71a67213c0380d6", 1841 | "shasum": "" 1842 | }, 1843 | "require": { 1844 | "php": ">=5.5.9" 1845 | }, 1846 | "type": "library", 1847 | "extra": { 1848 | "branch-alias": { 1849 | "dev-master": "3.2-dev" 1850 | } 1851 | }, 1852 | "autoload": { 1853 | "psr-4": { 1854 | "Symfony\\Component\\Finder\\": "" 1855 | }, 1856 | "exclude-from-classmap": [ 1857 | "/Tests/" 1858 | ] 1859 | }, 1860 | "notification-url": "https://packagist.org/downloads/", 1861 | "license": [ 1862 | "MIT" 1863 | ], 1864 | "authors": [ 1865 | { 1866 | "name": "Fabien Potencier", 1867 | "email": "fabien@symfony.com" 1868 | }, 1869 | { 1870 | "name": "Symfony Community", 1871 | "homepage": "https://symfony.com/contributors" 1872 | } 1873 | ], 1874 | "description": "Symfony Finder Component", 1875 | "homepage": "https://symfony.com", 1876 | "time": "2017-01-02 20:32:22" 1877 | }, 1878 | { 1879 | "name": "symfony/http-foundation", 1880 | "version": "v3.2.4", 1881 | "source": { 1882 | "type": "git", 1883 | "url": "https://github.com/symfony/http-foundation.git", 1884 | "reference": "a90da6dd679605d88c9803a57a6fc1fb7a19a6e0" 1885 | }, 1886 | "dist": { 1887 | "type": "zip", 1888 | "url": "https://api.github.com/repos/symfony/http-foundation/zipball/a90da6dd679605d88c9803a57a6fc1fb7a19a6e0", 1889 | "reference": "a90da6dd679605d88c9803a57a6fc1fb7a19a6e0", 1890 | "shasum": "" 1891 | }, 1892 | "require": { 1893 | "php": ">=5.5.9", 1894 | "symfony/polyfill-mbstring": "~1.1" 1895 | }, 1896 | "require-dev": { 1897 | "symfony/expression-language": "~2.8|~3.0" 1898 | }, 1899 | "type": "library", 1900 | "extra": { 1901 | "branch-alias": { 1902 | "dev-master": "3.2-dev" 1903 | } 1904 | }, 1905 | "autoload": { 1906 | "psr-4": { 1907 | "Symfony\\Component\\HttpFoundation\\": "" 1908 | }, 1909 | "exclude-from-classmap": [ 1910 | "/Tests/" 1911 | ] 1912 | }, 1913 | "notification-url": "https://packagist.org/downloads/", 1914 | "license": [ 1915 | "MIT" 1916 | ], 1917 | "authors": [ 1918 | { 1919 | "name": "Fabien Potencier", 1920 | "email": "fabien@symfony.com" 1921 | }, 1922 | { 1923 | "name": "Symfony Community", 1924 | "homepage": "https://symfony.com/contributors" 1925 | } 1926 | ], 1927 | "description": "Symfony HttpFoundation Component", 1928 | "homepage": "https://symfony.com", 1929 | "time": "2017-02-16 22:46:52" 1930 | }, 1931 | { 1932 | "name": "symfony/http-kernel", 1933 | "version": "v3.2.4", 1934 | "source": { 1935 | "type": "git", 1936 | "url": "https://github.com/symfony/http-kernel.git", 1937 | "reference": "4cd0d4bc31819095c6ef13573069f621eb321081" 1938 | }, 1939 | "dist": { 1940 | "type": "zip", 1941 | "url": "https://api.github.com/repos/symfony/http-kernel/zipball/4cd0d4bc31819095c6ef13573069f621eb321081", 1942 | "reference": "4cd0d4bc31819095c6ef13573069f621eb321081", 1943 | "shasum": "" 1944 | }, 1945 | "require": { 1946 | "php": ">=5.5.9", 1947 | "psr/log": "~1.0", 1948 | "symfony/debug": "~2.8|~3.0", 1949 | "symfony/event-dispatcher": "~2.8|~3.0", 1950 | "symfony/http-foundation": "~2.8.13|~3.1.6|~3.2" 1951 | }, 1952 | "conflict": { 1953 | "symfony/config": "<2.8" 1954 | }, 1955 | "require-dev": { 1956 | "symfony/browser-kit": "~2.8|~3.0", 1957 | "symfony/class-loader": "~2.8|~3.0", 1958 | "symfony/config": "~2.8|~3.0", 1959 | "symfony/console": "~2.8|~3.0", 1960 | "symfony/css-selector": "~2.8|~3.0", 1961 | "symfony/dependency-injection": "~2.8|~3.0", 1962 | "symfony/dom-crawler": "~2.8|~3.0", 1963 | "symfony/expression-language": "~2.8|~3.0", 1964 | "symfony/finder": "~2.8|~3.0", 1965 | "symfony/process": "~2.8|~3.0", 1966 | "symfony/routing": "~2.8|~3.0", 1967 | "symfony/stopwatch": "~2.8|~3.0", 1968 | "symfony/templating": "~2.8|~3.0", 1969 | "symfony/translation": "~2.8|~3.0", 1970 | "symfony/var-dumper": "~3.2" 1971 | }, 1972 | "suggest": { 1973 | "symfony/browser-kit": "", 1974 | "symfony/class-loader": "", 1975 | "symfony/config": "", 1976 | "symfony/console": "", 1977 | "symfony/dependency-injection": "", 1978 | "symfony/finder": "", 1979 | "symfony/var-dumper": "" 1980 | }, 1981 | "type": "library", 1982 | "extra": { 1983 | "branch-alias": { 1984 | "dev-master": "3.2-dev" 1985 | } 1986 | }, 1987 | "autoload": { 1988 | "psr-4": { 1989 | "Symfony\\Component\\HttpKernel\\": "" 1990 | }, 1991 | "exclude-from-classmap": [ 1992 | "/Tests/" 1993 | ] 1994 | }, 1995 | "notification-url": "https://packagist.org/downloads/", 1996 | "license": [ 1997 | "MIT" 1998 | ], 1999 | "authors": [ 2000 | { 2001 | "name": "Fabien Potencier", 2002 | "email": "fabien@symfony.com" 2003 | }, 2004 | { 2005 | "name": "Symfony Community", 2006 | "homepage": "https://symfony.com/contributors" 2007 | } 2008 | ], 2009 | "description": "Symfony HttpKernel Component", 2010 | "homepage": "https://symfony.com", 2011 | "time": "2017-02-16 23:59:56" 2012 | }, 2013 | { 2014 | "name": "symfony/polyfill-mbstring", 2015 | "version": "v1.3.0", 2016 | "source": { 2017 | "type": "git", 2018 | "url": "https://github.com/symfony/polyfill-mbstring.git", 2019 | "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" 2020 | }, 2021 | "dist": { 2022 | "type": "zip", 2023 | "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4", 2024 | "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", 2025 | "shasum": "" 2026 | }, 2027 | "require": { 2028 | "php": ">=5.3.3" 2029 | }, 2030 | "suggest": { 2031 | "ext-mbstring": "For best performance" 2032 | }, 2033 | "type": "library", 2034 | "extra": { 2035 | "branch-alias": { 2036 | "dev-master": "1.3-dev" 2037 | } 2038 | }, 2039 | "autoload": { 2040 | "psr-4": { 2041 | "Symfony\\Polyfill\\Mbstring\\": "" 2042 | }, 2043 | "files": [ 2044 | "bootstrap.php" 2045 | ] 2046 | }, 2047 | "notification-url": "https://packagist.org/downloads/", 2048 | "license": [ 2049 | "MIT" 2050 | ], 2051 | "authors": [ 2052 | { 2053 | "name": "Nicolas Grekas", 2054 | "email": "p@tchwork.com" 2055 | }, 2056 | { 2057 | "name": "Symfony Community", 2058 | "homepage": "https://symfony.com/contributors" 2059 | } 2060 | ], 2061 | "description": "Symfony polyfill for the Mbstring extension", 2062 | "homepage": "https://symfony.com", 2063 | "keywords": [ 2064 | "compatibility", 2065 | "mbstring", 2066 | "polyfill", 2067 | "portable", 2068 | "shim" 2069 | ], 2070 | "time": "2016-11-14 01:06:16" 2071 | }, 2072 | { 2073 | "name": "symfony/polyfill-php55", 2074 | "version": "v1.3.0", 2075 | "source": { 2076 | "type": "git", 2077 | "url": "https://github.com/symfony/polyfill-php55.git", 2078 | "reference": "03e3f0350bca2220e3623a0e340eef194405fc67" 2079 | }, 2080 | "dist": { 2081 | "type": "zip", 2082 | "url": "https://api.github.com/repos/symfony/polyfill-php55/zipball/03e3f0350bca2220e3623a0e340eef194405fc67", 2083 | "reference": "03e3f0350bca2220e3623a0e340eef194405fc67", 2084 | "shasum": "" 2085 | }, 2086 | "require": { 2087 | "ircmaxell/password-compat": "~1.0", 2088 | "php": ">=5.3.3" 2089 | }, 2090 | "type": "library", 2091 | "extra": { 2092 | "branch-alias": { 2093 | "dev-master": "1.3-dev" 2094 | } 2095 | }, 2096 | "autoload": { 2097 | "psr-4": { 2098 | "Symfony\\Polyfill\\Php55\\": "" 2099 | }, 2100 | "files": [ 2101 | "bootstrap.php" 2102 | ] 2103 | }, 2104 | "notification-url": "https://packagist.org/downloads/", 2105 | "license": [ 2106 | "MIT" 2107 | ], 2108 | "authors": [ 2109 | { 2110 | "name": "Nicolas Grekas", 2111 | "email": "p@tchwork.com" 2112 | }, 2113 | { 2114 | "name": "Symfony Community", 2115 | "homepage": "https://symfony.com/contributors" 2116 | } 2117 | ], 2118 | "description": "Symfony polyfill backporting some PHP 5.5+ features to lower PHP versions", 2119 | "homepage": "https://symfony.com", 2120 | "keywords": [ 2121 | "compatibility", 2122 | "polyfill", 2123 | "portable", 2124 | "shim" 2125 | ], 2126 | "time": "2016-11-14 01:06:16" 2127 | }, 2128 | { 2129 | "name": "symfony/process", 2130 | "version": "v3.2.4", 2131 | "source": { 2132 | "type": "git", 2133 | "url": "https://github.com/symfony/process.git", 2134 | "reference": "0ab87c1e7570b3534a6e51eb4ca8e9f6d7327856" 2135 | }, 2136 | "dist": { 2137 | "type": "zip", 2138 | "url": "https://api.github.com/repos/symfony/process/zipball/0ab87c1e7570b3534a6e51eb4ca8e9f6d7327856", 2139 | "reference": "0ab87c1e7570b3534a6e51eb4ca8e9f6d7327856", 2140 | "shasum": "" 2141 | }, 2142 | "require": { 2143 | "php": ">=5.5.9" 2144 | }, 2145 | "type": "library", 2146 | "extra": { 2147 | "branch-alias": { 2148 | "dev-master": "3.2-dev" 2149 | } 2150 | }, 2151 | "autoload": { 2152 | "psr-4": { 2153 | "Symfony\\Component\\Process\\": "" 2154 | }, 2155 | "exclude-from-classmap": [ 2156 | "/Tests/" 2157 | ] 2158 | }, 2159 | "notification-url": "https://packagist.org/downloads/", 2160 | "license": [ 2161 | "MIT" 2162 | ], 2163 | "authors": [ 2164 | { 2165 | "name": "Fabien Potencier", 2166 | "email": "fabien@symfony.com" 2167 | }, 2168 | { 2169 | "name": "Symfony Community", 2170 | "homepage": "https://symfony.com/contributors" 2171 | } 2172 | ], 2173 | "description": "Symfony Process Component", 2174 | "homepage": "https://symfony.com", 2175 | "time": "2017-02-16 14:07:22" 2176 | }, 2177 | { 2178 | "name": "symfony/routing", 2179 | "version": "v3.2.4", 2180 | "source": { 2181 | "type": "git", 2182 | "url": "https://github.com/symfony/routing.git", 2183 | "reference": "af464432c177dbcdbb32295113b7627500331f2d" 2184 | }, 2185 | "dist": { 2186 | "type": "zip", 2187 | "url": "https://api.github.com/repos/symfony/routing/zipball/af464432c177dbcdbb32295113b7627500331f2d", 2188 | "reference": "af464432c177dbcdbb32295113b7627500331f2d", 2189 | "shasum": "" 2190 | }, 2191 | "require": { 2192 | "php": ">=5.5.9" 2193 | }, 2194 | "conflict": { 2195 | "symfony/config": "<2.8" 2196 | }, 2197 | "require-dev": { 2198 | "doctrine/annotations": "~1.0", 2199 | "doctrine/common": "~2.2", 2200 | "psr/log": "~1.0", 2201 | "symfony/config": "~2.8|~3.0", 2202 | "symfony/expression-language": "~2.8|~3.0", 2203 | "symfony/http-foundation": "~2.8|~3.0", 2204 | "symfony/yaml": "~2.8|~3.0" 2205 | }, 2206 | "suggest": { 2207 | "doctrine/annotations": "For using the annotation loader", 2208 | "symfony/config": "For using the all-in-one router or any loader", 2209 | "symfony/dependency-injection": "For loading routes from a service", 2210 | "symfony/expression-language": "For using expression matching", 2211 | "symfony/http-foundation": "For using a Symfony Request object", 2212 | "symfony/yaml": "For using the YAML loader" 2213 | }, 2214 | "type": "library", 2215 | "extra": { 2216 | "branch-alias": { 2217 | "dev-master": "3.2-dev" 2218 | } 2219 | }, 2220 | "autoload": { 2221 | "psr-4": { 2222 | "Symfony\\Component\\Routing\\": "" 2223 | }, 2224 | "exclude-from-classmap": [ 2225 | "/Tests/" 2226 | ] 2227 | }, 2228 | "notification-url": "https://packagist.org/downloads/", 2229 | "license": [ 2230 | "MIT" 2231 | ], 2232 | "authors": [ 2233 | { 2234 | "name": "Fabien Potencier", 2235 | "email": "fabien@symfony.com" 2236 | }, 2237 | { 2238 | "name": "Symfony Community", 2239 | "homepage": "https://symfony.com/contributors" 2240 | } 2241 | ], 2242 | "description": "Symfony Routing Component", 2243 | "homepage": "https://symfony.com", 2244 | "keywords": [ 2245 | "router", 2246 | "routing", 2247 | "uri", 2248 | "url" 2249 | ], 2250 | "time": "2017-01-28 02:37:08" 2251 | }, 2252 | { 2253 | "name": "symfony/serializer", 2254 | "version": "v2.8.17", 2255 | "source": { 2256 | "type": "git", 2257 | "url": "https://github.com/symfony/serializer.git", 2258 | "reference": "664e6b765cb927c968201697312bcc4f6b7becd4" 2259 | }, 2260 | "dist": { 2261 | "type": "zip", 2262 | "url": "https://api.github.com/repos/symfony/serializer/zipball/664e6b765cb927c968201697312bcc4f6b7becd4", 2263 | "reference": "664e6b765cb927c968201697312bcc4f6b7becd4", 2264 | "shasum": "" 2265 | }, 2266 | "require": { 2267 | "php": ">=5.3.9", 2268 | "symfony/polyfill-php55": "~1.0" 2269 | }, 2270 | "require-dev": { 2271 | "doctrine/annotations": "~1.0", 2272 | "doctrine/cache": "~1.0", 2273 | "symfony/config": "~2.2|~3.0.0", 2274 | "symfony/property-access": "~2.3|~3.0.0", 2275 | "symfony/yaml": "~2.0,>=2.0.5|~3.0.0" 2276 | }, 2277 | "suggest": { 2278 | "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.", 2279 | "doctrine/cache": "For using the default cached annotation reader and metadata cache.", 2280 | "symfony/config": "For using the XML mapping loader.", 2281 | "symfony/property-access": "For using the ObjectNormalizer.", 2282 | "symfony/yaml": "For using the default YAML mapping loader." 2283 | }, 2284 | "type": "library", 2285 | "extra": { 2286 | "branch-alias": { 2287 | "dev-master": "2.8-dev" 2288 | } 2289 | }, 2290 | "autoload": { 2291 | "psr-4": { 2292 | "Symfony\\Component\\Serializer\\": "" 2293 | }, 2294 | "exclude-from-classmap": [ 2295 | "/Tests/" 2296 | ] 2297 | }, 2298 | "notification-url": "https://packagist.org/downloads/", 2299 | "license": [ 2300 | "MIT" 2301 | ], 2302 | "authors": [ 2303 | { 2304 | "name": "Fabien Potencier", 2305 | "email": "fabien@symfony.com" 2306 | }, 2307 | { 2308 | "name": "Symfony Community", 2309 | "homepage": "https://symfony.com/contributors" 2310 | } 2311 | ], 2312 | "description": "Symfony Serializer Component", 2313 | "homepage": "https://symfony.com", 2314 | "time": "2017-01-21 16:59:38" 2315 | }, 2316 | { 2317 | "name": "symfony/translation", 2318 | "version": "v3.2.4", 2319 | "source": { 2320 | "type": "git", 2321 | "url": "https://github.com/symfony/translation.git", 2322 | "reference": "d6825c6bb2f1da13f564678f9f236fe8242c0029" 2323 | }, 2324 | "dist": { 2325 | "type": "zip", 2326 | "url": "https://api.github.com/repos/symfony/translation/zipball/d6825c6bb2f1da13f564678f9f236fe8242c0029", 2327 | "reference": "d6825c6bb2f1da13f564678f9f236fe8242c0029", 2328 | "shasum": "" 2329 | }, 2330 | "require": { 2331 | "php": ">=5.5.9", 2332 | "symfony/polyfill-mbstring": "~1.0" 2333 | }, 2334 | "conflict": { 2335 | "symfony/config": "<2.8" 2336 | }, 2337 | "require-dev": { 2338 | "psr/log": "~1.0", 2339 | "symfony/config": "~2.8|~3.0", 2340 | "symfony/intl": "~2.8|~3.0", 2341 | "symfony/yaml": "~2.8|~3.0" 2342 | }, 2343 | "suggest": { 2344 | "psr/log": "To use logging capability in translator", 2345 | "symfony/config": "", 2346 | "symfony/yaml": "" 2347 | }, 2348 | "type": "library", 2349 | "extra": { 2350 | "branch-alias": { 2351 | "dev-master": "3.2-dev" 2352 | } 2353 | }, 2354 | "autoload": { 2355 | "psr-4": { 2356 | "Symfony\\Component\\Translation\\": "" 2357 | }, 2358 | "exclude-from-classmap": [ 2359 | "/Tests/" 2360 | ] 2361 | }, 2362 | "notification-url": "https://packagist.org/downloads/", 2363 | "license": [ 2364 | "MIT" 2365 | ], 2366 | "authors": [ 2367 | { 2368 | "name": "Fabien Potencier", 2369 | "email": "fabien@symfony.com" 2370 | }, 2371 | { 2372 | "name": "Symfony Community", 2373 | "homepage": "https://symfony.com/contributors" 2374 | } 2375 | ], 2376 | "description": "Symfony Translation Component", 2377 | "homepage": "https://symfony.com", 2378 | "time": "2017-02-16 22:46:52" 2379 | } 2380 | ], 2381 | "packages-dev": [ 2382 | { 2383 | "name": "fabpot/php-cs-fixer", 2384 | "version": "v1.13.1", 2385 | "source": { 2386 | "type": "git", 2387 | "url": "https://github.com/FriendsOfPHP/PHP-CS-Fixer.git", 2388 | "reference": "0ea4f7ed06ca55da1d8fc45da26ff87f261c4088" 2389 | }, 2390 | "dist": { 2391 | "type": "zip", 2392 | "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/0ea4f7ed06ca55da1d8fc45da26ff87f261c4088", 2393 | "reference": "0ea4f7ed06ca55da1d8fc45da26ff87f261c4088", 2394 | "shasum": "" 2395 | }, 2396 | "require": { 2397 | "ext-tokenizer": "*", 2398 | "php": "^5.3.6 || >=7.0 <7.2", 2399 | "sebastian/diff": "^1.1", 2400 | "symfony/console": "^2.3 || ^3.0", 2401 | "symfony/event-dispatcher": "^2.1 || ^3.0", 2402 | "symfony/filesystem": "^2.1 || ^3.0", 2403 | "symfony/finder": "^2.1 || ^3.0", 2404 | "symfony/process": "^2.3 || ^3.0", 2405 | "symfony/stopwatch": "^2.5 || ^3.0" 2406 | }, 2407 | "conflict": { 2408 | "hhvm": "<3.9" 2409 | }, 2410 | "require-dev": { 2411 | "phpunit/phpunit": "^4.5|^5", 2412 | "satooshi/php-coveralls": "^1.0" 2413 | }, 2414 | "bin": [ 2415 | "php-cs-fixer" 2416 | ], 2417 | "type": "application", 2418 | "autoload": { 2419 | "psr-4": { 2420 | "Symfony\\CS\\": "Symfony/CS/" 2421 | } 2422 | }, 2423 | "notification-url": "https://packagist.org/downloads/", 2424 | "license": [ 2425 | "MIT" 2426 | ], 2427 | "authors": [ 2428 | { 2429 | "name": "Dariusz Rumiński", 2430 | "email": "dariusz.ruminski@gmail.com" 2431 | }, 2432 | { 2433 | "name": "Fabien Potencier", 2434 | "email": "fabien@symfony.com" 2435 | } 2436 | ], 2437 | "description": "A tool to automatically fix PHP code style", 2438 | "abandoned": "friendsofphp/php-cs-fixer", 2439 | "time": "2016-12-01 00:05:05" 2440 | }, 2441 | { 2442 | "name": "guzzle/guzzle", 2443 | "version": "v3.8.1", 2444 | "source": { 2445 | "type": "git", 2446 | "url": "https://github.com/guzzle/guzzle.git", 2447 | "reference": "4de0618a01b34aa1c8c33a3f13f396dcd3882eba" 2448 | }, 2449 | "dist": { 2450 | "type": "zip", 2451 | "url": "https://api.github.com/repos/guzzle/guzzle/zipball/4de0618a01b34aa1c8c33a3f13f396dcd3882eba", 2452 | "reference": "4de0618a01b34aa1c8c33a3f13f396dcd3882eba", 2453 | "shasum": "" 2454 | }, 2455 | "require": { 2456 | "ext-curl": "*", 2457 | "php": ">=5.3.3", 2458 | "symfony/event-dispatcher": ">=2.1" 2459 | }, 2460 | "replace": { 2461 | "guzzle/batch": "self.version", 2462 | "guzzle/cache": "self.version", 2463 | "guzzle/common": "self.version", 2464 | "guzzle/http": "self.version", 2465 | "guzzle/inflection": "self.version", 2466 | "guzzle/iterator": "self.version", 2467 | "guzzle/log": "self.version", 2468 | "guzzle/parser": "self.version", 2469 | "guzzle/plugin": "self.version", 2470 | "guzzle/plugin-async": "self.version", 2471 | "guzzle/plugin-backoff": "self.version", 2472 | "guzzle/plugin-cache": "self.version", 2473 | "guzzle/plugin-cookie": "self.version", 2474 | "guzzle/plugin-curlauth": "self.version", 2475 | "guzzle/plugin-error-response": "self.version", 2476 | "guzzle/plugin-history": "self.version", 2477 | "guzzle/plugin-log": "self.version", 2478 | "guzzle/plugin-md5": "self.version", 2479 | "guzzle/plugin-mock": "self.version", 2480 | "guzzle/plugin-oauth": "self.version", 2481 | "guzzle/service": "self.version", 2482 | "guzzle/stream": "self.version" 2483 | }, 2484 | "require-dev": { 2485 | "doctrine/cache": "*", 2486 | "monolog/monolog": "1.*", 2487 | "phpunit/phpunit": "3.7.*", 2488 | "psr/log": "1.0.*", 2489 | "symfony/class-loader": "*", 2490 | "zendframework/zend-cache": "<2.3", 2491 | "zendframework/zend-log": "<2.3" 2492 | }, 2493 | "type": "library", 2494 | "extra": { 2495 | "branch-alias": { 2496 | "dev-master": "3.8-dev" 2497 | } 2498 | }, 2499 | "autoload": { 2500 | "psr-0": { 2501 | "Guzzle": "src/", 2502 | "Guzzle\\Tests": "tests/" 2503 | } 2504 | }, 2505 | "notification-url": "https://packagist.org/downloads/", 2506 | "license": [ 2507 | "MIT" 2508 | ], 2509 | "authors": [ 2510 | { 2511 | "name": "Michael Dowling", 2512 | "email": "mtdowling@gmail.com", 2513 | "homepage": "https://github.com/mtdowling" 2514 | }, 2515 | { 2516 | "name": "Guzzle Community", 2517 | "homepage": "https://github.com/guzzle/guzzle/contributors" 2518 | } 2519 | ], 2520 | "description": "Guzzle is a PHP HTTP client library and framework for building RESTful web service clients", 2521 | "homepage": "http://guzzlephp.org/", 2522 | "keywords": [ 2523 | "client", 2524 | "curl", 2525 | "framework", 2526 | "http", 2527 | "http client", 2528 | "rest", 2529 | "web service" 2530 | ], 2531 | "abandoned": "guzzlehttp/guzzle", 2532 | "time": "2014-01-28 22:29:15" 2533 | }, 2534 | { 2535 | "name": "hamcrest/hamcrest-php", 2536 | "version": "v1.2.2", 2537 | "source": { 2538 | "type": "git", 2539 | "url": "https://github.com/hamcrest/hamcrest-php.git", 2540 | "reference": "b37020aa976fa52d3de9aa904aa2522dc518f79c" 2541 | }, 2542 | "dist": { 2543 | "type": "zip", 2544 | "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/b37020aa976fa52d3de9aa904aa2522dc518f79c", 2545 | "reference": "b37020aa976fa52d3de9aa904aa2522dc518f79c", 2546 | "shasum": "" 2547 | }, 2548 | "require": { 2549 | "php": ">=5.3.2" 2550 | }, 2551 | "replace": { 2552 | "cordoval/hamcrest-php": "*", 2553 | "davedevelopment/hamcrest-php": "*", 2554 | "kodova/hamcrest-php": "*" 2555 | }, 2556 | "require-dev": { 2557 | "phpunit/php-file-iterator": "1.3.3", 2558 | "satooshi/php-coveralls": "dev-master" 2559 | }, 2560 | "type": "library", 2561 | "autoload": { 2562 | "classmap": [ 2563 | "hamcrest" 2564 | ], 2565 | "files": [ 2566 | "hamcrest/Hamcrest.php" 2567 | ] 2568 | }, 2569 | "notification-url": "https://packagist.org/downloads/", 2570 | "license": [ 2571 | "BSD" 2572 | ], 2573 | "description": "This is the PHP port of Hamcrest Matchers", 2574 | "keywords": [ 2575 | "test" 2576 | ], 2577 | "time": "2015-05-11 14:41:42" 2578 | }, 2579 | { 2580 | "name": "mockery/mockery", 2581 | "version": "0.9.8", 2582 | "source": { 2583 | "type": "git", 2584 | "url": "https://github.com/padraic/mockery.git", 2585 | "reference": "1e5e2ffdc4d71d7358ed58a6fdd30a4a0c506855" 2586 | }, 2587 | "dist": { 2588 | "type": "zip", 2589 | "url": "https://api.github.com/repos/padraic/mockery/zipball/1e5e2ffdc4d71d7358ed58a6fdd30a4a0c506855", 2590 | "reference": "1e5e2ffdc4d71d7358ed58a6fdd30a4a0c506855", 2591 | "shasum": "" 2592 | }, 2593 | "require": { 2594 | "hamcrest/hamcrest-php": "~1.1", 2595 | "lib-pcre": ">=7.0", 2596 | "php": ">=5.3.2" 2597 | }, 2598 | "require-dev": { 2599 | "phpunit/phpunit": "~4.0" 2600 | }, 2601 | "type": "library", 2602 | "extra": { 2603 | "branch-alias": { 2604 | "dev-master": "0.9.x-dev" 2605 | } 2606 | }, 2607 | "autoload": { 2608 | "psr-0": { 2609 | "Mockery": "library/" 2610 | } 2611 | }, 2612 | "notification-url": "https://packagist.org/downloads/", 2613 | "license": [ 2614 | "BSD-3-Clause" 2615 | ], 2616 | "authors": [ 2617 | { 2618 | "name": "Pádraic Brady", 2619 | "email": "padraic.brady@gmail.com", 2620 | "homepage": "http://blog.astrumfutura.com" 2621 | }, 2622 | { 2623 | "name": "Dave Marshall", 2624 | "email": "dave.marshall@atstsolutions.co.uk", 2625 | "homepage": "http://davedevelopment.co.uk" 2626 | } 2627 | ], 2628 | "description": "Mockery is a simple yet flexible PHP mock object framework for use in unit testing with PHPUnit, PHPSpec or any other testing framework. Its core goal is to offer a test double framework with a succinct API capable of clearly defining all possible object operations and interactions using a human readable Domain Specific Language (DSL). Designed as a drop in alternative to PHPUnit's phpunit-mock-objects library, Mockery is easy to integrate with PHPUnit and can operate alongside phpunit-mock-objects without the World ending.", 2629 | "homepage": "http://github.com/padraic/mockery", 2630 | "keywords": [ 2631 | "BDD", 2632 | "TDD", 2633 | "library", 2634 | "mock", 2635 | "mock objects", 2636 | "mockery", 2637 | "stub", 2638 | "test", 2639 | "test double", 2640 | "testing" 2641 | ], 2642 | "time": "2017-02-09 13:29:38" 2643 | }, 2644 | { 2645 | "name": "myclabs/deep-copy", 2646 | "version": "1.6.0", 2647 | "source": { 2648 | "type": "git", 2649 | "url": "https://github.com/myclabs/DeepCopy.git", 2650 | "reference": "5a5a9fc8025a08d8919be87d6884d5a92520cefe" 2651 | }, 2652 | "dist": { 2653 | "type": "zip", 2654 | "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/5a5a9fc8025a08d8919be87d6884d5a92520cefe", 2655 | "reference": "5a5a9fc8025a08d8919be87d6884d5a92520cefe", 2656 | "shasum": "" 2657 | }, 2658 | "require": { 2659 | "php": ">=5.4.0" 2660 | }, 2661 | "require-dev": { 2662 | "doctrine/collections": "1.*", 2663 | "phpunit/phpunit": "~4.1" 2664 | }, 2665 | "type": "library", 2666 | "autoload": { 2667 | "psr-4": { 2668 | "DeepCopy\\": "src/DeepCopy/" 2669 | } 2670 | }, 2671 | "notification-url": "https://packagist.org/downloads/", 2672 | "license": [ 2673 | "MIT" 2674 | ], 2675 | "description": "Create deep copies (clones) of your objects", 2676 | "homepage": "https://github.com/myclabs/DeepCopy", 2677 | "keywords": [ 2678 | "clone", 2679 | "copy", 2680 | "duplicate", 2681 | "object", 2682 | "object graph" 2683 | ], 2684 | "time": "2017-01-26 22:05:40" 2685 | }, 2686 | { 2687 | "name": "phpdocumentor/reflection-common", 2688 | "version": "1.0", 2689 | "source": { 2690 | "type": "git", 2691 | "url": "https://github.com/phpDocumentor/ReflectionCommon.git", 2692 | "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c" 2693 | }, 2694 | "dist": { 2695 | "type": "zip", 2696 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c", 2697 | "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c", 2698 | "shasum": "" 2699 | }, 2700 | "require": { 2701 | "php": ">=5.5" 2702 | }, 2703 | "require-dev": { 2704 | "phpunit/phpunit": "^4.6" 2705 | }, 2706 | "type": "library", 2707 | "extra": { 2708 | "branch-alias": { 2709 | "dev-master": "1.0.x-dev" 2710 | } 2711 | }, 2712 | "autoload": { 2713 | "psr-4": { 2714 | "phpDocumentor\\Reflection\\": [ 2715 | "src" 2716 | ] 2717 | } 2718 | }, 2719 | "notification-url": "https://packagist.org/downloads/", 2720 | "license": [ 2721 | "MIT" 2722 | ], 2723 | "authors": [ 2724 | { 2725 | "name": "Jaap van Otterdijk", 2726 | "email": "opensource@ijaap.nl" 2727 | } 2728 | ], 2729 | "description": "Common reflection classes used by phpdocumentor to reflect the code structure", 2730 | "homepage": "http://www.phpdoc.org", 2731 | "keywords": [ 2732 | "FQSEN", 2733 | "phpDocumentor", 2734 | "phpdoc", 2735 | "reflection", 2736 | "static analysis" 2737 | ], 2738 | "time": "2015-12-27 11:43:31" 2739 | }, 2740 | { 2741 | "name": "phpdocumentor/reflection-docblock", 2742 | "version": "3.1.1", 2743 | "source": { 2744 | "type": "git", 2745 | "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", 2746 | "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e" 2747 | }, 2748 | "dist": { 2749 | "type": "zip", 2750 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/8331b5efe816ae05461b7ca1e721c01b46bafb3e", 2751 | "reference": "8331b5efe816ae05461b7ca1e721c01b46bafb3e", 2752 | "shasum": "" 2753 | }, 2754 | "require": { 2755 | "php": ">=5.5", 2756 | "phpdocumentor/reflection-common": "^1.0@dev", 2757 | "phpdocumentor/type-resolver": "^0.2.0", 2758 | "webmozart/assert": "^1.0" 2759 | }, 2760 | "require-dev": { 2761 | "mockery/mockery": "^0.9.4", 2762 | "phpunit/phpunit": "^4.4" 2763 | }, 2764 | "type": "library", 2765 | "autoload": { 2766 | "psr-4": { 2767 | "phpDocumentor\\Reflection\\": [ 2768 | "src/" 2769 | ] 2770 | } 2771 | }, 2772 | "notification-url": "https://packagist.org/downloads/", 2773 | "license": [ 2774 | "MIT" 2775 | ], 2776 | "authors": [ 2777 | { 2778 | "name": "Mike van Riel", 2779 | "email": "me@mikevanriel.com" 2780 | } 2781 | ], 2782 | "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", 2783 | "time": "2016-09-30 07:12:33" 2784 | }, 2785 | { 2786 | "name": "phpdocumentor/type-resolver", 2787 | "version": "0.2.1", 2788 | "source": { 2789 | "type": "git", 2790 | "url": "https://github.com/phpDocumentor/TypeResolver.git", 2791 | "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb" 2792 | }, 2793 | "dist": { 2794 | "type": "zip", 2795 | "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", 2796 | "reference": "e224fb2ea2fba6d3ad6fdaef91cd09a172155ccb", 2797 | "shasum": "" 2798 | }, 2799 | "require": { 2800 | "php": ">=5.5", 2801 | "phpdocumentor/reflection-common": "^1.0" 2802 | }, 2803 | "require-dev": { 2804 | "mockery/mockery": "^0.9.4", 2805 | "phpunit/phpunit": "^5.2||^4.8.24" 2806 | }, 2807 | "type": "library", 2808 | "extra": { 2809 | "branch-alias": { 2810 | "dev-master": "1.0.x-dev" 2811 | } 2812 | }, 2813 | "autoload": { 2814 | "psr-4": { 2815 | "phpDocumentor\\Reflection\\": [ 2816 | "src/" 2817 | ] 2818 | } 2819 | }, 2820 | "notification-url": "https://packagist.org/downloads/", 2821 | "license": [ 2822 | "MIT" 2823 | ], 2824 | "authors": [ 2825 | { 2826 | "name": "Mike van Riel", 2827 | "email": "me@mikevanriel.com" 2828 | } 2829 | ], 2830 | "time": "2016-11-25 06:54:22" 2831 | }, 2832 | { 2833 | "name": "phpspec/prophecy", 2834 | "version": "v1.6.2", 2835 | "source": { 2836 | "type": "git", 2837 | "url": "https://github.com/phpspec/prophecy.git", 2838 | "reference": "6c52c2722f8460122f96f86346600e1077ce22cb" 2839 | }, 2840 | "dist": { 2841 | "type": "zip", 2842 | "url": "https://api.github.com/repos/phpspec/prophecy/zipball/6c52c2722f8460122f96f86346600e1077ce22cb", 2843 | "reference": "6c52c2722f8460122f96f86346600e1077ce22cb", 2844 | "shasum": "" 2845 | }, 2846 | "require": { 2847 | "doctrine/instantiator": "^1.0.2", 2848 | "php": "^5.3|^7.0", 2849 | "phpdocumentor/reflection-docblock": "^2.0|^3.0.2", 2850 | "sebastian/comparator": "^1.1", 2851 | "sebastian/recursion-context": "^1.0|^2.0" 2852 | }, 2853 | "require-dev": { 2854 | "phpspec/phpspec": "^2.0", 2855 | "phpunit/phpunit": "^4.8 || ^5.6.5" 2856 | }, 2857 | "type": "library", 2858 | "extra": { 2859 | "branch-alias": { 2860 | "dev-master": "1.6.x-dev" 2861 | } 2862 | }, 2863 | "autoload": { 2864 | "psr-0": { 2865 | "Prophecy\\": "src/" 2866 | } 2867 | }, 2868 | "notification-url": "https://packagist.org/downloads/", 2869 | "license": [ 2870 | "MIT" 2871 | ], 2872 | "authors": [ 2873 | { 2874 | "name": "Konstantin Kudryashov", 2875 | "email": "ever.zet@gmail.com", 2876 | "homepage": "http://everzet.com" 2877 | }, 2878 | { 2879 | "name": "Marcello Duarte", 2880 | "email": "marcello.duarte@gmail.com" 2881 | } 2882 | ], 2883 | "description": "Highly opinionated mocking framework for PHP 5.3+", 2884 | "homepage": "https://github.com/phpspec/prophecy", 2885 | "keywords": [ 2886 | "Double", 2887 | "Dummy", 2888 | "fake", 2889 | "mock", 2890 | "spy", 2891 | "stub" 2892 | ], 2893 | "time": "2016-11-21 14:58:47" 2894 | }, 2895 | { 2896 | "name": "phpunit/php-code-coverage", 2897 | "version": "4.0.5", 2898 | "source": { 2899 | "type": "git", 2900 | "url": "https://github.com/sebastianbergmann/php-code-coverage.git", 2901 | "reference": "c19cfc7cbb0e9338d8c469c7eedecc2a428b0971" 2902 | }, 2903 | "dist": { 2904 | "type": "zip", 2905 | "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/c19cfc7cbb0e9338d8c469c7eedecc2a428b0971", 2906 | "reference": "c19cfc7cbb0e9338d8c469c7eedecc2a428b0971", 2907 | "shasum": "" 2908 | }, 2909 | "require": { 2910 | "php": "^5.6 || ^7.0", 2911 | "phpunit/php-file-iterator": "~1.3", 2912 | "phpunit/php-text-template": "~1.2", 2913 | "phpunit/php-token-stream": "^1.4.2", 2914 | "sebastian/code-unit-reverse-lookup": "~1.0", 2915 | "sebastian/environment": "^1.3.2 || ^2.0", 2916 | "sebastian/version": "~1.0|~2.0" 2917 | }, 2918 | "require-dev": { 2919 | "ext-xdebug": ">=2.1.4", 2920 | "phpunit/phpunit": "^5.4" 2921 | }, 2922 | "suggest": { 2923 | "ext-dom": "*", 2924 | "ext-xdebug": ">=2.4.0", 2925 | "ext-xmlwriter": "*" 2926 | }, 2927 | "type": "library", 2928 | "extra": { 2929 | "branch-alias": { 2930 | "dev-master": "4.0.x-dev" 2931 | } 2932 | }, 2933 | "autoload": { 2934 | "classmap": [ 2935 | "src/" 2936 | ] 2937 | }, 2938 | "notification-url": "https://packagist.org/downloads/", 2939 | "license": [ 2940 | "BSD-3-Clause" 2941 | ], 2942 | "authors": [ 2943 | { 2944 | "name": "Sebastian Bergmann", 2945 | "email": "sb@sebastian-bergmann.de", 2946 | "role": "lead" 2947 | } 2948 | ], 2949 | "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", 2950 | "homepage": "https://github.com/sebastianbergmann/php-code-coverage", 2951 | "keywords": [ 2952 | "coverage", 2953 | "testing", 2954 | "xunit" 2955 | ], 2956 | "time": "2017-01-20 15:06:43" 2957 | }, 2958 | { 2959 | "name": "phpunit/php-file-iterator", 2960 | "version": "1.4.2", 2961 | "source": { 2962 | "type": "git", 2963 | "url": "https://github.com/sebastianbergmann/php-file-iterator.git", 2964 | "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" 2965 | }, 2966 | "dist": { 2967 | "type": "zip", 2968 | "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", 2969 | "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", 2970 | "shasum": "" 2971 | }, 2972 | "require": { 2973 | "php": ">=5.3.3" 2974 | }, 2975 | "type": "library", 2976 | "extra": { 2977 | "branch-alias": { 2978 | "dev-master": "1.4.x-dev" 2979 | } 2980 | }, 2981 | "autoload": { 2982 | "classmap": [ 2983 | "src/" 2984 | ] 2985 | }, 2986 | "notification-url": "https://packagist.org/downloads/", 2987 | "license": [ 2988 | "BSD-3-Clause" 2989 | ], 2990 | "authors": [ 2991 | { 2992 | "name": "Sebastian Bergmann", 2993 | "email": "sb@sebastian-bergmann.de", 2994 | "role": "lead" 2995 | } 2996 | ], 2997 | "description": "FilterIterator implementation that filters files based on a list of suffixes.", 2998 | "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", 2999 | "keywords": [ 3000 | "filesystem", 3001 | "iterator" 3002 | ], 3003 | "time": "2016-10-03 07:40:28" 3004 | }, 3005 | { 3006 | "name": "phpunit/php-text-template", 3007 | "version": "1.2.1", 3008 | "source": { 3009 | "type": "git", 3010 | "url": "https://github.com/sebastianbergmann/php-text-template.git", 3011 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" 3012 | }, 3013 | "dist": { 3014 | "type": "zip", 3015 | "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", 3016 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", 3017 | "shasum": "" 3018 | }, 3019 | "require": { 3020 | "php": ">=5.3.3" 3021 | }, 3022 | "type": "library", 3023 | "autoload": { 3024 | "classmap": [ 3025 | "src/" 3026 | ] 3027 | }, 3028 | "notification-url": "https://packagist.org/downloads/", 3029 | "license": [ 3030 | "BSD-3-Clause" 3031 | ], 3032 | "authors": [ 3033 | { 3034 | "name": "Sebastian Bergmann", 3035 | "email": "sebastian@phpunit.de", 3036 | "role": "lead" 3037 | } 3038 | ], 3039 | "description": "Simple template engine.", 3040 | "homepage": "https://github.com/sebastianbergmann/php-text-template/", 3041 | "keywords": [ 3042 | "template" 3043 | ], 3044 | "time": "2015-06-21 13:50:34" 3045 | }, 3046 | { 3047 | "name": "phpunit/php-timer", 3048 | "version": "1.0.8", 3049 | "source": { 3050 | "type": "git", 3051 | "url": "https://github.com/sebastianbergmann/php-timer.git", 3052 | "reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260" 3053 | }, 3054 | "dist": { 3055 | "type": "zip", 3056 | "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/38e9124049cf1a164f1e4537caf19c99bf1eb260", 3057 | "reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260", 3058 | "shasum": "" 3059 | }, 3060 | "require": { 3061 | "php": ">=5.3.3" 3062 | }, 3063 | "require-dev": { 3064 | "phpunit/phpunit": "~4|~5" 3065 | }, 3066 | "type": "library", 3067 | "autoload": { 3068 | "classmap": [ 3069 | "src/" 3070 | ] 3071 | }, 3072 | "notification-url": "https://packagist.org/downloads/", 3073 | "license": [ 3074 | "BSD-3-Clause" 3075 | ], 3076 | "authors": [ 3077 | { 3078 | "name": "Sebastian Bergmann", 3079 | "email": "sb@sebastian-bergmann.de", 3080 | "role": "lead" 3081 | } 3082 | ], 3083 | "description": "Utility class for timing", 3084 | "homepage": "https://github.com/sebastianbergmann/php-timer/", 3085 | "keywords": [ 3086 | "timer" 3087 | ], 3088 | "time": "2016-05-12 18:03:57" 3089 | }, 3090 | { 3091 | "name": "phpunit/php-token-stream", 3092 | "version": "1.4.9", 3093 | "source": { 3094 | "type": "git", 3095 | "url": "https://github.com/sebastianbergmann/php-token-stream.git", 3096 | "reference": "3b402f65a4cc90abf6e1104e388b896ce209631b" 3097 | }, 3098 | "dist": { 3099 | "type": "zip", 3100 | "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/3b402f65a4cc90abf6e1104e388b896ce209631b", 3101 | "reference": "3b402f65a4cc90abf6e1104e388b896ce209631b", 3102 | "shasum": "" 3103 | }, 3104 | "require": { 3105 | "ext-tokenizer": "*", 3106 | "php": ">=5.3.3" 3107 | }, 3108 | "require-dev": { 3109 | "phpunit/phpunit": "~4.2" 3110 | }, 3111 | "type": "library", 3112 | "extra": { 3113 | "branch-alias": { 3114 | "dev-master": "1.4-dev" 3115 | } 3116 | }, 3117 | "autoload": { 3118 | "classmap": [ 3119 | "src/" 3120 | ] 3121 | }, 3122 | "notification-url": "https://packagist.org/downloads/", 3123 | "license": [ 3124 | "BSD-3-Clause" 3125 | ], 3126 | "authors": [ 3127 | { 3128 | "name": "Sebastian Bergmann", 3129 | "email": "sebastian@phpunit.de" 3130 | } 3131 | ], 3132 | "description": "Wrapper around PHP's tokenizer extension.", 3133 | "homepage": "https://github.com/sebastianbergmann/php-token-stream/", 3134 | "keywords": [ 3135 | "tokenizer" 3136 | ], 3137 | "time": "2016-11-15 14:06:22" 3138 | }, 3139 | { 3140 | "name": "phpunit/phpunit", 3141 | "version": "5.7.13", 3142 | "source": { 3143 | "type": "git", 3144 | "url": "https://github.com/sebastianbergmann/phpunit.git", 3145 | "reference": "60ebeed87a35ea46fd7f7d8029df2d6f013ebb34" 3146 | }, 3147 | "dist": { 3148 | "type": "zip", 3149 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/60ebeed87a35ea46fd7f7d8029df2d6f013ebb34", 3150 | "reference": "60ebeed87a35ea46fd7f7d8029df2d6f013ebb34", 3151 | "shasum": "" 3152 | }, 3153 | "require": { 3154 | "ext-dom": "*", 3155 | "ext-json": "*", 3156 | "ext-libxml": "*", 3157 | "ext-mbstring": "*", 3158 | "ext-xml": "*", 3159 | "myclabs/deep-copy": "~1.3", 3160 | "php": "^5.6 || ^7.0", 3161 | "phpspec/prophecy": "^1.6.2", 3162 | "phpunit/php-code-coverage": "^4.0.4", 3163 | "phpunit/php-file-iterator": "~1.4", 3164 | "phpunit/php-text-template": "~1.2", 3165 | "phpunit/php-timer": "^1.0.6", 3166 | "phpunit/phpunit-mock-objects": "^3.2", 3167 | "sebastian/comparator": "^1.2.4", 3168 | "sebastian/diff": "~1.2", 3169 | "sebastian/environment": "^1.3.4 || ^2.0", 3170 | "sebastian/exporter": "~2.0", 3171 | "sebastian/global-state": "^1.1", 3172 | "sebastian/object-enumerator": "~2.0", 3173 | "sebastian/resource-operations": "~1.0", 3174 | "sebastian/version": "~1.0|~2.0", 3175 | "symfony/yaml": "~2.1|~3.0" 3176 | }, 3177 | "conflict": { 3178 | "phpdocumentor/reflection-docblock": "3.0.2" 3179 | }, 3180 | "require-dev": { 3181 | "ext-pdo": "*" 3182 | }, 3183 | "suggest": { 3184 | "ext-xdebug": "*", 3185 | "phpunit/php-invoker": "~1.1" 3186 | }, 3187 | "bin": [ 3188 | "phpunit" 3189 | ], 3190 | "type": "library", 3191 | "extra": { 3192 | "branch-alias": { 3193 | "dev-master": "5.7.x-dev" 3194 | } 3195 | }, 3196 | "autoload": { 3197 | "classmap": [ 3198 | "src/" 3199 | ] 3200 | }, 3201 | "notification-url": "https://packagist.org/downloads/", 3202 | "license": [ 3203 | "BSD-3-Clause" 3204 | ], 3205 | "authors": [ 3206 | { 3207 | "name": "Sebastian Bergmann", 3208 | "email": "sebastian@phpunit.de", 3209 | "role": "lead" 3210 | } 3211 | ], 3212 | "description": "The PHP Unit Testing framework.", 3213 | "homepage": "https://phpunit.de/", 3214 | "keywords": [ 3215 | "phpunit", 3216 | "testing", 3217 | "xunit" 3218 | ], 3219 | "time": "2017-02-10 09:05:10" 3220 | }, 3221 | { 3222 | "name": "phpunit/phpunit-mock-objects", 3223 | "version": "3.4.3", 3224 | "source": { 3225 | "type": "git", 3226 | "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", 3227 | "reference": "3ab72b65b39b491e0c011e2e09bb2206c2aa8e24" 3228 | }, 3229 | "dist": { 3230 | "type": "zip", 3231 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/3ab72b65b39b491e0c011e2e09bb2206c2aa8e24", 3232 | "reference": "3ab72b65b39b491e0c011e2e09bb2206c2aa8e24", 3233 | "shasum": "" 3234 | }, 3235 | "require": { 3236 | "doctrine/instantiator": "^1.0.2", 3237 | "php": "^5.6 || ^7.0", 3238 | "phpunit/php-text-template": "^1.2", 3239 | "sebastian/exporter": "^1.2 || ^2.0" 3240 | }, 3241 | "conflict": { 3242 | "phpunit/phpunit": "<5.4.0" 3243 | }, 3244 | "require-dev": { 3245 | "phpunit/phpunit": "^5.4" 3246 | }, 3247 | "suggest": { 3248 | "ext-soap": "*" 3249 | }, 3250 | "type": "library", 3251 | "extra": { 3252 | "branch-alias": { 3253 | "dev-master": "3.2.x-dev" 3254 | } 3255 | }, 3256 | "autoload": { 3257 | "classmap": [ 3258 | "src/" 3259 | ] 3260 | }, 3261 | "notification-url": "https://packagist.org/downloads/", 3262 | "license": [ 3263 | "BSD-3-Clause" 3264 | ], 3265 | "authors": [ 3266 | { 3267 | "name": "Sebastian Bergmann", 3268 | "email": "sb@sebastian-bergmann.de", 3269 | "role": "lead" 3270 | } 3271 | ], 3272 | "description": "Mock Object library for PHPUnit", 3273 | "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", 3274 | "keywords": [ 3275 | "mock", 3276 | "xunit" 3277 | ], 3278 | "time": "2016-12-08 20:27:08" 3279 | }, 3280 | { 3281 | "name": "satooshi/php-coveralls", 3282 | "version": "v1.0.1", 3283 | "source": { 3284 | "type": "git", 3285 | "url": "https://github.com/satooshi/php-coveralls.git", 3286 | "reference": "da51d304fe8622bf9a6da39a8446e7afd432115c" 3287 | }, 3288 | "dist": { 3289 | "type": "zip", 3290 | "url": "https://api.github.com/repos/satooshi/php-coveralls/zipball/da51d304fe8622bf9a6da39a8446e7afd432115c", 3291 | "reference": "da51d304fe8622bf9a6da39a8446e7afd432115c", 3292 | "shasum": "" 3293 | }, 3294 | "require": { 3295 | "ext-json": "*", 3296 | "ext-simplexml": "*", 3297 | "guzzle/guzzle": "^2.8|^3.0", 3298 | "php": ">=5.3.3", 3299 | "psr/log": "^1.0", 3300 | "symfony/config": "^2.1|^3.0", 3301 | "symfony/console": "^2.1|^3.0", 3302 | "symfony/stopwatch": "^2.0|^3.0", 3303 | "symfony/yaml": "^2.0|^3.0" 3304 | }, 3305 | "suggest": { 3306 | "symfony/http-kernel": "Allows Symfony integration" 3307 | }, 3308 | "bin": [ 3309 | "bin/coveralls" 3310 | ], 3311 | "type": "library", 3312 | "autoload": { 3313 | "psr-4": { 3314 | "Satooshi\\": "src/Satooshi/" 3315 | } 3316 | }, 3317 | "notification-url": "https://packagist.org/downloads/", 3318 | "license": [ 3319 | "MIT" 3320 | ], 3321 | "authors": [ 3322 | { 3323 | "name": "Kitamura Satoshi", 3324 | "email": "with.no.parachute@gmail.com", 3325 | "homepage": "https://www.facebook.com/satooshi.jp" 3326 | } 3327 | ], 3328 | "description": "PHP client library for Coveralls API", 3329 | "homepage": "https://github.com/satooshi/php-coveralls", 3330 | "keywords": [ 3331 | "ci", 3332 | "coverage", 3333 | "github", 3334 | "test" 3335 | ], 3336 | "time": "2016-01-20 17:35:46" 3337 | }, 3338 | { 3339 | "name": "sebastian/code-unit-reverse-lookup", 3340 | "version": "1.0.0", 3341 | "source": { 3342 | "type": "git", 3343 | "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", 3344 | "reference": "c36f5e7cfce482fde5bf8d10d41a53591e0198fe" 3345 | }, 3346 | "dist": { 3347 | "type": "zip", 3348 | "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/c36f5e7cfce482fde5bf8d10d41a53591e0198fe", 3349 | "reference": "c36f5e7cfce482fde5bf8d10d41a53591e0198fe", 3350 | "shasum": "" 3351 | }, 3352 | "require": { 3353 | "php": ">=5.6" 3354 | }, 3355 | "require-dev": { 3356 | "phpunit/phpunit": "~5" 3357 | }, 3358 | "type": "library", 3359 | "extra": { 3360 | "branch-alias": { 3361 | "dev-master": "1.0.x-dev" 3362 | } 3363 | }, 3364 | "autoload": { 3365 | "classmap": [ 3366 | "src/" 3367 | ] 3368 | }, 3369 | "notification-url": "https://packagist.org/downloads/", 3370 | "license": [ 3371 | "BSD-3-Clause" 3372 | ], 3373 | "authors": [ 3374 | { 3375 | "name": "Sebastian Bergmann", 3376 | "email": "sebastian@phpunit.de" 3377 | } 3378 | ], 3379 | "description": "Looks up which function or method a line of code belongs to", 3380 | "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", 3381 | "time": "2016-02-13 06:45:14" 3382 | }, 3383 | { 3384 | "name": "sebastian/comparator", 3385 | "version": "1.2.4", 3386 | "source": { 3387 | "type": "git", 3388 | "url": "https://github.com/sebastianbergmann/comparator.git", 3389 | "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" 3390 | }, 3391 | "dist": { 3392 | "type": "zip", 3393 | "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", 3394 | "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", 3395 | "shasum": "" 3396 | }, 3397 | "require": { 3398 | "php": ">=5.3.3", 3399 | "sebastian/diff": "~1.2", 3400 | "sebastian/exporter": "~1.2 || ~2.0" 3401 | }, 3402 | "require-dev": { 3403 | "phpunit/phpunit": "~4.4" 3404 | }, 3405 | "type": "library", 3406 | "extra": { 3407 | "branch-alias": { 3408 | "dev-master": "1.2.x-dev" 3409 | } 3410 | }, 3411 | "autoload": { 3412 | "classmap": [ 3413 | "src/" 3414 | ] 3415 | }, 3416 | "notification-url": "https://packagist.org/downloads/", 3417 | "license": [ 3418 | "BSD-3-Clause" 3419 | ], 3420 | "authors": [ 3421 | { 3422 | "name": "Jeff Welch", 3423 | "email": "whatthejeff@gmail.com" 3424 | }, 3425 | { 3426 | "name": "Volker Dusch", 3427 | "email": "github@wallbash.com" 3428 | }, 3429 | { 3430 | "name": "Bernhard Schussek", 3431 | "email": "bschussek@2bepublished.at" 3432 | }, 3433 | { 3434 | "name": "Sebastian Bergmann", 3435 | "email": "sebastian@phpunit.de" 3436 | } 3437 | ], 3438 | "description": "Provides the functionality to compare PHP values for equality", 3439 | "homepage": "http://www.github.com/sebastianbergmann/comparator", 3440 | "keywords": [ 3441 | "comparator", 3442 | "compare", 3443 | "equality" 3444 | ], 3445 | "time": "2017-01-29 09:50:25" 3446 | }, 3447 | { 3448 | "name": "sebastian/diff", 3449 | "version": "1.4.1", 3450 | "source": { 3451 | "type": "git", 3452 | "url": "https://github.com/sebastianbergmann/diff.git", 3453 | "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e" 3454 | }, 3455 | "dist": { 3456 | "type": "zip", 3457 | "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e", 3458 | "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e", 3459 | "shasum": "" 3460 | }, 3461 | "require": { 3462 | "php": ">=5.3.3" 3463 | }, 3464 | "require-dev": { 3465 | "phpunit/phpunit": "~4.8" 3466 | }, 3467 | "type": "library", 3468 | "extra": { 3469 | "branch-alias": { 3470 | "dev-master": "1.4-dev" 3471 | } 3472 | }, 3473 | "autoload": { 3474 | "classmap": [ 3475 | "src/" 3476 | ] 3477 | }, 3478 | "notification-url": "https://packagist.org/downloads/", 3479 | "license": [ 3480 | "BSD-3-Clause" 3481 | ], 3482 | "authors": [ 3483 | { 3484 | "name": "Kore Nordmann", 3485 | "email": "mail@kore-nordmann.de" 3486 | }, 3487 | { 3488 | "name": "Sebastian Bergmann", 3489 | "email": "sebastian@phpunit.de" 3490 | } 3491 | ], 3492 | "description": "Diff implementation", 3493 | "homepage": "https://github.com/sebastianbergmann/diff", 3494 | "keywords": [ 3495 | "diff" 3496 | ], 3497 | "time": "2015-12-08 07:14:41" 3498 | }, 3499 | { 3500 | "name": "sebastian/environment", 3501 | "version": "2.0.0", 3502 | "source": { 3503 | "type": "git", 3504 | "url": "https://github.com/sebastianbergmann/environment.git", 3505 | "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac" 3506 | }, 3507 | "dist": { 3508 | "type": "zip", 3509 | "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5795ffe5dc5b02460c3e34222fee8cbe245d8fac", 3510 | "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac", 3511 | "shasum": "" 3512 | }, 3513 | "require": { 3514 | "php": "^5.6 || ^7.0" 3515 | }, 3516 | "require-dev": { 3517 | "phpunit/phpunit": "^5.0" 3518 | }, 3519 | "type": "library", 3520 | "extra": { 3521 | "branch-alias": { 3522 | "dev-master": "2.0.x-dev" 3523 | } 3524 | }, 3525 | "autoload": { 3526 | "classmap": [ 3527 | "src/" 3528 | ] 3529 | }, 3530 | "notification-url": "https://packagist.org/downloads/", 3531 | "license": [ 3532 | "BSD-3-Clause" 3533 | ], 3534 | "authors": [ 3535 | { 3536 | "name": "Sebastian Bergmann", 3537 | "email": "sebastian@phpunit.de" 3538 | } 3539 | ], 3540 | "description": "Provides functionality to handle HHVM/PHP environments", 3541 | "homepage": "http://www.github.com/sebastianbergmann/environment", 3542 | "keywords": [ 3543 | "Xdebug", 3544 | "environment", 3545 | "hhvm" 3546 | ], 3547 | "time": "2016-11-26 07:53:53" 3548 | }, 3549 | { 3550 | "name": "sebastian/exporter", 3551 | "version": "2.0.0", 3552 | "source": { 3553 | "type": "git", 3554 | "url": "https://github.com/sebastianbergmann/exporter.git", 3555 | "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4" 3556 | }, 3557 | "dist": { 3558 | "type": "zip", 3559 | "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", 3560 | "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", 3561 | "shasum": "" 3562 | }, 3563 | "require": { 3564 | "php": ">=5.3.3", 3565 | "sebastian/recursion-context": "~2.0" 3566 | }, 3567 | "require-dev": { 3568 | "ext-mbstring": "*", 3569 | "phpunit/phpunit": "~4.4" 3570 | }, 3571 | "type": "library", 3572 | "extra": { 3573 | "branch-alias": { 3574 | "dev-master": "2.0.x-dev" 3575 | } 3576 | }, 3577 | "autoload": { 3578 | "classmap": [ 3579 | "src/" 3580 | ] 3581 | }, 3582 | "notification-url": "https://packagist.org/downloads/", 3583 | "license": [ 3584 | "BSD-3-Clause" 3585 | ], 3586 | "authors": [ 3587 | { 3588 | "name": "Jeff Welch", 3589 | "email": "whatthejeff@gmail.com" 3590 | }, 3591 | { 3592 | "name": "Volker Dusch", 3593 | "email": "github@wallbash.com" 3594 | }, 3595 | { 3596 | "name": "Bernhard Schussek", 3597 | "email": "bschussek@2bepublished.at" 3598 | }, 3599 | { 3600 | "name": "Sebastian Bergmann", 3601 | "email": "sebastian@phpunit.de" 3602 | }, 3603 | { 3604 | "name": "Adam Harvey", 3605 | "email": "aharvey@php.net" 3606 | } 3607 | ], 3608 | "description": "Provides the functionality to export PHP variables for visualization", 3609 | "homepage": "http://www.github.com/sebastianbergmann/exporter", 3610 | "keywords": [ 3611 | "export", 3612 | "exporter" 3613 | ], 3614 | "time": "2016-11-19 08:54:04" 3615 | }, 3616 | { 3617 | "name": "sebastian/global-state", 3618 | "version": "1.1.1", 3619 | "source": { 3620 | "type": "git", 3621 | "url": "https://github.com/sebastianbergmann/global-state.git", 3622 | "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" 3623 | }, 3624 | "dist": { 3625 | "type": "zip", 3626 | "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", 3627 | "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", 3628 | "shasum": "" 3629 | }, 3630 | "require": { 3631 | "php": ">=5.3.3" 3632 | }, 3633 | "require-dev": { 3634 | "phpunit/phpunit": "~4.2" 3635 | }, 3636 | "suggest": { 3637 | "ext-uopz": "*" 3638 | }, 3639 | "type": "library", 3640 | "extra": { 3641 | "branch-alias": { 3642 | "dev-master": "1.0-dev" 3643 | } 3644 | }, 3645 | "autoload": { 3646 | "classmap": [ 3647 | "src/" 3648 | ] 3649 | }, 3650 | "notification-url": "https://packagist.org/downloads/", 3651 | "license": [ 3652 | "BSD-3-Clause" 3653 | ], 3654 | "authors": [ 3655 | { 3656 | "name": "Sebastian Bergmann", 3657 | "email": "sebastian@phpunit.de" 3658 | } 3659 | ], 3660 | "description": "Snapshotting of global state", 3661 | "homepage": "http://www.github.com/sebastianbergmann/global-state", 3662 | "keywords": [ 3663 | "global state" 3664 | ], 3665 | "time": "2015-10-12 03:26:01" 3666 | }, 3667 | { 3668 | "name": "sebastian/object-enumerator", 3669 | "version": "2.0.0", 3670 | "source": { 3671 | "type": "git", 3672 | "url": "https://github.com/sebastianbergmann/object-enumerator.git", 3673 | "reference": "96f8a3f257b69e8128ad74d3a7fd464bcbaa3b35" 3674 | }, 3675 | "dist": { 3676 | "type": "zip", 3677 | "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/96f8a3f257b69e8128ad74d3a7fd464bcbaa3b35", 3678 | "reference": "96f8a3f257b69e8128ad74d3a7fd464bcbaa3b35", 3679 | "shasum": "" 3680 | }, 3681 | "require": { 3682 | "php": ">=5.6", 3683 | "sebastian/recursion-context": "~2.0" 3684 | }, 3685 | "require-dev": { 3686 | "phpunit/phpunit": "~5" 3687 | }, 3688 | "type": "library", 3689 | "extra": { 3690 | "branch-alias": { 3691 | "dev-master": "2.0.x-dev" 3692 | } 3693 | }, 3694 | "autoload": { 3695 | "classmap": [ 3696 | "src/" 3697 | ] 3698 | }, 3699 | "notification-url": "https://packagist.org/downloads/", 3700 | "license": [ 3701 | "BSD-3-Clause" 3702 | ], 3703 | "authors": [ 3704 | { 3705 | "name": "Sebastian Bergmann", 3706 | "email": "sebastian@phpunit.de" 3707 | } 3708 | ], 3709 | "description": "Traverses array structures and object graphs to enumerate all referenced objects", 3710 | "homepage": "https://github.com/sebastianbergmann/object-enumerator/", 3711 | "time": "2016-11-19 07:35:10" 3712 | }, 3713 | { 3714 | "name": "sebastian/recursion-context", 3715 | "version": "2.0.0", 3716 | "source": { 3717 | "type": "git", 3718 | "url": "https://github.com/sebastianbergmann/recursion-context.git", 3719 | "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a" 3720 | }, 3721 | "dist": { 3722 | "type": "zip", 3723 | "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/2c3ba150cbec723aa057506e73a8d33bdb286c9a", 3724 | "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a", 3725 | "shasum": "" 3726 | }, 3727 | "require": { 3728 | "php": ">=5.3.3" 3729 | }, 3730 | "require-dev": { 3731 | "phpunit/phpunit": "~4.4" 3732 | }, 3733 | "type": "library", 3734 | "extra": { 3735 | "branch-alias": { 3736 | "dev-master": "2.0.x-dev" 3737 | } 3738 | }, 3739 | "autoload": { 3740 | "classmap": [ 3741 | "src/" 3742 | ] 3743 | }, 3744 | "notification-url": "https://packagist.org/downloads/", 3745 | "license": [ 3746 | "BSD-3-Clause" 3747 | ], 3748 | "authors": [ 3749 | { 3750 | "name": "Jeff Welch", 3751 | "email": "whatthejeff@gmail.com" 3752 | }, 3753 | { 3754 | "name": "Sebastian Bergmann", 3755 | "email": "sebastian@phpunit.de" 3756 | }, 3757 | { 3758 | "name": "Adam Harvey", 3759 | "email": "aharvey@php.net" 3760 | } 3761 | ], 3762 | "description": "Provides functionality to recursively process PHP variables", 3763 | "homepage": "http://www.github.com/sebastianbergmann/recursion-context", 3764 | "time": "2016-11-19 07:33:16" 3765 | }, 3766 | { 3767 | "name": "sebastian/resource-operations", 3768 | "version": "1.0.0", 3769 | "source": { 3770 | "type": "git", 3771 | "url": "https://github.com/sebastianbergmann/resource-operations.git", 3772 | "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52" 3773 | }, 3774 | "dist": { 3775 | "type": "zip", 3776 | "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", 3777 | "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", 3778 | "shasum": "" 3779 | }, 3780 | "require": { 3781 | "php": ">=5.6.0" 3782 | }, 3783 | "type": "library", 3784 | "extra": { 3785 | "branch-alias": { 3786 | "dev-master": "1.0.x-dev" 3787 | } 3788 | }, 3789 | "autoload": { 3790 | "classmap": [ 3791 | "src/" 3792 | ] 3793 | }, 3794 | "notification-url": "https://packagist.org/downloads/", 3795 | "license": [ 3796 | "BSD-3-Clause" 3797 | ], 3798 | "authors": [ 3799 | { 3800 | "name": "Sebastian Bergmann", 3801 | "email": "sebastian@phpunit.de" 3802 | } 3803 | ], 3804 | "description": "Provides a list of PHP built-in functions that operate on resources", 3805 | "homepage": "https://www.github.com/sebastianbergmann/resource-operations", 3806 | "time": "2015-07-28 20:34:47" 3807 | }, 3808 | { 3809 | "name": "sebastian/version", 3810 | "version": "2.0.1", 3811 | "source": { 3812 | "type": "git", 3813 | "url": "https://github.com/sebastianbergmann/version.git", 3814 | "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" 3815 | }, 3816 | "dist": { 3817 | "type": "zip", 3818 | "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", 3819 | "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", 3820 | "shasum": "" 3821 | }, 3822 | "require": { 3823 | "php": ">=5.6" 3824 | }, 3825 | "type": "library", 3826 | "extra": { 3827 | "branch-alias": { 3828 | "dev-master": "2.0.x-dev" 3829 | } 3830 | }, 3831 | "autoload": { 3832 | "classmap": [ 3833 | "src/" 3834 | ] 3835 | }, 3836 | "notification-url": "https://packagist.org/downloads/", 3837 | "license": [ 3838 | "BSD-3-Clause" 3839 | ], 3840 | "authors": [ 3841 | { 3842 | "name": "Sebastian Bergmann", 3843 | "email": "sebastian@phpunit.de", 3844 | "role": "lead" 3845 | } 3846 | ], 3847 | "description": "Library that helps with managing the version number of Git-hosted PHP projects", 3848 | "homepage": "https://github.com/sebastianbergmann/version", 3849 | "time": "2016-10-03 07:35:21" 3850 | }, 3851 | { 3852 | "name": "symfony/config", 3853 | "version": "v3.2.4", 3854 | "source": { 3855 | "type": "git", 3856 | "url": "https://github.com/symfony/config.git", 3857 | "reference": "9f99453e77771e629af8a25eeb0a6c4ed1e19da2" 3858 | }, 3859 | "dist": { 3860 | "type": "zip", 3861 | "url": "https://api.github.com/repos/symfony/config/zipball/9f99453e77771e629af8a25eeb0a6c4ed1e19da2", 3862 | "reference": "9f99453e77771e629af8a25eeb0a6c4ed1e19da2", 3863 | "shasum": "" 3864 | }, 3865 | "require": { 3866 | "php": ">=5.5.9", 3867 | "symfony/filesystem": "~2.8|~3.0" 3868 | }, 3869 | "require-dev": { 3870 | "symfony/yaml": "~3.0" 3871 | }, 3872 | "suggest": { 3873 | "symfony/yaml": "To use the yaml reference dumper" 3874 | }, 3875 | "type": "library", 3876 | "extra": { 3877 | "branch-alias": { 3878 | "dev-master": "3.2-dev" 3879 | } 3880 | }, 3881 | "autoload": { 3882 | "psr-4": { 3883 | "Symfony\\Component\\Config\\": "" 3884 | }, 3885 | "exclude-from-classmap": [ 3886 | "/Tests/" 3887 | ] 3888 | }, 3889 | "notification-url": "https://packagist.org/downloads/", 3890 | "license": [ 3891 | "MIT" 3892 | ], 3893 | "authors": [ 3894 | { 3895 | "name": "Fabien Potencier", 3896 | "email": "fabien@symfony.com" 3897 | }, 3898 | { 3899 | "name": "Symfony Community", 3900 | "homepage": "https://symfony.com/contributors" 3901 | } 3902 | ], 3903 | "description": "Symfony Config Component", 3904 | "homepage": "https://symfony.com", 3905 | "time": "2017-02-14 16:27:43" 3906 | }, 3907 | { 3908 | "name": "symfony/filesystem", 3909 | "version": "v3.2.4", 3910 | "source": { 3911 | "type": "git", 3912 | "url": "https://github.com/symfony/filesystem.git", 3913 | "reference": "a0c6ef2dc78d33b58d91d3a49f49797a184d06f4" 3914 | }, 3915 | "dist": { 3916 | "type": "zip", 3917 | "url": "https://api.github.com/repos/symfony/filesystem/zipball/a0c6ef2dc78d33b58d91d3a49f49797a184d06f4", 3918 | "reference": "a0c6ef2dc78d33b58d91d3a49f49797a184d06f4", 3919 | "shasum": "" 3920 | }, 3921 | "require": { 3922 | "php": ">=5.5.9" 3923 | }, 3924 | "type": "library", 3925 | "extra": { 3926 | "branch-alias": { 3927 | "dev-master": "3.2-dev" 3928 | } 3929 | }, 3930 | "autoload": { 3931 | "psr-4": { 3932 | "Symfony\\Component\\Filesystem\\": "" 3933 | }, 3934 | "exclude-from-classmap": [ 3935 | "/Tests/" 3936 | ] 3937 | }, 3938 | "notification-url": "https://packagist.org/downloads/", 3939 | "license": [ 3940 | "MIT" 3941 | ], 3942 | "authors": [ 3943 | { 3944 | "name": "Fabien Potencier", 3945 | "email": "fabien@symfony.com" 3946 | }, 3947 | { 3948 | "name": "Symfony Community", 3949 | "homepage": "https://symfony.com/contributors" 3950 | } 3951 | ], 3952 | "description": "Symfony Filesystem Component", 3953 | "homepage": "https://symfony.com", 3954 | "time": "2017-01-08 20:47:33" 3955 | }, 3956 | { 3957 | "name": "symfony/stopwatch", 3958 | "version": "v3.2.4", 3959 | "source": { 3960 | "type": "git", 3961 | "url": "https://github.com/symfony/stopwatch.git", 3962 | "reference": "9aa0b51889c01bca474853ef76e9394b02264464" 3963 | }, 3964 | "dist": { 3965 | "type": "zip", 3966 | "url": "https://api.github.com/repos/symfony/stopwatch/zipball/9aa0b51889c01bca474853ef76e9394b02264464", 3967 | "reference": "9aa0b51889c01bca474853ef76e9394b02264464", 3968 | "shasum": "" 3969 | }, 3970 | "require": { 3971 | "php": ">=5.5.9" 3972 | }, 3973 | "type": "library", 3974 | "extra": { 3975 | "branch-alias": { 3976 | "dev-master": "3.2-dev" 3977 | } 3978 | }, 3979 | "autoload": { 3980 | "psr-4": { 3981 | "Symfony\\Component\\Stopwatch\\": "" 3982 | }, 3983 | "exclude-from-classmap": [ 3984 | "/Tests/" 3985 | ] 3986 | }, 3987 | "notification-url": "https://packagist.org/downloads/", 3988 | "license": [ 3989 | "MIT" 3990 | ], 3991 | "authors": [ 3992 | { 3993 | "name": "Fabien Potencier", 3994 | "email": "fabien@symfony.com" 3995 | }, 3996 | { 3997 | "name": "Symfony Community", 3998 | "homepage": "https://symfony.com/contributors" 3999 | } 4000 | ], 4001 | "description": "Symfony Stopwatch Component", 4002 | "homepage": "https://symfony.com", 4003 | "time": "2017-01-02 20:32:22" 4004 | }, 4005 | { 4006 | "name": "symfony/yaml", 4007 | "version": "v3.2.4", 4008 | "source": { 4009 | "type": "git", 4010 | "url": "https://github.com/symfony/yaml.git", 4011 | "reference": "9724c684646fcb5387d579b4bfaa63ee0b0c64c8" 4012 | }, 4013 | "dist": { 4014 | "type": "zip", 4015 | "url": "https://api.github.com/repos/symfony/yaml/zipball/9724c684646fcb5387d579b4bfaa63ee0b0c64c8", 4016 | "reference": "9724c684646fcb5387d579b4bfaa63ee0b0c64c8", 4017 | "shasum": "" 4018 | }, 4019 | "require": { 4020 | "php": ">=5.5.9" 4021 | }, 4022 | "require-dev": { 4023 | "symfony/console": "~2.8|~3.0" 4024 | }, 4025 | "suggest": { 4026 | "symfony/console": "For validating YAML files using the lint command" 4027 | }, 4028 | "type": "library", 4029 | "extra": { 4030 | "branch-alias": { 4031 | "dev-master": "3.2-dev" 4032 | } 4033 | }, 4034 | "autoload": { 4035 | "psr-4": { 4036 | "Symfony\\Component\\Yaml\\": "" 4037 | }, 4038 | "exclude-from-classmap": [ 4039 | "/Tests/" 4040 | ] 4041 | }, 4042 | "notification-url": "https://packagist.org/downloads/", 4043 | "license": [ 4044 | "MIT" 4045 | ], 4046 | "authors": [ 4047 | { 4048 | "name": "Fabien Potencier", 4049 | "email": "fabien@symfony.com" 4050 | }, 4051 | { 4052 | "name": "Symfony Community", 4053 | "homepage": "https://symfony.com/contributors" 4054 | } 4055 | ], 4056 | "description": "Symfony Yaml Component", 4057 | "homepage": "https://symfony.com", 4058 | "time": "2017-02-16 22:46:52" 4059 | }, 4060 | { 4061 | "name": "webmozart/assert", 4062 | "version": "1.2.0", 4063 | "source": { 4064 | "type": "git", 4065 | "url": "https://github.com/webmozart/assert.git", 4066 | "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" 4067 | }, 4068 | "dist": { 4069 | "type": "zip", 4070 | "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", 4071 | "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", 4072 | "shasum": "" 4073 | }, 4074 | "require": { 4075 | "php": "^5.3.3 || ^7.0" 4076 | }, 4077 | "require-dev": { 4078 | "phpunit/phpunit": "^4.6", 4079 | "sebastian/version": "^1.0.1" 4080 | }, 4081 | "type": "library", 4082 | "extra": { 4083 | "branch-alias": { 4084 | "dev-master": "1.3-dev" 4085 | } 4086 | }, 4087 | "autoload": { 4088 | "psr-4": { 4089 | "Webmozart\\Assert\\": "src/" 4090 | } 4091 | }, 4092 | "notification-url": "https://packagist.org/downloads/", 4093 | "license": [ 4094 | "MIT" 4095 | ], 4096 | "authors": [ 4097 | { 4098 | "name": "Bernhard Schussek", 4099 | "email": "bschussek@gmail.com" 4100 | } 4101 | ], 4102 | "description": "Assertions to validate method input/output with nice error messages.", 4103 | "keywords": [ 4104 | "assert", 4105 | "check", 4106 | "validate" 4107 | ], 4108 | "time": "2016-11-23 20:04:58" 4109 | } 4110 | ], 4111 | "aliases": [], 4112 | "minimum-stability": "stable", 4113 | "stability-flags": [], 4114 | "prefer-stable": false, 4115 | "prefer-lowest": false, 4116 | "platform": { 4117 | "php": ">=5.6" 4118 | }, 4119 | "platform-dev": [] 4120 | } 4121 | --------------------------------------------------------------------------------