├── .gitignore ├── .travis.yml ├── src ├── Exceptions │ └── InvalidUserSettingsFieldUsed.php ├── Helpers │ └── BitwiseConverter.php ├── LaravelUserSettingsServiceProvider.php └── Traits │ └── HasSettingsTrait.php ├── tests ├── BitwiseSettingsListGeneratedTest.php ├── User.php ├── EmptyUserCreatedTest.php ├── InvalidSettingThrowsExceptionTest.php ├── QueryBuilderMacrosAreWorkingTest.php ├── TestCase.php └── UserSettingsAreStoredTest.php ├── config └── user-settings.php ├── database └── migrations │ └── default_add_settings_column_to_users_table.php ├── composer.json ├── phpunit.xml ├── LICENSE ├── README.md └── composer.lock /.gitignore: -------------------------------------------------------------------------------- 1 | /vendor 2 | /build -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: php 2 | php: 3 | - 7.1 4 | - 7.2 5 | before_install: 6 | - travis_retry composer self-update 7 | - composer install 8 | script: phpunit -------------------------------------------------------------------------------- /src/Exceptions/InvalidUserSettingsFieldUsed.php: -------------------------------------------------------------------------------- 1 | refreshTestUser(); 10 | } 11 | 12 | /** @test */ 13 | public function an_empty_user_exists() 14 | { 15 | $this->assertNotNull($this->testUser); 16 | $this->assertEquals(0, $this->testUser->settings); 17 | } 18 | 19 | } -------------------------------------------------------------------------------- /config/user-settings.php: -------------------------------------------------------------------------------- 1 | 'settings', 9 | 10 | /** 11 | * List of the default settings. 12 | * Can be customized per entity by overriding the getSettingFields() method. 13 | * @NOTE: Never ever, ever change the order of the fields below. The order is important. 14 | */ 15 | 'setting_fields' => [], 16 | ]; -------------------------------------------------------------------------------- /database/migrations/default_add_settings_column_to_users_table.php: -------------------------------------------------------------------------------- 1 | bigInteger('settings')->unsigned()->before('created_at')->default(0); 12 | }); 13 | } 14 | 15 | public function down() 16 | { 17 | Schema::table('users', function (Blueprint $table) { 18 | $table->dropColumn('settings'); 19 | }); 20 | } 21 | } -------------------------------------------------------------------------------- /tests/User.php: -------------------------------------------------------------------------------- 1 | refreshTestUser(); 12 | } 13 | 14 | /** @test */ 15 | public function validate_generated_bitwise_list() 16 | { 17 | $user = $this->testUser; 18 | $config = $user->getSettingFields(); 19 | 20 | $this->assertTrue(count($config) === 3); 21 | 22 | $bitwiseList = BitwiseConverter::arrayToBitwiseList($config); 23 | 24 | $this->assertTrue(count($bitwiseList) === 3); 25 | 26 | $this->assertEquals(2, $bitwiseList['test_setting']); 27 | $this->assertEquals(4, $bitwiseList['test_setting_2']); 28 | $this->assertEquals(8, $bitwiseList['test_setting_3']); 29 | } 30 | } -------------------------------------------------------------------------------- /tests/InvalidSettingThrowsExceptionTest.php: -------------------------------------------------------------------------------- 1 | refreshTestUser(); 12 | } 13 | 14 | /** @test */ 15 | public function invalid_setting_throws_exception() 16 | { 17 | $user = $this->testUser; 18 | 19 | try { 20 | $user->setSetting('invalid_settings_field', true); 21 | }catch (\Exception $ex){ 22 | $this->assertInstanceOf(InvalidUserSettingsFieldUsed::class, $ex); 23 | } 24 | 25 | try { 26 | $user->setting('invalid_settings_field', true); 27 | }catch (\Exception $ex){ 28 | $this->assertInstanceOf(InvalidUserSettingsFieldUsed::class, $ex); 29 | } 30 | } 31 | 32 | 33 | } 34 | -------------------------------------------------------------------------------- /phpunit.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 14 | tests 15 | 16 | 17 | 18 | 19 | src/ 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Zander van der Meer 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. -------------------------------------------------------------------------------- /src/LaravelUserSettingsServiceProvider.php: -------------------------------------------------------------------------------- 1 | publishes([ 17 | __DIR__ . '/../config/user-settings.php' => config_path('user-settings.php'), 18 | ], 'config'); 19 | 20 | if (! class_exists('AddSettingsColumnToUsersTable')) { 21 | $timestamp = date('Y_m_d_His', time()); 22 | $this->publishes([ 23 | __DIR__ . '/../database/migrations/default_add_settings_column_to_users_table.php' => $this->app->databasePath() . "/migrations/{$timestamp}_add_settings_column_to_users_table.php", 24 | ], 'migrations'); 25 | } 26 | } 27 | 28 | /** 29 | * Register the application services. 30 | * 31 | * @return void 32 | */ 33 | public function register() 34 | { 35 | // 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /tests/QueryBuilderMacrosAreWorkingTest.php: -------------------------------------------------------------------------------- 1 | refreshTestUser(); 10 | } 11 | 12 | /** @test */ 13 | public function where_setting_macro_is_available() { 14 | $result = (new User())->whereSetting('test_setting')->first(); 15 | $this->assertNull($result); 16 | } 17 | 18 | /** @test */ 19 | public function where_setting_macro_is_working() { 20 | $user = $this->testUser; 21 | $user->setting('test_setting', true); 22 | $user->setting('test_setting_3', true); 23 | $user->save(); 24 | 25 | $this->assertNotNull( 26 | (new User())->whereSetting('test_setting')->first() 27 | ); 28 | 29 | $this->assertNull( 30 | (new User())->whereSetting('test_setting_2')->first() 31 | ); 32 | 33 | $this->assertNotNull( 34 | (new User())->whereSetting('test_setting_3')->first() 35 | ); 36 | 37 | $this->assertNotNull( 38 | (new User())->whereSetting('test_setting_3') 39 | ->whereSetting('test_setting') 40 | ->first() 41 | ); 42 | 43 | $this->assertNull( 44 | (new User())->whereSetting('test_setting_3') 45 | ->whereSetting('test_setting_2') 46 | ->first() 47 | ); 48 | 49 | $user = (new User())->where(function ($query) { 50 | $query->whereSetting('test_setting'); 51 | })->orWhere(function ($query) { 52 | $query->whereSetting('test_setting_2'); 53 | })->first(); 54 | $this->assertNotNull($user); 55 | } 56 | 57 | } -------------------------------------------------------------------------------- /tests/TestCase.php: -------------------------------------------------------------------------------- 1 | setUpDatabase($this->app); 20 | 21 | $this->testUser = (new User())->first(); 22 | } 23 | /** 24 | * @param \Illuminate\Foundation\Application $app 25 | * 26 | * @return array 27 | */ 28 | protected function getPackageProviders($app) 29 | { 30 | return [ 31 | LaravelUserSettingsServiceProvider::class, 32 | ]; 33 | } 34 | /** 35 | * Set up the environment. 36 | * 37 | * @param \Illuminate\Foundation\Application $app 38 | */ 39 | protected function getEnvironmentSetUp($app) 40 | { 41 | $app['config']->set('database.default', 'sqlite'); 42 | $app['config']->set('database.connections.sqlite', [ 43 | 'driver' => 'sqlite', 44 | 'database' => ':memory:', 45 | 'prefix' => '', 46 | ]); 47 | $app['config']->set('view.paths', [__DIR__.'/resources/views']); 48 | $app['config']->set('user-settings.setting_fields', [ 49 | 'test_setting', 50 | 'test_setting_2', 51 | 'test_setting_3', 52 | ]); 53 | } 54 | /** 55 | * Set up the database. 56 | * 57 | * @param \Illuminate\Foundation\Application $app 58 | */ 59 | protected function setUpDatabase($app) 60 | { 61 | $app['db']->connection()->getSchemaBuilder()->create('users', function (Blueprint $table) { 62 | $table->increments('id'); 63 | $table->string('email'); 64 | $table->timestamps(); 65 | }); 66 | include_once __DIR__.'/../database/migrations/default_add_settings_column_to_users_table.php'; 67 | (new \AddSettingsColumnToUsersTable())->up(); 68 | (new User())->create(['email' => 'test@user.com']); 69 | } 70 | 71 | /** 72 | * Refresh the testUser. 73 | */ 74 | public function refreshTestUser() 75 | { 76 | $this->testUser = $this->testUser->fresh(); 77 | } 78 | } -------------------------------------------------------------------------------- /tests/UserSettingsAreStoredTest.php: -------------------------------------------------------------------------------- 1 | refreshTestUser(); 10 | } 11 | 12 | /** @test */ 13 | public function settings_are_stored() 14 | { 15 | $user = $this->testUser; 16 | 17 | $this->assertFalse($user->setting('test_setting')); 18 | $this->assertFalse($user->getSetting('test_setting')); 19 | 20 | $user->setting('test_setting', true); 21 | $this->assertTrue($user->setting('test_setting')); 22 | $this->assertTrue($user->getSetting('test_setting')); 23 | 24 | $user->setting('test_setting', false); 25 | $this->assertFalse($user->setting('test_setting')); 26 | $this->assertFalse($user->getSetting('test_setting')); 27 | 28 | $user->save(); 29 | $this->refreshTestUser(); 30 | $user = $this->testUser; 31 | 32 | $this->assertFalse($user->setting('test_setting')); 33 | $this->assertFalse($user->getSetting('test_setting')); 34 | 35 | $user->setting('test_setting', true); 36 | $this->assertTrue($user->setting('test_setting')); 37 | $this->assertTrue($user->getSetting('test_setting')); 38 | 39 | $user->setting('test_setting', false); 40 | $this->assertFalse($user->setting('test_setting')); 41 | $this->assertFalse($user->getSetting('test_setting')); 42 | 43 | $user->setSetting('test_setting', true); 44 | $user->save(); 45 | $this->refreshTestUser(); 46 | $this->assertTrue($this->testUser->getSetting('test_setting')); 47 | } 48 | 49 | /** @test */ 50 | public function array_settings_are_stored() 51 | { 52 | $user = $this->testUser; 53 | 54 | $user->setMultipleSettings([ 55 | 'test_setting' => true, 56 | 'test_setting_2' => false, 57 | ]); 58 | $user->save(); 59 | 60 | $this->assertTrue($user->setting('test_setting')); 61 | $this->assertFalse($user->setting('test_setting_2')); 62 | $this->assertFalse($user->setting('test_setting_3')); 63 | } 64 | 65 | /** @test */ 66 | public function default_values_are_returned() 67 | { 68 | $user = $this->testUser; 69 | 70 | $this->assertFalse($user->getSetting('test_setting_3')); 71 | $this->assertEquals('test_return_value', $user->getSetting('test_setting_3', 'test_return_value')); 72 | } 73 | 74 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Laravel user settings 2 | > Simple and persistent boolean settings per user. 3 | 4 | [![Build Status](https://travis-ci.org/Internetcodehq/laravel-user-settings.svg?branch=master)](https://travis-ci.org/Internetcodehq/laravel-user-settings) 5 | [![MIT Licence](https://badges.frapsoft.com/os/mit/mit.svg?v=103)](https://opensource.org/licenses/mit-license.php) 6 | [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) 7 | 8 | 9 | This package has been developed to help you store simple boolean settings (true/false or yes/no settings) per user. 10 | 11 | ### Features 12 | - Only 1 additional column for multiple settings. 13 | - Settings are stored as binary. 14 | - Can be used on all models. 15 | - Customizable. 16 | - Fast. 17 | 18 | ### Background 19 | Laravel user settings only requires 1 additional column (bigint) per entity. All settings are stored in this column as a binary value. By using the [bitwise operators](http://php.net/manual/en/language.operators.bitwise.php) in PHP we are able to store multiple settings in a single column without extra coding/decoding or multiple queries. 20 | 21 | Searching for enabled settings is supported by MySQL [as can be found here.](https://dev.mysql.com/doc/refman/8.0/en/bit-functions.html) 22 | 23 | ### Usage 24 | **Get a setting** 25 | ```php 26 | $user->setting('my_setting'); 27 | ``` 28 | OR 29 | ```php 30 | $user->getSetting('my_setting'); 31 | ``` 32 | 33 | **Set a setting** 34 | ```php 35 | $user->setting('my_setting', true); 36 | ``` 37 | OR 38 | ```php 39 | $user->setSetting('my_setting', true); 40 | ``` 41 | 42 | **Overriding a list of allowed setting for the entity.** 43 | A global list of settings can be found in the `user-settings.php` config file, if you want to override these settings per model you can override the following method: 44 | ```php 45 | /** 46 | * getSettingFields function. 47 | * Get the default possible settings for the user. Can be overwritten 48 | * in the user model. 49 | * 50 | * @return array 51 | */ 52 | public function getSettingFields() 53 | { 54 | return config('user-settings.setting_fields', []); 55 | } 56 | ``` 57 | 58 | **Searching for settings in a query** 59 | ```php 60 | $user = (new User())->whereSetting('my_setting')->first(); 61 | ``` 62 | 63 | **Set multiple settings at once** 64 | ```php 65 | $user->setMultipleSettings([ 66 | 'my_setting' => true, 67 | 'my_setting_2' => false, 68 | ]); 69 | $user->save(); 70 | ``` 71 | 72 | ### Installation 73 | First of all you should require the package using composer: 74 | ``` 75 | composer require internetcode/laravel-user-settings 76 | ``` 77 | 78 | Afterwards you can add the service provider to your providers array. This is optional since it is already auto discovered by Laravel. 79 | ```php 80 | 'providers' => [ 81 | 82 | /* 83 | * Laravel Framework Service Providers... 84 | */ 85 | Illuminate\Auth\AuthServiceProvider::class, 86 | 87 | ... 88 | 89 | Internetcode\LaravelUserSettings\LaravelUserSettingsServiceProvider::class, 90 | ], 91 | ``` 92 | 93 | Publish the config and migration files. 94 | ``` 95 | php artisan vendor:publish --tag=config 96 | php artisan vendor:publish --tag=migrations 97 | ``` 98 | Please note that the newly created migration file defaults to a `settings` column on the user model. Feel free to change that, or add multiple tables. 99 | 100 | On the models where you want to use the settings add the `HasSettingsTrait` trait. 101 | ```php 102 | validateKey($key); 23 | 24 | if($value === null) { 25 | return $this->getSetting($key); 26 | } 27 | return $this->setSetting($key, $value); 28 | } 29 | 30 | /** 31 | * setMultipleSettings function. 32 | * Update multiple setting using a multi dimensional array. 33 | * 34 | * @param array $settings 35 | * 36 | * @return array 37 | * @throws InvalidUserSettingsFieldUsed 38 | */ 39 | public function setMultipleSettings(array $settings) 40 | { 41 | $result = []; 42 | foreach ( $settings as $setting => $value ) { 43 | $result[] = $this->setSetting($setting, $value); 44 | } 45 | return $result; 46 | } 47 | 48 | /** 49 | * setSetting function. 50 | * Update the setting in the table. 51 | * 52 | * @param $key 53 | * @param $value 54 | * 55 | * @return bool 56 | * @throws InvalidUserSettingsFieldUsed 57 | */ 58 | public function setSetting($key, $value) 59 | { 60 | $this->validateKey($key); 61 | 62 | $currentSettings = $this->getAttribute($this->getSettingsColumn()); 63 | $bitwiseList = $this->getBitwiseList(); 64 | 65 | // First check if the bit is set in the current column. 66 | if($this->getSetting($key) && !$value) { 67 | $currentSettings = $currentSettings ^ $bitwiseList[$key]; 68 | } else if(!$this->getSetting($key)&& $value ) { 69 | $currentSettings = $currentSettings | $bitwiseList[$key]; 70 | } 71 | 72 | $this->setAttribute($this->getSettingsColumn(), $currentSettings); 73 | return $this->getSetting($key); 74 | } 75 | 76 | /** 77 | * getSetting function. 78 | * Returns a bool if the setting is true. 79 | * 80 | * @param $key 81 | * @param null $default 82 | * 83 | * @return bool 84 | * @throws InvalidUserSettingsFieldUsed 85 | */ 86 | public function getSetting($key, $default = null) 87 | { 88 | $this->validateKey($key); 89 | $currentSetting = (integer)$this->getAttribute($this->getSettingsColumn()); 90 | $bitwiseList = $this->getBitwiseList(); 91 | 92 | if(($currentSetting & $bitwiseList[$key]) > 1) { 93 | return true; 94 | } 95 | if($default !== null) { 96 | return $default; 97 | } 98 | return false; 99 | } 100 | 101 | /** 102 | * getSettingFields function. 103 | * Get the default possible settings for the user. Can be overwritten 104 | * in the user model. 105 | * 106 | * @return array 107 | */ 108 | public function getSettingFields() 109 | { 110 | return config('user-settings.setting_fields', []); 111 | } 112 | 113 | /** 114 | * getSettingsColumn function. 115 | * Returns the default settings column used for this model. 116 | * This can be overwritten in the user model. 117 | * 118 | * @return string 119 | */ 120 | public function getSettingsColumn() 121 | { 122 | return config('user-settings.settings_column', 'settings'); 123 | } 124 | 125 | /** 126 | * scopeWhereSetting function. 127 | * Adds a '->whereSetting()' method to filter on enabled settings in the database. 128 | * 129 | * @param $query 130 | * @param $key 131 | * 132 | * @return mixed 133 | * @throws InvalidUserSettingsFieldUsed 134 | */ 135 | public function scopeWhereSetting($query, $key) 136 | { 137 | $this->validateKey($key); 138 | $bit = $this->getBitwiseList()[$key]; 139 | 140 | return $query->where($this->getSettingsColumn(), '&', $bit); 141 | } 142 | 143 | /** 144 | * getBitwiseList function. 145 | * Get the converted list of settings and bits 146 | * 147 | * @return array 148 | */ 149 | protected function getBitwiseList() 150 | { 151 | return BitwiseConverter::arrayToBitwiseList($this->getSettingFields()); 152 | } 153 | 154 | /** 155 | * validateKey function. 156 | * Validate and make sure if the key exists in the bitwise list. 157 | * 158 | * @param $key 159 | * 160 | * @return void 161 | * @throws InvalidUserSettingsFieldUsed 162 | */ 163 | protected function validateKey($key) 164 | { 165 | if(!isset($this->getBitwiseList()[$key])) { 166 | /** @noinspection PhpUnhandledExceptionInspection */ 167 | throw new InvalidUserSettingsFieldUsed("Invalid settings field key given, this object is not allowed to use this key."); 168 | } 169 | } 170 | } 171 | -------------------------------------------------------------------------------- /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": "2f0b22c88f7a2532b1b83833b6edce43", 8 | "content-hash": "c291bae70a77fa364bcaf1740f51455e", 9 | "packages": [], 10 | "packages-dev": [ 11 | { 12 | "name": "doctrine/inflector", 13 | "version": "v1.3.0", 14 | "source": { 15 | "type": "git", 16 | "url": "https://github.com/doctrine/inflector.git", 17 | "reference": "5527a48b7313d15261292c149e55e26eae771b0a" 18 | }, 19 | "dist": { 20 | "type": "zip", 21 | "url": "https://api.github.com/repos/doctrine/inflector/zipball/5527a48b7313d15261292c149e55e26eae771b0a", 22 | "reference": "5527a48b7313d15261292c149e55e26eae771b0a", 23 | "shasum": "" 24 | }, 25 | "require": { 26 | "php": "^7.1" 27 | }, 28 | "require-dev": { 29 | "phpunit/phpunit": "^6.2" 30 | }, 31 | "type": "library", 32 | "extra": { 33 | "branch-alias": { 34 | "dev-master": "1.3.x-dev" 35 | } 36 | }, 37 | "autoload": { 38 | "psr-4": { 39 | "Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector" 40 | } 41 | }, 42 | "notification-url": "https://packagist.org/downloads/", 43 | "license": [ 44 | "MIT" 45 | ], 46 | "authors": [ 47 | { 48 | "name": "Roman Borschel", 49 | "email": "roman@code-factory.org" 50 | }, 51 | { 52 | "name": "Benjamin Eberlei", 53 | "email": "kontakt@beberlei.de" 54 | }, 55 | { 56 | "name": "Guilherme Blanco", 57 | "email": "guilhermeblanco@gmail.com" 58 | }, 59 | { 60 | "name": "Jonathan Wage", 61 | "email": "jonwage@gmail.com" 62 | }, 63 | { 64 | "name": "Johannes Schmitt", 65 | "email": "schmittjoh@gmail.com" 66 | } 67 | ], 68 | "description": "Common String Manipulations with regard to casing and singular/plural rules.", 69 | "homepage": "http://www.doctrine-project.org", 70 | "keywords": [ 71 | "inflection", 72 | "pluralize", 73 | "singularize", 74 | "string" 75 | ], 76 | "time": "2018-01-09 20:05:19" 77 | }, 78 | { 79 | "name": "doctrine/instantiator", 80 | "version": "1.1.0", 81 | "source": { 82 | "type": "git", 83 | "url": "https://github.com/doctrine/instantiator.git", 84 | "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda" 85 | }, 86 | "dist": { 87 | "type": "zip", 88 | "url": "https://api.github.com/repos/doctrine/instantiator/zipball/185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda", 89 | "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda", 90 | "shasum": "" 91 | }, 92 | "require": { 93 | "php": "^7.1" 94 | }, 95 | "require-dev": { 96 | "athletic/athletic": "~0.1.8", 97 | "ext-pdo": "*", 98 | "ext-phar": "*", 99 | "phpunit/phpunit": "^6.2.3", 100 | "squizlabs/php_codesniffer": "^3.0.2" 101 | }, 102 | "type": "library", 103 | "extra": { 104 | "branch-alias": { 105 | "dev-master": "1.2.x-dev" 106 | } 107 | }, 108 | "autoload": { 109 | "psr-4": { 110 | "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" 111 | } 112 | }, 113 | "notification-url": "https://packagist.org/downloads/", 114 | "license": [ 115 | "MIT" 116 | ], 117 | "authors": [ 118 | { 119 | "name": "Marco Pivetta", 120 | "email": "ocramius@gmail.com", 121 | "homepage": "http://ocramius.github.com/" 122 | } 123 | ], 124 | "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", 125 | "homepage": "https://github.com/doctrine/instantiator", 126 | "keywords": [ 127 | "constructor", 128 | "instantiate" 129 | ], 130 | "time": "2017-07-22 11:58:36" 131 | }, 132 | { 133 | "name": "doctrine/lexer", 134 | "version": "v1.0.1", 135 | "source": { 136 | "type": "git", 137 | "url": "https://github.com/doctrine/lexer.git", 138 | "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c" 139 | }, 140 | "dist": { 141 | "type": "zip", 142 | "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c", 143 | "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c", 144 | "shasum": "" 145 | }, 146 | "require": { 147 | "php": ">=5.3.2" 148 | }, 149 | "type": "library", 150 | "extra": { 151 | "branch-alias": { 152 | "dev-master": "1.0.x-dev" 153 | } 154 | }, 155 | "autoload": { 156 | "psr-0": { 157 | "Doctrine\\Common\\Lexer\\": "lib/" 158 | } 159 | }, 160 | "notification-url": "https://packagist.org/downloads/", 161 | "license": [ 162 | "MIT" 163 | ], 164 | "authors": [ 165 | { 166 | "name": "Roman Borschel", 167 | "email": "roman@code-factory.org" 168 | }, 169 | { 170 | "name": "Guilherme Blanco", 171 | "email": "guilhermeblanco@gmail.com" 172 | }, 173 | { 174 | "name": "Johannes Schmitt", 175 | "email": "schmittjoh@gmail.com" 176 | } 177 | ], 178 | "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", 179 | "homepage": "http://www.doctrine-project.org", 180 | "keywords": [ 181 | "lexer", 182 | "parser" 183 | ], 184 | "time": "2014-09-09 13:34:57" 185 | }, 186 | { 187 | "name": "dragonmantank/cron-expression", 188 | "version": "v2.2.0", 189 | "source": { 190 | "type": "git", 191 | "url": "https://github.com/dragonmantank/cron-expression.git", 192 | "reference": "92a2c3768d50e21a1f26a53cb795ce72806266c5" 193 | }, 194 | "dist": { 195 | "type": "zip", 196 | "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/92a2c3768d50e21a1f26a53cb795ce72806266c5", 197 | "reference": "92a2c3768d50e21a1f26a53cb795ce72806266c5", 198 | "shasum": "" 199 | }, 200 | "require": { 201 | "php": ">=7.0.0" 202 | }, 203 | "require-dev": { 204 | "phpunit/phpunit": "~6.4" 205 | }, 206 | "type": "library", 207 | "autoload": { 208 | "psr-4": { 209 | "Cron\\": "src/Cron/" 210 | } 211 | }, 212 | "notification-url": "https://packagist.org/downloads/", 213 | "license": [ 214 | "MIT" 215 | ], 216 | "authors": [ 217 | { 218 | "name": "Michael Dowling", 219 | "email": "mtdowling@gmail.com", 220 | "homepage": "https://github.com/mtdowling" 221 | }, 222 | { 223 | "name": "Chris Tankersley", 224 | "email": "chris@ctankersley.com", 225 | "homepage": "https://github.com/dragonmantank" 226 | } 227 | ], 228 | "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", 229 | "keywords": [ 230 | "cron", 231 | "schedule" 232 | ], 233 | "time": "2018-06-06 03:12:17" 234 | }, 235 | { 236 | "name": "egulias/email-validator", 237 | "version": "2.1.4", 238 | "source": { 239 | "type": "git", 240 | "url": "https://github.com/egulias/EmailValidator.git", 241 | "reference": "8790f594151ca6a2010c6218e09d96df67173ad3" 242 | }, 243 | "dist": { 244 | "type": "zip", 245 | "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/8790f594151ca6a2010c6218e09d96df67173ad3", 246 | "reference": "8790f594151ca6a2010c6218e09d96df67173ad3", 247 | "shasum": "" 248 | }, 249 | "require": { 250 | "doctrine/lexer": "^1.0.1", 251 | "php": ">= 5.5" 252 | }, 253 | "require-dev": { 254 | "dominicsayers/isemail": "dev-master", 255 | "phpunit/phpunit": "^4.8.35||^5.7||^6.0", 256 | "satooshi/php-coveralls": "^1.0.1" 257 | }, 258 | "suggest": { 259 | "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" 260 | }, 261 | "type": "library", 262 | "extra": { 263 | "branch-alias": { 264 | "dev-master": "2.0.x-dev" 265 | } 266 | }, 267 | "autoload": { 268 | "psr-4": { 269 | "Egulias\\EmailValidator\\": "EmailValidator" 270 | } 271 | }, 272 | "notification-url": "https://packagist.org/downloads/", 273 | "license": [ 274 | "MIT" 275 | ], 276 | "authors": [ 277 | { 278 | "name": "Eduardo Gulias Davis" 279 | } 280 | ], 281 | "description": "A library for validating emails against several RFCs", 282 | "homepage": "https://github.com/egulias/EmailValidator", 283 | "keywords": [ 284 | "email", 285 | "emailvalidation", 286 | "emailvalidator", 287 | "validation", 288 | "validator" 289 | ], 290 | "time": "2018-04-10 10:11:19" 291 | }, 292 | { 293 | "name": "erusev/parsedown", 294 | "version": "1.7.1", 295 | "source": { 296 | "type": "git", 297 | "url": "https://github.com/erusev/parsedown.git", 298 | "reference": "92e9c27ba0e74b8b028b111d1b6f956a15c01fc1" 299 | }, 300 | "dist": { 301 | "type": "zip", 302 | "url": "https://api.github.com/repos/erusev/parsedown/zipball/92e9c27ba0e74b8b028b111d1b6f956a15c01fc1", 303 | "reference": "92e9c27ba0e74b8b028b111d1b6f956a15c01fc1", 304 | "shasum": "" 305 | }, 306 | "require": { 307 | "ext-mbstring": "*", 308 | "php": ">=5.3.0" 309 | }, 310 | "require-dev": { 311 | "phpunit/phpunit": "^4.8.35" 312 | }, 313 | "type": "library", 314 | "autoload": { 315 | "psr-0": { 316 | "Parsedown": "" 317 | } 318 | }, 319 | "notification-url": "https://packagist.org/downloads/", 320 | "license": [ 321 | "MIT" 322 | ], 323 | "authors": [ 324 | { 325 | "name": "Emanuil Rusev", 326 | "email": "hello@erusev.com", 327 | "homepage": "http://erusev.com" 328 | } 329 | ], 330 | "description": "Parser for Markdown.", 331 | "homepage": "http://parsedown.org", 332 | "keywords": [ 333 | "markdown", 334 | "parser" 335 | ], 336 | "time": "2018-03-08 01:11:30" 337 | }, 338 | { 339 | "name": "fzaninotto/faker", 340 | "version": "v1.7.1", 341 | "source": { 342 | "type": "git", 343 | "url": "https://github.com/fzaninotto/Faker.git", 344 | "reference": "d3ed4cc37051c1ca52d22d76b437d14809fc7e0d" 345 | }, 346 | "dist": { 347 | "type": "zip", 348 | "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/d3ed4cc37051c1ca52d22d76b437d14809fc7e0d", 349 | "reference": "d3ed4cc37051c1ca52d22d76b437d14809fc7e0d", 350 | "shasum": "" 351 | }, 352 | "require": { 353 | "php": "^5.3.3 || ^7.0" 354 | }, 355 | "require-dev": { 356 | "ext-intl": "*", 357 | "phpunit/phpunit": "^4.0 || ^5.0", 358 | "squizlabs/php_codesniffer": "^1.5" 359 | }, 360 | "type": "library", 361 | "extra": { 362 | "branch-alias": { 363 | "dev-master": "1.8-dev" 364 | } 365 | }, 366 | "autoload": { 367 | "psr-4": { 368 | "Faker\\": "src/Faker/" 369 | } 370 | }, 371 | "notification-url": "https://packagist.org/downloads/", 372 | "license": [ 373 | "MIT" 374 | ], 375 | "authors": [ 376 | { 377 | "name": "François Zaninotto" 378 | } 379 | ], 380 | "description": "Faker is a PHP library that generates fake data for you.", 381 | "keywords": [ 382 | "data", 383 | "faker", 384 | "fixtures" 385 | ], 386 | "time": "2017-08-15 16:48:10" 387 | }, 388 | { 389 | "name": "laravel/framework", 390 | "version": "v5.6.26", 391 | "source": { 392 | "type": "git", 393 | "url": "https://github.com/laravel/framework.git", 394 | "reference": "7047df295e77cecb6a2f84736a732af66cc6789c" 395 | }, 396 | "dist": { 397 | "type": "zip", 398 | "url": "https://api.github.com/repos/laravel/framework/zipball/7047df295e77cecb6a2f84736a732af66cc6789c", 399 | "reference": "7047df295e77cecb6a2f84736a732af66cc6789c", 400 | "shasum": "" 401 | }, 402 | "require": { 403 | "doctrine/inflector": "~1.1", 404 | "dragonmantank/cron-expression": "~2.0", 405 | "erusev/parsedown": "~1.7", 406 | "ext-mbstring": "*", 407 | "ext-openssl": "*", 408 | "league/flysystem": "^1.0.8", 409 | "monolog/monolog": "~1.12", 410 | "nesbot/carbon": "1.25.*", 411 | "php": "^7.1.3", 412 | "psr/container": "~1.0", 413 | "psr/simple-cache": "^1.0", 414 | "ramsey/uuid": "^3.7", 415 | "swiftmailer/swiftmailer": "~6.0", 416 | "symfony/console": "~4.0", 417 | "symfony/debug": "~4.0", 418 | "symfony/finder": "~4.0", 419 | "symfony/http-foundation": "~4.0", 420 | "symfony/http-kernel": "~4.0", 421 | "symfony/process": "~4.0", 422 | "symfony/routing": "~4.0", 423 | "symfony/var-dumper": "~4.0", 424 | "tijsverkoyen/css-to-inline-styles": "^2.2.1", 425 | "vlucas/phpdotenv": "~2.2" 426 | }, 427 | "conflict": { 428 | "tightenco/collect": "<5.5.33" 429 | }, 430 | "replace": { 431 | "illuminate/auth": "self.version", 432 | "illuminate/broadcasting": "self.version", 433 | "illuminate/bus": "self.version", 434 | "illuminate/cache": "self.version", 435 | "illuminate/config": "self.version", 436 | "illuminate/console": "self.version", 437 | "illuminate/container": "self.version", 438 | "illuminate/contracts": "self.version", 439 | "illuminate/cookie": "self.version", 440 | "illuminate/database": "self.version", 441 | "illuminate/encryption": "self.version", 442 | "illuminate/events": "self.version", 443 | "illuminate/filesystem": "self.version", 444 | "illuminate/hashing": "self.version", 445 | "illuminate/http": "self.version", 446 | "illuminate/log": "self.version", 447 | "illuminate/mail": "self.version", 448 | "illuminate/notifications": "self.version", 449 | "illuminate/pagination": "self.version", 450 | "illuminate/pipeline": "self.version", 451 | "illuminate/queue": "self.version", 452 | "illuminate/redis": "self.version", 453 | "illuminate/routing": "self.version", 454 | "illuminate/session": "self.version", 455 | "illuminate/support": "self.version", 456 | "illuminate/translation": "self.version", 457 | "illuminate/validation": "self.version", 458 | "illuminate/view": "self.version" 459 | }, 460 | "require-dev": { 461 | "aws/aws-sdk-php": "~3.0", 462 | "doctrine/dbal": "~2.6", 463 | "filp/whoops": "^2.1.4", 464 | "league/flysystem-cached-adapter": "~1.0", 465 | "mockery/mockery": "~1.0", 466 | "moontoast/math": "^1.1", 467 | "orchestra/testbench-core": "3.6.*", 468 | "pda/pheanstalk": "~3.0", 469 | "phpunit/phpunit": "~7.0", 470 | "predis/predis": "^1.1.1", 471 | "symfony/css-selector": "~4.0", 472 | "symfony/dom-crawler": "~4.0" 473 | }, 474 | "suggest": { 475 | "aws/aws-sdk-php": "Required to use the SQS queue driver and SES mail driver (~3.0).", 476 | "doctrine/dbal": "Required to rename columns and drop SQLite columns (~2.6).", 477 | "ext-pcntl": "Required to use all features of the queue worker.", 478 | "ext-posix": "Required to use all features of the queue worker.", 479 | "fzaninotto/faker": "Required to use the eloquent factory builder (~1.4).", 480 | "guzzlehttp/guzzle": "Required to use the Mailgun and Mandrill mail drivers and the ping methods on schedules (~6.0).", 481 | "laravel/tinker": "Required to use the tinker console command (~1.0).", 482 | "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (~1.0).", 483 | "league/flysystem-cached-adapter": "Required to use the Flysystem cache (~1.0).", 484 | "league/flysystem-rackspace": "Required to use the Flysystem Rackspace driver (~1.0).", 485 | "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (~1.0).", 486 | "nexmo/client": "Required to use the Nexmo transport (~1.0).", 487 | "pda/pheanstalk": "Required to use the beanstalk queue driver (~3.0).", 488 | "predis/predis": "Required to use the redis cache and queue drivers (~1.0).", 489 | "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (~3.0).", 490 | "symfony/css-selector": "Required to use some of the crawler integration testing tools (~4.0).", 491 | "symfony/dom-crawler": "Required to use most of the crawler integration testing tools (~4.0).", 492 | "symfony/psr-http-message-bridge": "Required to psr7 bridging features (~1.0)." 493 | }, 494 | "type": "library", 495 | "extra": { 496 | "branch-alias": { 497 | "dev-master": "5.6-dev" 498 | } 499 | }, 500 | "autoload": { 501 | "files": [ 502 | "src/Illuminate/Foundation/helpers.php", 503 | "src/Illuminate/Support/helpers.php" 504 | ], 505 | "psr-4": { 506 | "Illuminate\\": "src/Illuminate/" 507 | } 508 | }, 509 | "notification-url": "https://packagist.org/downloads/", 510 | "license": [ 511 | "MIT" 512 | ], 513 | "authors": [ 514 | { 515 | "name": "Taylor Otwell", 516 | "email": "taylor@laravel.com" 517 | } 518 | ], 519 | "description": "The Laravel Framework.", 520 | "homepage": "https://laravel.com", 521 | "keywords": [ 522 | "framework", 523 | "laravel" 524 | ], 525 | "time": "2018-06-20 14:21:11" 526 | }, 527 | { 528 | "name": "league/flysystem", 529 | "version": "1.0.45", 530 | "source": { 531 | "type": "git", 532 | "url": "https://github.com/thephpleague/flysystem.git", 533 | "reference": "a99f94e63b512d75f851b181afcdf0ee9ebef7e6" 534 | }, 535 | "dist": { 536 | "type": "zip", 537 | "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/a99f94e63b512d75f851b181afcdf0ee9ebef7e6", 538 | "reference": "a99f94e63b512d75f851b181afcdf0ee9ebef7e6", 539 | "shasum": "" 540 | }, 541 | "require": { 542 | "php": ">=5.5.9" 543 | }, 544 | "conflict": { 545 | "league/flysystem-sftp": "<1.0.6" 546 | }, 547 | "require-dev": { 548 | "ext-fileinfo": "*", 549 | "phpspec/phpspec": "^3.4", 550 | "phpunit/phpunit": "^5.7" 551 | }, 552 | "suggest": { 553 | "ext-fileinfo": "Required for MimeType", 554 | "ext-ftp": "Allows you to use FTP server storage", 555 | "ext-openssl": "Allows you to use FTPS server storage", 556 | "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2", 557 | "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3", 558 | "league/flysystem-azure": "Allows you to use Windows Azure Blob storage", 559 | "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching", 560 | "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem", 561 | "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", 562 | "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib", 563 | "league/flysystem-webdav": "Allows you to use WebDAV storage", 564 | "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter", 565 | "spatie/flysystem-dropbox": "Allows you to use Dropbox storage", 566 | "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications" 567 | }, 568 | "type": "library", 569 | "extra": { 570 | "branch-alias": { 571 | "dev-master": "1.1-dev" 572 | } 573 | }, 574 | "autoload": { 575 | "psr-4": { 576 | "League\\Flysystem\\": "src/" 577 | } 578 | }, 579 | "notification-url": "https://packagist.org/downloads/", 580 | "license": [ 581 | "MIT" 582 | ], 583 | "authors": [ 584 | { 585 | "name": "Frank de Jonge", 586 | "email": "info@frenky.net" 587 | } 588 | ], 589 | "description": "Filesystem abstraction: Many filesystems, one API.", 590 | "keywords": [ 591 | "Cloud Files", 592 | "WebDAV", 593 | "abstraction", 594 | "aws", 595 | "cloud", 596 | "copy.com", 597 | "dropbox", 598 | "file systems", 599 | "files", 600 | "filesystem", 601 | "filesystems", 602 | "ftp", 603 | "rackspace", 604 | "remote", 605 | "s3", 606 | "sftp", 607 | "storage" 608 | ], 609 | "time": "2018-05-07 08:44:23" 610 | }, 611 | { 612 | "name": "monolog/monolog", 613 | "version": "1.23.0", 614 | "source": { 615 | "type": "git", 616 | "url": "https://github.com/Seldaek/monolog.git", 617 | "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4" 618 | }, 619 | "dist": { 620 | "type": "zip", 621 | "url": "https://api.github.com/repos/Seldaek/monolog/zipball/fd8c787753b3a2ad11bc60c063cff1358a32a3b4", 622 | "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4", 623 | "shasum": "" 624 | }, 625 | "require": { 626 | "php": ">=5.3.0", 627 | "psr/log": "~1.0" 628 | }, 629 | "provide": { 630 | "psr/log-implementation": "1.0.0" 631 | }, 632 | "require-dev": { 633 | "aws/aws-sdk-php": "^2.4.9 || ^3.0", 634 | "doctrine/couchdb": "~1.0@dev", 635 | "graylog2/gelf-php": "~1.0", 636 | "jakub-onderka/php-parallel-lint": "0.9", 637 | "php-amqplib/php-amqplib": "~2.4", 638 | "php-console/php-console": "^3.1.3", 639 | "phpunit/phpunit": "~4.5", 640 | "phpunit/phpunit-mock-objects": "2.3.0", 641 | "ruflin/elastica": ">=0.90 <3.0", 642 | "sentry/sentry": "^0.13", 643 | "swiftmailer/swiftmailer": "^5.3|^6.0" 644 | }, 645 | "suggest": { 646 | "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", 647 | "doctrine/couchdb": "Allow sending log messages to a CouchDB server", 648 | "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", 649 | "ext-mongo": "Allow sending log messages to a MongoDB server", 650 | "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", 651 | "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", 652 | "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", 653 | "php-console/php-console": "Allow sending log messages to Google Chrome", 654 | "rollbar/rollbar": "Allow sending log messages to Rollbar", 655 | "ruflin/elastica": "Allow sending log messages to an Elastic Search server", 656 | "sentry/sentry": "Allow sending log messages to a Sentry server" 657 | }, 658 | "type": "library", 659 | "extra": { 660 | "branch-alias": { 661 | "dev-master": "2.0.x-dev" 662 | } 663 | }, 664 | "autoload": { 665 | "psr-4": { 666 | "Monolog\\": "src/Monolog" 667 | } 668 | }, 669 | "notification-url": "https://packagist.org/downloads/", 670 | "license": [ 671 | "MIT" 672 | ], 673 | "authors": [ 674 | { 675 | "name": "Jordi Boggiano", 676 | "email": "j.boggiano@seld.be", 677 | "homepage": "http://seld.be" 678 | } 679 | ], 680 | "description": "Sends your logs to files, sockets, inboxes, databases and various web services", 681 | "homepage": "http://github.com/Seldaek/monolog", 682 | "keywords": [ 683 | "log", 684 | "logging", 685 | "psr-3" 686 | ], 687 | "time": "2017-06-19 01:22:40" 688 | }, 689 | { 690 | "name": "myclabs/deep-copy", 691 | "version": "1.8.1", 692 | "source": { 693 | "type": "git", 694 | "url": "https://github.com/myclabs/DeepCopy.git", 695 | "reference": "3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8" 696 | }, 697 | "dist": { 698 | "type": "zip", 699 | "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8", 700 | "reference": "3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8", 701 | "shasum": "" 702 | }, 703 | "require": { 704 | "php": "^7.1" 705 | }, 706 | "replace": { 707 | "myclabs/deep-copy": "self.version" 708 | }, 709 | "require-dev": { 710 | "doctrine/collections": "^1.0", 711 | "doctrine/common": "^2.6", 712 | "phpunit/phpunit": "^7.1" 713 | }, 714 | "type": "library", 715 | "autoload": { 716 | "psr-4": { 717 | "DeepCopy\\": "src/DeepCopy/" 718 | }, 719 | "files": [ 720 | "src/DeepCopy/deep_copy.php" 721 | ] 722 | }, 723 | "notification-url": "https://packagist.org/downloads/", 724 | "license": [ 725 | "MIT" 726 | ], 727 | "description": "Create deep copies (clones) of your objects", 728 | "keywords": [ 729 | "clone", 730 | "copy", 731 | "duplicate", 732 | "object", 733 | "object graph" 734 | ], 735 | "time": "2018-06-11 23:09:50" 736 | }, 737 | { 738 | "name": "nesbot/carbon", 739 | "version": "1.25.0", 740 | "source": { 741 | "type": "git", 742 | "url": "https://github.com/briannesbitt/Carbon.git", 743 | "reference": "cbcf13da0b531767e39eb86e9687f5deba9857b4" 744 | }, 745 | "dist": { 746 | "type": "zip", 747 | "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/cbcf13da0b531767e39eb86e9687f5deba9857b4", 748 | "reference": "cbcf13da0b531767e39eb86e9687f5deba9857b4", 749 | "shasum": "" 750 | }, 751 | "require": { 752 | "php": ">=5.3.9", 753 | "symfony/translation": "~2.6 || ~3.0 || ~4.0" 754 | }, 755 | "require-dev": { 756 | "friendsofphp/php-cs-fixer": "~2", 757 | "phpunit/phpunit": "^4.8.35 || ^5.7" 758 | }, 759 | "type": "library", 760 | "extra": { 761 | "branch-alias": { 762 | "dev-master": "1.23-dev" 763 | } 764 | }, 765 | "autoload": { 766 | "psr-4": { 767 | "Carbon\\": "src/Carbon/" 768 | } 769 | }, 770 | "notification-url": "https://packagist.org/downloads/", 771 | "license": [ 772 | "MIT" 773 | ], 774 | "authors": [ 775 | { 776 | "name": "Brian Nesbitt", 777 | "email": "brian@nesbot.com", 778 | "homepage": "http://nesbot.com" 779 | } 780 | ], 781 | "description": "A simple API extension for DateTime.", 782 | "homepage": "http://carbon.nesbot.com", 783 | "keywords": [ 784 | "date", 785 | "datetime", 786 | "time" 787 | ], 788 | "time": "2018-03-19 15:50:49" 789 | }, 790 | { 791 | "name": "orchestra/testbench", 792 | "version": "v3.6.4", 793 | "source": { 794 | "type": "git", 795 | "url": "https://github.com/orchestral/testbench.git", 796 | "reference": "242cc47d2e5d86ababe36d22519e2b948eff8f73" 797 | }, 798 | "dist": { 799 | "type": "zip", 800 | "url": "https://api.github.com/repos/orchestral/testbench/zipball/242cc47d2e5d86ababe36d22519e2b948eff8f73", 801 | "reference": "242cc47d2e5d86ababe36d22519e2b948eff8f73", 802 | "shasum": "" 803 | }, 804 | "require": { 805 | "laravel/framework": "~5.6.13", 806 | "orchestra/testbench-core": "~3.6.5", 807 | "php": ">=7.1", 808 | "phpunit/phpunit": "~7.0" 809 | }, 810 | "require-dev": { 811 | "mockery/mockery": "~1.0" 812 | }, 813 | "type": "library", 814 | "extra": { 815 | "branch-alias": { 816 | "dev-master": "3.6-dev" 817 | } 818 | }, 819 | "notification-url": "https://packagist.org/downloads/", 820 | "license": [ 821 | "MIT" 822 | ], 823 | "authors": [ 824 | { 825 | "name": "Mior Muhammad Zaki", 826 | "email": "crynobone@gmail.com", 827 | "homepage": "https://github.com/crynobone" 828 | } 829 | ], 830 | "description": "Laravel Testing Helper for Packages Development", 831 | "homepage": "http://orchestraplatform.com/docs/latest/components/testbench/", 832 | "keywords": [ 833 | "BDD", 834 | "TDD", 835 | "laravel", 836 | "orchestra-platform", 837 | "orchestral", 838 | "testing" 839 | ], 840 | "time": "2018-03-27 09:27:00" 841 | }, 842 | { 843 | "name": "orchestra/testbench-core", 844 | "version": "v3.6.5", 845 | "source": { 846 | "type": "git", 847 | "url": "https://github.com/orchestral/testbench-core.git", 848 | "reference": "d089f0fd32a81764fbd98044148a193db828dd52" 849 | }, 850 | "dist": { 851 | "type": "zip", 852 | "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/d089f0fd32a81764fbd98044148a193db828dd52", 853 | "reference": "d089f0fd32a81764fbd98044148a193db828dd52", 854 | "shasum": "" 855 | }, 856 | "require": { 857 | "fzaninotto/faker": "~1.4", 858 | "php": ">=7.1" 859 | }, 860 | "require-dev": { 861 | "laravel/framework": "~5.6.13", 862 | "mockery/mockery": "~1.0", 863 | "phpunit/phpunit": "~7.0" 864 | }, 865 | "suggest": { 866 | "laravel/framework": "Required for testing (~5.6.13).", 867 | "mockery/mockery": "Allow to use Mockery for testing (~1.0).", 868 | "orchestra/testbench-browser-kit": "Allow to use legacy Laravel BrowserKit for testing (~3.6).", 869 | "orchestra/testbench-dusk": "Allow to use Laravel Dusk for testing (~3.6).", 870 | "phpunit/phpunit": "Allow to use PHPUnit for testing (~7.0)." 871 | }, 872 | "type": "library", 873 | "extra": { 874 | "branch-alias": { 875 | "dev-master": "3.6-dev" 876 | } 877 | }, 878 | "autoload": { 879 | "psr-4": { 880 | "Orchestra\\Testbench\\": "src/" 881 | } 882 | }, 883 | "notification-url": "https://packagist.org/downloads/", 884 | "license": [ 885 | "MIT" 886 | ], 887 | "authors": [ 888 | { 889 | "name": "Mior Muhammad Zaki", 890 | "email": "crynobone@gmail.com", 891 | "homepage": "https://github.com/crynobone" 892 | } 893 | ], 894 | "description": "Testing Helper for Laravel Development", 895 | "homepage": "http://orchestraplatform.com/docs/latest/components/testbench/", 896 | "keywords": [ 897 | "BDD", 898 | "TDD", 899 | "laravel", 900 | "orchestra-platform", 901 | "orchestral", 902 | "testing" 903 | ], 904 | "time": "2018-03-27 08:00:28" 905 | }, 906 | { 907 | "name": "paragonie/random_compat", 908 | "version": "v2.0.17", 909 | "source": { 910 | "type": "git", 911 | "url": "https://github.com/paragonie/random_compat.git", 912 | "reference": "29af24f25bab834fcbb38ad2a69fa93b867e070d" 913 | }, 914 | "dist": { 915 | "type": "zip", 916 | "url": "https://api.github.com/repos/paragonie/random_compat/zipball/29af24f25bab834fcbb38ad2a69fa93b867e070d", 917 | "reference": "29af24f25bab834fcbb38ad2a69fa93b867e070d", 918 | "shasum": "" 919 | }, 920 | "require": { 921 | "php": ">=5.2.0" 922 | }, 923 | "require-dev": { 924 | "phpunit/phpunit": "4.*|5.*" 925 | }, 926 | "suggest": { 927 | "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." 928 | }, 929 | "type": "library", 930 | "autoload": { 931 | "files": [ 932 | "lib/random.php" 933 | ] 934 | }, 935 | "notification-url": "https://packagist.org/downloads/", 936 | "license": [ 937 | "MIT" 938 | ], 939 | "authors": [ 940 | { 941 | "name": "Paragon Initiative Enterprises", 942 | "email": "security@paragonie.com", 943 | "homepage": "https://paragonie.com" 944 | } 945 | ], 946 | "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", 947 | "keywords": [ 948 | "csprng", 949 | "polyfill", 950 | "pseudorandom", 951 | "random" 952 | ], 953 | "time": "2018-07-04 16:31:37" 954 | }, 955 | { 956 | "name": "phar-io/manifest", 957 | "version": "1.0.1", 958 | "source": { 959 | "type": "git", 960 | "url": "https://github.com/phar-io/manifest.git", 961 | "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0" 962 | }, 963 | "dist": { 964 | "type": "zip", 965 | "url": "https://api.github.com/repos/phar-io/manifest/zipball/2df402786ab5368a0169091f61a7c1e0eb6852d0", 966 | "reference": "2df402786ab5368a0169091f61a7c1e0eb6852d0", 967 | "shasum": "" 968 | }, 969 | "require": { 970 | "ext-dom": "*", 971 | "ext-phar": "*", 972 | "phar-io/version": "^1.0.1", 973 | "php": "^5.6 || ^7.0" 974 | }, 975 | "type": "library", 976 | "extra": { 977 | "branch-alias": { 978 | "dev-master": "1.0.x-dev" 979 | } 980 | }, 981 | "autoload": { 982 | "classmap": [ 983 | "src/" 984 | ] 985 | }, 986 | "notification-url": "https://packagist.org/downloads/", 987 | "license": [ 988 | "BSD-3-Clause" 989 | ], 990 | "authors": [ 991 | { 992 | "name": "Arne Blankerts", 993 | "email": "arne@blankerts.de", 994 | "role": "Developer" 995 | }, 996 | { 997 | "name": "Sebastian Heuer", 998 | "email": "sebastian@phpeople.de", 999 | "role": "Developer" 1000 | }, 1001 | { 1002 | "name": "Sebastian Bergmann", 1003 | "email": "sebastian@phpunit.de", 1004 | "role": "Developer" 1005 | } 1006 | ], 1007 | "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", 1008 | "time": "2017-03-05 18:14:27" 1009 | }, 1010 | { 1011 | "name": "phar-io/version", 1012 | "version": "1.0.1", 1013 | "source": { 1014 | "type": "git", 1015 | "url": "https://github.com/phar-io/version.git", 1016 | "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df" 1017 | }, 1018 | "dist": { 1019 | "type": "zip", 1020 | "url": "https://api.github.com/repos/phar-io/version/zipball/a70c0ced4be299a63d32fa96d9281d03e94041df", 1021 | "reference": "a70c0ced4be299a63d32fa96d9281d03e94041df", 1022 | "shasum": "" 1023 | }, 1024 | "require": { 1025 | "php": "^5.6 || ^7.0" 1026 | }, 1027 | "type": "library", 1028 | "autoload": { 1029 | "classmap": [ 1030 | "src/" 1031 | ] 1032 | }, 1033 | "notification-url": "https://packagist.org/downloads/", 1034 | "license": [ 1035 | "BSD-3-Clause" 1036 | ], 1037 | "authors": [ 1038 | { 1039 | "name": "Arne Blankerts", 1040 | "email": "arne@blankerts.de", 1041 | "role": "Developer" 1042 | }, 1043 | { 1044 | "name": "Sebastian Heuer", 1045 | "email": "sebastian@phpeople.de", 1046 | "role": "Developer" 1047 | }, 1048 | { 1049 | "name": "Sebastian Bergmann", 1050 | "email": "sebastian@phpunit.de", 1051 | "role": "Developer" 1052 | } 1053 | ], 1054 | "description": "Library for handling version information and constraints", 1055 | "time": "2017-03-05 17:38:23" 1056 | }, 1057 | { 1058 | "name": "phpdocumentor/reflection-common", 1059 | "version": "1.0.1", 1060 | "source": { 1061 | "type": "git", 1062 | "url": "https://github.com/phpDocumentor/ReflectionCommon.git", 1063 | "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6" 1064 | }, 1065 | "dist": { 1066 | "type": "zip", 1067 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", 1068 | "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", 1069 | "shasum": "" 1070 | }, 1071 | "require": { 1072 | "php": ">=5.5" 1073 | }, 1074 | "require-dev": { 1075 | "phpunit/phpunit": "^4.6" 1076 | }, 1077 | "type": "library", 1078 | "extra": { 1079 | "branch-alias": { 1080 | "dev-master": "1.0.x-dev" 1081 | } 1082 | }, 1083 | "autoload": { 1084 | "psr-4": { 1085 | "phpDocumentor\\Reflection\\": [ 1086 | "src" 1087 | ] 1088 | } 1089 | }, 1090 | "notification-url": "https://packagist.org/downloads/", 1091 | "license": [ 1092 | "MIT" 1093 | ], 1094 | "authors": [ 1095 | { 1096 | "name": "Jaap van Otterdijk", 1097 | "email": "opensource@ijaap.nl" 1098 | } 1099 | ], 1100 | "description": "Common reflection classes used by phpdocumentor to reflect the code structure", 1101 | "homepage": "http://www.phpdoc.org", 1102 | "keywords": [ 1103 | "FQSEN", 1104 | "phpDocumentor", 1105 | "phpdoc", 1106 | "reflection", 1107 | "static analysis" 1108 | ], 1109 | "time": "2017-09-11 18:02:19" 1110 | }, 1111 | { 1112 | "name": "phpdocumentor/reflection-docblock", 1113 | "version": "4.3.0", 1114 | "source": { 1115 | "type": "git", 1116 | "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", 1117 | "reference": "94fd0001232e47129dd3504189fa1c7225010d08" 1118 | }, 1119 | "dist": { 1120 | "type": "zip", 1121 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94fd0001232e47129dd3504189fa1c7225010d08", 1122 | "reference": "94fd0001232e47129dd3504189fa1c7225010d08", 1123 | "shasum": "" 1124 | }, 1125 | "require": { 1126 | "php": "^7.0", 1127 | "phpdocumentor/reflection-common": "^1.0.0", 1128 | "phpdocumentor/type-resolver": "^0.4.0", 1129 | "webmozart/assert": "^1.0" 1130 | }, 1131 | "require-dev": { 1132 | "doctrine/instantiator": "~1.0.5", 1133 | "mockery/mockery": "^1.0", 1134 | "phpunit/phpunit": "^6.4" 1135 | }, 1136 | "type": "library", 1137 | "extra": { 1138 | "branch-alias": { 1139 | "dev-master": "4.x-dev" 1140 | } 1141 | }, 1142 | "autoload": { 1143 | "psr-4": { 1144 | "phpDocumentor\\Reflection\\": [ 1145 | "src/" 1146 | ] 1147 | } 1148 | }, 1149 | "notification-url": "https://packagist.org/downloads/", 1150 | "license": [ 1151 | "MIT" 1152 | ], 1153 | "authors": [ 1154 | { 1155 | "name": "Mike van Riel", 1156 | "email": "me@mikevanriel.com" 1157 | } 1158 | ], 1159 | "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", 1160 | "time": "2017-11-30 07:14:17" 1161 | }, 1162 | { 1163 | "name": "phpdocumentor/type-resolver", 1164 | "version": "0.4.0", 1165 | "source": { 1166 | "type": "git", 1167 | "url": "https://github.com/phpDocumentor/TypeResolver.git", 1168 | "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7" 1169 | }, 1170 | "dist": { 1171 | "type": "zip", 1172 | "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7", 1173 | "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7", 1174 | "shasum": "" 1175 | }, 1176 | "require": { 1177 | "php": "^5.5 || ^7.0", 1178 | "phpdocumentor/reflection-common": "^1.0" 1179 | }, 1180 | "require-dev": { 1181 | "mockery/mockery": "^0.9.4", 1182 | "phpunit/phpunit": "^5.2||^4.8.24" 1183 | }, 1184 | "type": "library", 1185 | "extra": { 1186 | "branch-alias": { 1187 | "dev-master": "1.0.x-dev" 1188 | } 1189 | }, 1190 | "autoload": { 1191 | "psr-4": { 1192 | "phpDocumentor\\Reflection\\": [ 1193 | "src/" 1194 | ] 1195 | } 1196 | }, 1197 | "notification-url": "https://packagist.org/downloads/", 1198 | "license": [ 1199 | "MIT" 1200 | ], 1201 | "authors": [ 1202 | { 1203 | "name": "Mike van Riel", 1204 | "email": "me@mikevanriel.com" 1205 | } 1206 | ], 1207 | "time": "2017-07-14 14:27:02" 1208 | }, 1209 | { 1210 | "name": "phpspec/prophecy", 1211 | "version": "1.7.6", 1212 | "source": { 1213 | "type": "git", 1214 | "url": "https://github.com/phpspec/prophecy.git", 1215 | "reference": "33a7e3c4fda54e912ff6338c48823bd5c0f0b712" 1216 | }, 1217 | "dist": { 1218 | "type": "zip", 1219 | "url": "https://api.github.com/repos/phpspec/prophecy/zipball/33a7e3c4fda54e912ff6338c48823bd5c0f0b712", 1220 | "reference": "33a7e3c4fda54e912ff6338c48823bd5c0f0b712", 1221 | "shasum": "" 1222 | }, 1223 | "require": { 1224 | "doctrine/instantiator": "^1.0.2", 1225 | "php": "^5.3|^7.0", 1226 | "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0", 1227 | "sebastian/comparator": "^1.1|^2.0|^3.0", 1228 | "sebastian/recursion-context": "^1.0|^2.0|^3.0" 1229 | }, 1230 | "require-dev": { 1231 | "phpspec/phpspec": "^2.5|^3.2", 1232 | "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5" 1233 | }, 1234 | "type": "library", 1235 | "extra": { 1236 | "branch-alias": { 1237 | "dev-master": "1.7.x-dev" 1238 | } 1239 | }, 1240 | "autoload": { 1241 | "psr-0": { 1242 | "Prophecy\\": "src/" 1243 | } 1244 | }, 1245 | "notification-url": "https://packagist.org/downloads/", 1246 | "license": [ 1247 | "MIT" 1248 | ], 1249 | "authors": [ 1250 | { 1251 | "name": "Konstantin Kudryashov", 1252 | "email": "ever.zet@gmail.com", 1253 | "homepage": "http://everzet.com" 1254 | }, 1255 | { 1256 | "name": "Marcello Duarte", 1257 | "email": "marcello.duarte@gmail.com" 1258 | } 1259 | ], 1260 | "description": "Highly opinionated mocking framework for PHP 5.3+", 1261 | "homepage": "https://github.com/phpspec/prophecy", 1262 | "keywords": [ 1263 | "Double", 1264 | "Dummy", 1265 | "fake", 1266 | "mock", 1267 | "spy", 1268 | "stub" 1269 | ], 1270 | "time": "2018-04-18 13:57:24" 1271 | }, 1272 | { 1273 | "name": "phpunit/php-code-coverage", 1274 | "version": "6.0.7", 1275 | "source": { 1276 | "type": "git", 1277 | "url": "https://github.com/sebastianbergmann/php-code-coverage.git", 1278 | "reference": "865662550c384bc1db7e51d29aeda1c2c161d69a" 1279 | }, 1280 | "dist": { 1281 | "type": "zip", 1282 | "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/865662550c384bc1db7e51d29aeda1c2c161d69a", 1283 | "reference": "865662550c384bc1db7e51d29aeda1c2c161d69a", 1284 | "shasum": "" 1285 | }, 1286 | "require": { 1287 | "ext-dom": "*", 1288 | "ext-xmlwriter": "*", 1289 | "php": "^7.1", 1290 | "phpunit/php-file-iterator": "^2.0", 1291 | "phpunit/php-text-template": "^1.2.1", 1292 | "phpunit/php-token-stream": "^3.0", 1293 | "sebastian/code-unit-reverse-lookup": "^1.0.1", 1294 | "sebastian/environment": "^3.1", 1295 | "sebastian/version": "^2.0.1", 1296 | "theseer/tokenizer": "^1.1" 1297 | }, 1298 | "require-dev": { 1299 | "phpunit/phpunit": "^7.0" 1300 | }, 1301 | "suggest": { 1302 | "ext-xdebug": "^2.6.0" 1303 | }, 1304 | "type": "library", 1305 | "extra": { 1306 | "branch-alias": { 1307 | "dev-master": "6.0-dev" 1308 | } 1309 | }, 1310 | "autoload": { 1311 | "classmap": [ 1312 | "src/" 1313 | ] 1314 | }, 1315 | "notification-url": "https://packagist.org/downloads/", 1316 | "license": [ 1317 | "BSD-3-Clause" 1318 | ], 1319 | "authors": [ 1320 | { 1321 | "name": "Sebastian Bergmann", 1322 | "email": "sebastian@phpunit.de", 1323 | "role": "lead" 1324 | } 1325 | ], 1326 | "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", 1327 | "homepage": "https://github.com/sebastianbergmann/php-code-coverage", 1328 | "keywords": [ 1329 | "coverage", 1330 | "testing", 1331 | "xunit" 1332 | ], 1333 | "time": "2018-06-01 07:51:50" 1334 | }, 1335 | { 1336 | "name": "phpunit/php-file-iterator", 1337 | "version": "2.0.1", 1338 | "source": { 1339 | "type": "git", 1340 | "url": "https://github.com/sebastianbergmann/php-file-iterator.git", 1341 | "reference": "cecbc684605bb0cc288828eb5d65d93d5c676d3c" 1342 | }, 1343 | "dist": { 1344 | "type": "zip", 1345 | "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cecbc684605bb0cc288828eb5d65d93d5c676d3c", 1346 | "reference": "cecbc684605bb0cc288828eb5d65d93d5c676d3c", 1347 | "shasum": "" 1348 | }, 1349 | "require": { 1350 | "php": "^7.1" 1351 | }, 1352 | "type": "library", 1353 | "extra": { 1354 | "branch-alias": { 1355 | "dev-master": "2.0.x-dev" 1356 | } 1357 | }, 1358 | "autoload": { 1359 | "classmap": [ 1360 | "src/" 1361 | ] 1362 | }, 1363 | "notification-url": "https://packagist.org/downloads/", 1364 | "license": [ 1365 | "BSD-3-Clause" 1366 | ], 1367 | "authors": [ 1368 | { 1369 | "name": "Sebastian Bergmann", 1370 | "email": "sebastian@phpunit.de", 1371 | "role": "lead" 1372 | } 1373 | ], 1374 | "description": "FilterIterator implementation that filters files based on a list of suffixes.", 1375 | "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", 1376 | "keywords": [ 1377 | "filesystem", 1378 | "iterator" 1379 | ], 1380 | "time": "2018-06-11 11:44:00" 1381 | }, 1382 | { 1383 | "name": "phpunit/php-text-template", 1384 | "version": "1.2.1", 1385 | "source": { 1386 | "type": "git", 1387 | "url": "https://github.com/sebastianbergmann/php-text-template.git", 1388 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" 1389 | }, 1390 | "dist": { 1391 | "type": "zip", 1392 | "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", 1393 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", 1394 | "shasum": "" 1395 | }, 1396 | "require": { 1397 | "php": ">=5.3.3" 1398 | }, 1399 | "type": "library", 1400 | "autoload": { 1401 | "classmap": [ 1402 | "src/" 1403 | ] 1404 | }, 1405 | "notification-url": "https://packagist.org/downloads/", 1406 | "license": [ 1407 | "BSD-3-Clause" 1408 | ], 1409 | "authors": [ 1410 | { 1411 | "name": "Sebastian Bergmann", 1412 | "email": "sebastian@phpunit.de", 1413 | "role": "lead" 1414 | } 1415 | ], 1416 | "description": "Simple template engine.", 1417 | "homepage": "https://github.com/sebastianbergmann/php-text-template/", 1418 | "keywords": [ 1419 | "template" 1420 | ], 1421 | "time": "2015-06-21 13:50:34" 1422 | }, 1423 | { 1424 | "name": "phpunit/php-timer", 1425 | "version": "2.0.0", 1426 | "source": { 1427 | "type": "git", 1428 | "url": "https://github.com/sebastianbergmann/php-timer.git", 1429 | "reference": "8b8454ea6958c3dee38453d3bd571e023108c91f" 1430 | }, 1431 | "dist": { 1432 | "type": "zip", 1433 | "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/8b8454ea6958c3dee38453d3bd571e023108c91f", 1434 | "reference": "8b8454ea6958c3dee38453d3bd571e023108c91f", 1435 | "shasum": "" 1436 | }, 1437 | "require": { 1438 | "php": "^7.1" 1439 | }, 1440 | "require-dev": { 1441 | "phpunit/phpunit": "^7.0" 1442 | }, 1443 | "type": "library", 1444 | "extra": { 1445 | "branch-alias": { 1446 | "dev-master": "2.0-dev" 1447 | } 1448 | }, 1449 | "autoload": { 1450 | "classmap": [ 1451 | "src/" 1452 | ] 1453 | }, 1454 | "notification-url": "https://packagist.org/downloads/", 1455 | "license": [ 1456 | "BSD-3-Clause" 1457 | ], 1458 | "authors": [ 1459 | { 1460 | "name": "Sebastian Bergmann", 1461 | "email": "sebastian@phpunit.de", 1462 | "role": "lead" 1463 | } 1464 | ], 1465 | "description": "Utility class for timing", 1466 | "homepage": "https://github.com/sebastianbergmann/php-timer/", 1467 | "keywords": [ 1468 | "timer" 1469 | ], 1470 | "time": "2018-02-01 13:07:23" 1471 | }, 1472 | { 1473 | "name": "phpunit/php-token-stream", 1474 | "version": "3.0.0", 1475 | "source": { 1476 | "type": "git", 1477 | "url": "https://github.com/sebastianbergmann/php-token-stream.git", 1478 | "reference": "21ad88bbba7c3d93530d93994e0a33cd45f02ace" 1479 | }, 1480 | "dist": { 1481 | "type": "zip", 1482 | "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/21ad88bbba7c3d93530d93994e0a33cd45f02ace", 1483 | "reference": "21ad88bbba7c3d93530d93994e0a33cd45f02ace", 1484 | "shasum": "" 1485 | }, 1486 | "require": { 1487 | "ext-tokenizer": "*", 1488 | "php": "^7.1" 1489 | }, 1490 | "require-dev": { 1491 | "phpunit/phpunit": "^7.0" 1492 | }, 1493 | "type": "library", 1494 | "extra": { 1495 | "branch-alias": { 1496 | "dev-master": "3.0-dev" 1497 | } 1498 | }, 1499 | "autoload": { 1500 | "classmap": [ 1501 | "src/" 1502 | ] 1503 | }, 1504 | "notification-url": "https://packagist.org/downloads/", 1505 | "license": [ 1506 | "BSD-3-Clause" 1507 | ], 1508 | "authors": [ 1509 | { 1510 | "name": "Sebastian Bergmann", 1511 | "email": "sebastian@phpunit.de" 1512 | } 1513 | ], 1514 | "description": "Wrapper around PHP's tokenizer extension.", 1515 | "homepage": "https://github.com/sebastianbergmann/php-token-stream/", 1516 | "keywords": [ 1517 | "tokenizer" 1518 | ], 1519 | "time": "2018-02-01 13:16:43" 1520 | }, 1521 | { 1522 | "name": "phpunit/phpunit", 1523 | "version": "7.2.6", 1524 | "source": { 1525 | "type": "git", 1526 | "url": "https://github.com/sebastianbergmann/phpunit.git", 1527 | "reference": "400a3836ee549ae6f665323ac3f21e27eac7155f" 1528 | }, 1529 | "dist": { 1530 | "type": "zip", 1531 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/400a3836ee549ae6f665323ac3f21e27eac7155f", 1532 | "reference": "400a3836ee549ae6f665323ac3f21e27eac7155f", 1533 | "shasum": "" 1534 | }, 1535 | "require": { 1536 | "doctrine/instantiator": "^1.1", 1537 | "ext-dom": "*", 1538 | "ext-json": "*", 1539 | "ext-libxml": "*", 1540 | "ext-mbstring": "*", 1541 | "ext-xml": "*", 1542 | "myclabs/deep-copy": "^1.7", 1543 | "phar-io/manifest": "^1.0.1", 1544 | "phar-io/version": "^1.0", 1545 | "php": "^7.1", 1546 | "phpspec/prophecy": "^1.7", 1547 | "phpunit/php-code-coverage": "^6.0.7", 1548 | "phpunit/php-file-iterator": "^2.0.1", 1549 | "phpunit/php-text-template": "^1.2.1", 1550 | "phpunit/php-timer": "^2.0", 1551 | "sebastian/comparator": "^3.0", 1552 | "sebastian/diff": "^3.0", 1553 | "sebastian/environment": "^3.1", 1554 | "sebastian/exporter": "^3.1", 1555 | "sebastian/global-state": "^2.0", 1556 | "sebastian/object-enumerator": "^3.0.3", 1557 | "sebastian/resource-operations": "^1.0", 1558 | "sebastian/version": "^2.0.1" 1559 | }, 1560 | "conflict": { 1561 | "phpunit/phpunit-mock-objects": "*" 1562 | }, 1563 | "require-dev": { 1564 | "ext-pdo": "*" 1565 | }, 1566 | "suggest": { 1567 | "ext-soap": "*", 1568 | "ext-xdebug": "*", 1569 | "phpunit/php-invoker": "^2.0" 1570 | }, 1571 | "bin": [ 1572 | "phpunit" 1573 | ], 1574 | "type": "library", 1575 | "extra": { 1576 | "branch-alias": { 1577 | "dev-master": "7.2-dev" 1578 | } 1579 | }, 1580 | "autoload": { 1581 | "classmap": [ 1582 | "src/" 1583 | ] 1584 | }, 1585 | "notification-url": "https://packagist.org/downloads/", 1586 | "license": [ 1587 | "BSD-3-Clause" 1588 | ], 1589 | "authors": [ 1590 | { 1591 | "name": "Sebastian Bergmann", 1592 | "email": "sebastian@phpunit.de", 1593 | "role": "lead" 1594 | } 1595 | ], 1596 | "description": "The PHP Unit Testing framework.", 1597 | "homepage": "https://phpunit.de/", 1598 | "keywords": [ 1599 | "phpunit", 1600 | "testing", 1601 | "xunit" 1602 | ], 1603 | "time": "2018-06-21 13:13:39" 1604 | }, 1605 | { 1606 | "name": "psr/container", 1607 | "version": "1.0.0", 1608 | "source": { 1609 | "type": "git", 1610 | "url": "https://github.com/php-fig/container.git", 1611 | "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" 1612 | }, 1613 | "dist": { 1614 | "type": "zip", 1615 | "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", 1616 | "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", 1617 | "shasum": "" 1618 | }, 1619 | "require": { 1620 | "php": ">=5.3.0" 1621 | }, 1622 | "type": "library", 1623 | "extra": { 1624 | "branch-alias": { 1625 | "dev-master": "1.0.x-dev" 1626 | } 1627 | }, 1628 | "autoload": { 1629 | "psr-4": { 1630 | "Psr\\Container\\": "src/" 1631 | } 1632 | }, 1633 | "notification-url": "https://packagist.org/downloads/", 1634 | "license": [ 1635 | "MIT" 1636 | ], 1637 | "authors": [ 1638 | { 1639 | "name": "PHP-FIG", 1640 | "homepage": "http://www.php-fig.org/" 1641 | } 1642 | ], 1643 | "description": "Common Container Interface (PHP FIG PSR-11)", 1644 | "homepage": "https://github.com/php-fig/container", 1645 | "keywords": [ 1646 | "PSR-11", 1647 | "container", 1648 | "container-interface", 1649 | "container-interop", 1650 | "psr" 1651 | ], 1652 | "time": "2017-02-14 16:28:37" 1653 | }, 1654 | { 1655 | "name": "psr/log", 1656 | "version": "1.0.2", 1657 | "source": { 1658 | "type": "git", 1659 | "url": "https://github.com/php-fig/log.git", 1660 | "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" 1661 | }, 1662 | "dist": { 1663 | "type": "zip", 1664 | "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", 1665 | "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", 1666 | "shasum": "" 1667 | }, 1668 | "require": { 1669 | "php": ">=5.3.0" 1670 | }, 1671 | "type": "library", 1672 | "extra": { 1673 | "branch-alias": { 1674 | "dev-master": "1.0.x-dev" 1675 | } 1676 | }, 1677 | "autoload": { 1678 | "psr-4": { 1679 | "Psr\\Log\\": "Psr/Log/" 1680 | } 1681 | }, 1682 | "notification-url": "https://packagist.org/downloads/", 1683 | "license": [ 1684 | "MIT" 1685 | ], 1686 | "authors": [ 1687 | { 1688 | "name": "PHP-FIG", 1689 | "homepage": "http://www.php-fig.org/" 1690 | } 1691 | ], 1692 | "description": "Common interface for logging libraries", 1693 | "homepage": "https://github.com/php-fig/log", 1694 | "keywords": [ 1695 | "log", 1696 | "psr", 1697 | "psr-3" 1698 | ], 1699 | "time": "2016-10-10 12:19:37" 1700 | }, 1701 | { 1702 | "name": "psr/simple-cache", 1703 | "version": "1.0.1", 1704 | "source": { 1705 | "type": "git", 1706 | "url": "https://github.com/php-fig/simple-cache.git", 1707 | "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" 1708 | }, 1709 | "dist": { 1710 | "type": "zip", 1711 | "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", 1712 | "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", 1713 | "shasum": "" 1714 | }, 1715 | "require": { 1716 | "php": ">=5.3.0" 1717 | }, 1718 | "type": "library", 1719 | "extra": { 1720 | "branch-alias": { 1721 | "dev-master": "1.0.x-dev" 1722 | } 1723 | }, 1724 | "autoload": { 1725 | "psr-4": { 1726 | "Psr\\SimpleCache\\": "src/" 1727 | } 1728 | }, 1729 | "notification-url": "https://packagist.org/downloads/", 1730 | "license": [ 1731 | "MIT" 1732 | ], 1733 | "authors": [ 1734 | { 1735 | "name": "PHP-FIG", 1736 | "homepage": "http://www.php-fig.org/" 1737 | } 1738 | ], 1739 | "description": "Common interfaces for simple caching", 1740 | "keywords": [ 1741 | "cache", 1742 | "caching", 1743 | "psr", 1744 | "psr-16", 1745 | "simple-cache" 1746 | ], 1747 | "time": "2017-10-23 01:57:42" 1748 | }, 1749 | { 1750 | "name": "ramsey/uuid", 1751 | "version": "3.7.3", 1752 | "source": { 1753 | "type": "git", 1754 | "url": "https://github.com/ramsey/uuid.git", 1755 | "reference": "44abcdad877d9a46685a3a4d221e3b2c4b87cb76" 1756 | }, 1757 | "dist": { 1758 | "type": "zip", 1759 | "url": "https://api.github.com/repos/ramsey/uuid/zipball/44abcdad877d9a46685a3a4d221e3b2c4b87cb76", 1760 | "reference": "44abcdad877d9a46685a3a4d221e3b2c4b87cb76", 1761 | "shasum": "" 1762 | }, 1763 | "require": { 1764 | "paragonie/random_compat": "^1.0|^2.0", 1765 | "php": "^5.4 || ^7.0" 1766 | }, 1767 | "replace": { 1768 | "rhumsaa/uuid": "self.version" 1769 | }, 1770 | "require-dev": { 1771 | "codeception/aspect-mock": "^1.0 | ~2.0.0", 1772 | "doctrine/annotations": "~1.2.0", 1773 | "goaop/framework": "1.0.0-alpha.2 | ^1.0 | ^2.1", 1774 | "ircmaxell/random-lib": "^1.1", 1775 | "jakub-onderka/php-parallel-lint": "^0.9.0", 1776 | "mockery/mockery": "^0.9.9", 1777 | "moontoast/math": "^1.1", 1778 | "php-mock/php-mock-phpunit": "^0.3|^1.1", 1779 | "phpunit/phpunit": "^4.7|^5.0", 1780 | "squizlabs/php_codesniffer": "^2.3" 1781 | }, 1782 | "suggest": { 1783 | "ext-libsodium": "Provides the PECL libsodium extension for use with the SodiumRandomGenerator", 1784 | "ext-uuid": "Provides the PECL UUID extension for use with the PeclUuidTimeGenerator and PeclUuidRandomGenerator", 1785 | "ircmaxell/random-lib": "Provides RandomLib for use with the RandomLibAdapter", 1786 | "moontoast/math": "Provides support for converting UUID to 128-bit integer (in string form).", 1787 | "ramsey/uuid-console": "A console application for generating UUIDs with ramsey/uuid", 1788 | "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." 1789 | }, 1790 | "type": "library", 1791 | "extra": { 1792 | "branch-alias": { 1793 | "dev-master": "3.x-dev" 1794 | } 1795 | }, 1796 | "autoload": { 1797 | "psr-4": { 1798 | "Ramsey\\Uuid\\": "src/" 1799 | } 1800 | }, 1801 | "notification-url": "https://packagist.org/downloads/", 1802 | "license": [ 1803 | "MIT" 1804 | ], 1805 | "authors": [ 1806 | { 1807 | "name": "Marijn Huizendveld", 1808 | "email": "marijn.huizendveld@gmail.com" 1809 | }, 1810 | { 1811 | "name": "Thibaud Fabre", 1812 | "email": "thibaud@aztech.io" 1813 | }, 1814 | { 1815 | "name": "Ben Ramsey", 1816 | "email": "ben@benramsey.com", 1817 | "homepage": "https://benramsey.com" 1818 | } 1819 | ], 1820 | "description": "Formerly rhumsaa/uuid. A PHP 5.4+ library for generating RFC 4122 version 1, 3, 4, and 5 universally unique identifiers (UUID).", 1821 | "homepage": "https://github.com/ramsey/uuid", 1822 | "keywords": [ 1823 | "guid", 1824 | "identifier", 1825 | "uuid" 1826 | ], 1827 | "time": "2018-01-20 00:28:24" 1828 | }, 1829 | { 1830 | "name": "sebastian/code-unit-reverse-lookup", 1831 | "version": "1.0.1", 1832 | "source": { 1833 | "type": "git", 1834 | "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", 1835 | "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18" 1836 | }, 1837 | "dist": { 1838 | "type": "zip", 1839 | "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", 1840 | "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", 1841 | "shasum": "" 1842 | }, 1843 | "require": { 1844 | "php": "^5.6 || ^7.0" 1845 | }, 1846 | "require-dev": { 1847 | "phpunit/phpunit": "^5.7 || ^6.0" 1848 | }, 1849 | "type": "library", 1850 | "extra": { 1851 | "branch-alias": { 1852 | "dev-master": "1.0.x-dev" 1853 | } 1854 | }, 1855 | "autoload": { 1856 | "classmap": [ 1857 | "src/" 1858 | ] 1859 | }, 1860 | "notification-url": "https://packagist.org/downloads/", 1861 | "license": [ 1862 | "BSD-3-Clause" 1863 | ], 1864 | "authors": [ 1865 | { 1866 | "name": "Sebastian Bergmann", 1867 | "email": "sebastian@phpunit.de" 1868 | } 1869 | ], 1870 | "description": "Looks up which function or method a line of code belongs to", 1871 | "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", 1872 | "time": "2017-03-04 06:30:41" 1873 | }, 1874 | { 1875 | "name": "sebastian/comparator", 1876 | "version": "3.0.1", 1877 | "source": { 1878 | "type": "git", 1879 | "url": "https://github.com/sebastianbergmann/comparator.git", 1880 | "reference": "591a30922f54656695e59b1f39501aec513403da" 1881 | }, 1882 | "dist": { 1883 | "type": "zip", 1884 | "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/591a30922f54656695e59b1f39501aec513403da", 1885 | "reference": "591a30922f54656695e59b1f39501aec513403da", 1886 | "shasum": "" 1887 | }, 1888 | "require": { 1889 | "php": "^7.1", 1890 | "sebastian/diff": "^3.0", 1891 | "sebastian/exporter": "^3.1" 1892 | }, 1893 | "require-dev": { 1894 | "phpunit/phpunit": "^7.1" 1895 | }, 1896 | "type": "library", 1897 | "extra": { 1898 | "branch-alias": { 1899 | "dev-master": "3.0-dev" 1900 | } 1901 | }, 1902 | "autoload": { 1903 | "classmap": [ 1904 | "src/" 1905 | ] 1906 | }, 1907 | "notification-url": "https://packagist.org/downloads/", 1908 | "license": [ 1909 | "BSD-3-Clause" 1910 | ], 1911 | "authors": [ 1912 | { 1913 | "name": "Jeff Welch", 1914 | "email": "whatthejeff@gmail.com" 1915 | }, 1916 | { 1917 | "name": "Volker Dusch", 1918 | "email": "github@wallbash.com" 1919 | }, 1920 | { 1921 | "name": "Bernhard Schussek", 1922 | "email": "bschussek@2bepublished.at" 1923 | }, 1924 | { 1925 | "name": "Sebastian Bergmann", 1926 | "email": "sebastian@phpunit.de" 1927 | } 1928 | ], 1929 | "description": "Provides the functionality to compare PHP values for equality", 1930 | "homepage": "https://github.com/sebastianbergmann/comparator", 1931 | "keywords": [ 1932 | "comparator", 1933 | "compare", 1934 | "equality" 1935 | ], 1936 | "time": "2018-06-14 15:05:28" 1937 | }, 1938 | { 1939 | "name": "sebastian/diff", 1940 | "version": "3.0.1", 1941 | "source": { 1942 | "type": "git", 1943 | "url": "https://github.com/sebastianbergmann/diff.git", 1944 | "reference": "366541b989927187c4ca70490a35615d3fef2dce" 1945 | }, 1946 | "dist": { 1947 | "type": "zip", 1948 | "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/366541b989927187c4ca70490a35615d3fef2dce", 1949 | "reference": "366541b989927187c4ca70490a35615d3fef2dce", 1950 | "shasum": "" 1951 | }, 1952 | "require": { 1953 | "php": "^7.1" 1954 | }, 1955 | "require-dev": { 1956 | "phpunit/phpunit": "^7.0", 1957 | "symfony/process": "^2 || ^3.3 || ^4" 1958 | }, 1959 | "type": "library", 1960 | "extra": { 1961 | "branch-alias": { 1962 | "dev-master": "3.0-dev" 1963 | } 1964 | }, 1965 | "autoload": { 1966 | "classmap": [ 1967 | "src/" 1968 | ] 1969 | }, 1970 | "notification-url": "https://packagist.org/downloads/", 1971 | "license": [ 1972 | "BSD-3-Clause" 1973 | ], 1974 | "authors": [ 1975 | { 1976 | "name": "Kore Nordmann", 1977 | "email": "mail@kore-nordmann.de" 1978 | }, 1979 | { 1980 | "name": "Sebastian Bergmann", 1981 | "email": "sebastian@phpunit.de" 1982 | } 1983 | ], 1984 | "description": "Diff implementation", 1985 | "homepage": "https://github.com/sebastianbergmann/diff", 1986 | "keywords": [ 1987 | "diff", 1988 | "udiff", 1989 | "unidiff", 1990 | "unified diff" 1991 | ], 1992 | "time": "2018-06-10 07:54:39" 1993 | }, 1994 | { 1995 | "name": "sebastian/environment", 1996 | "version": "3.1.0", 1997 | "source": { 1998 | "type": "git", 1999 | "url": "https://github.com/sebastianbergmann/environment.git", 2000 | "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5" 2001 | }, 2002 | "dist": { 2003 | "type": "zip", 2004 | "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/cd0871b3975fb7fc44d11314fd1ee20925fce4f5", 2005 | "reference": "cd0871b3975fb7fc44d11314fd1ee20925fce4f5", 2006 | "shasum": "" 2007 | }, 2008 | "require": { 2009 | "php": "^7.0" 2010 | }, 2011 | "require-dev": { 2012 | "phpunit/phpunit": "^6.1" 2013 | }, 2014 | "type": "library", 2015 | "extra": { 2016 | "branch-alias": { 2017 | "dev-master": "3.1.x-dev" 2018 | } 2019 | }, 2020 | "autoload": { 2021 | "classmap": [ 2022 | "src/" 2023 | ] 2024 | }, 2025 | "notification-url": "https://packagist.org/downloads/", 2026 | "license": [ 2027 | "BSD-3-Clause" 2028 | ], 2029 | "authors": [ 2030 | { 2031 | "name": "Sebastian Bergmann", 2032 | "email": "sebastian@phpunit.de" 2033 | } 2034 | ], 2035 | "description": "Provides functionality to handle HHVM/PHP environments", 2036 | "homepage": "http://www.github.com/sebastianbergmann/environment", 2037 | "keywords": [ 2038 | "Xdebug", 2039 | "environment", 2040 | "hhvm" 2041 | ], 2042 | "time": "2017-07-01 08:51:00" 2043 | }, 2044 | { 2045 | "name": "sebastian/exporter", 2046 | "version": "3.1.0", 2047 | "source": { 2048 | "type": "git", 2049 | "url": "https://github.com/sebastianbergmann/exporter.git", 2050 | "reference": "234199f4528de6d12aaa58b612e98f7d36adb937" 2051 | }, 2052 | "dist": { 2053 | "type": "zip", 2054 | "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/234199f4528de6d12aaa58b612e98f7d36adb937", 2055 | "reference": "234199f4528de6d12aaa58b612e98f7d36adb937", 2056 | "shasum": "" 2057 | }, 2058 | "require": { 2059 | "php": "^7.0", 2060 | "sebastian/recursion-context": "^3.0" 2061 | }, 2062 | "require-dev": { 2063 | "ext-mbstring": "*", 2064 | "phpunit/phpunit": "^6.0" 2065 | }, 2066 | "type": "library", 2067 | "extra": { 2068 | "branch-alias": { 2069 | "dev-master": "3.1.x-dev" 2070 | } 2071 | }, 2072 | "autoload": { 2073 | "classmap": [ 2074 | "src/" 2075 | ] 2076 | }, 2077 | "notification-url": "https://packagist.org/downloads/", 2078 | "license": [ 2079 | "BSD-3-Clause" 2080 | ], 2081 | "authors": [ 2082 | { 2083 | "name": "Jeff Welch", 2084 | "email": "whatthejeff@gmail.com" 2085 | }, 2086 | { 2087 | "name": "Volker Dusch", 2088 | "email": "github@wallbash.com" 2089 | }, 2090 | { 2091 | "name": "Bernhard Schussek", 2092 | "email": "bschussek@2bepublished.at" 2093 | }, 2094 | { 2095 | "name": "Sebastian Bergmann", 2096 | "email": "sebastian@phpunit.de" 2097 | }, 2098 | { 2099 | "name": "Adam Harvey", 2100 | "email": "aharvey@php.net" 2101 | } 2102 | ], 2103 | "description": "Provides the functionality to export PHP variables for visualization", 2104 | "homepage": "http://www.github.com/sebastianbergmann/exporter", 2105 | "keywords": [ 2106 | "export", 2107 | "exporter" 2108 | ], 2109 | "time": "2017-04-03 13:19:02" 2110 | }, 2111 | { 2112 | "name": "sebastian/global-state", 2113 | "version": "2.0.0", 2114 | "source": { 2115 | "type": "git", 2116 | "url": "https://github.com/sebastianbergmann/global-state.git", 2117 | "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4" 2118 | }, 2119 | "dist": { 2120 | "type": "zip", 2121 | "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", 2122 | "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", 2123 | "shasum": "" 2124 | }, 2125 | "require": { 2126 | "php": "^7.0" 2127 | }, 2128 | "require-dev": { 2129 | "phpunit/phpunit": "^6.0" 2130 | }, 2131 | "suggest": { 2132 | "ext-uopz": "*" 2133 | }, 2134 | "type": "library", 2135 | "extra": { 2136 | "branch-alias": { 2137 | "dev-master": "2.0-dev" 2138 | } 2139 | }, 2140 | "autoload": { 2141 | "classmap": [ 2142 | "src/" 2143 | ] 2144 | }, 2145 | "notification-url": "https://packagist.org/downloads/", 2146 | "license": [ 2147 | "BSD-3-Clause" 2148 | ], 2149 | "authors": [ 2150 | { 2151 | "name": "Sebastian Bergmann", 2152 | "email": "sebastian@phpunit.de" 2153 | } 2154 | ], 2155 | "description": "Snapshotting of global state", 2156 | "homepage": "http://www.github.com/sebastianbergmann/global-state", 2157 | "keywords": [ 2158 | "global state" 2159 | ], 2160 | "time": "2017-04-27 15:39:26" 2161 | }, 2162 | { 2163 | "name": "sebastian/object-enumerator", 2164 | "version": "3.0.3", 2165 | "source": { 2166 | "type": "git", 2167 | "url": "https://github.com/sebastianbergmann/object-enumerator.git", 2168 | "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5" 2169 | }, 2170 | "dist": { 2171 | "type": "zip", 2172 | "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5", 2173 | "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5", 2174 | "shasum": "" 2175 | }, 2176 | "require": { 2177 | "php": "^7.0", 2178 | "sebastian/object-reflector": "^1.1.1", 2179 | "sebastian/recursion-context": "^3.0" 2180 | }, 2181 | "require-dev": { 2182 | "phpunit/phpunit": "^6.0" 2183 | }, 2184 | "type": "library", 2185 | "extra": { 2186 | "branch-alias": { 2187 | "dev-master": "3.0.x-dev" 2188 | } 2189 | }, 2190 | "autoload": { 2191 | "classmap": [ 2192 | "src/" 2193 | ] 2194 | }, 2195 | "notification-url": "https://packagist.org/downloads/", 2196 | "license": [ 2197 | "BSD-3-Clause" 2198 | ], 2199 | "authors": [ 2200 | { 2201 | "name": "Sebastian Bergmann", 2202 | "email": "sebastian@phpunit.de" 2203 | } 2204 | ], 2205 | "description": "Traverses array structures and object graphs to enumerate all referenced objects", 2206 | "homepage": "https://github.com/sebastianbergmann/object-enumerator/", 2207 | "time": "2017-08-03 12:35:26" 2208 | }, 2209 | { 2210 | "name": "sebastian/object-reflector", 2211 | "version": "1.1.1", 2212 | "source": { 2213 | "type": "git", 2214 | "url": "https://github.com/sebastianbergmann/object-reflector.git", 2215 | "reference": "773f97c67f28de00d397be301821b06708fca0be" 2216 | }, 2217 | "dist": { 2218 | "type": "zip", 2219 | "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be", 2220 | "reference": "773f97c67f28de00d397be301821b06708fca0be", 2221 | "shasum": "" 2222 | }, 2223 | "require": { 2224 | "php": "^7.0" 2225 | }, 2226 | "require-dev": { 2227 | "phpunit/phpunit": "^6.0" 2228 | }, 2229 | "type": "library", 2230 | "extra": { 2231 | "branch-alias": { 2232 | "dev-master": "1.1-dev" 2233 | } 2234 | }, 2235 | "autoload": { 2236 | "classmap": [ 2237 | "src/" 2238 | ] 2239 | }, 2240 | "notification-url": "https://packagist.org/downloads/", 2241 | "license": [ 2242 | "BSD-3-Clause" 2243 | ], 2244 | "authors": [ 2245 | { 2246 | "name": "Sebastian Bergmann", 2247 | "email": "sebastian@phpunit.de" 2248 | } 2249 | ], 2250 | "description": "Allows reflection of object attributes, including inherited and non-public ones", 2251 | "homepage": "https://github.com/sebastianbergmann/object-reflector/", 2252 | "time": "2017-03-29 09:07:27" 2253 | }, 2254 | { 2255 | "name": "sebastian/recursion-context", 2256 | "version": "3.0.0", 2257 | "source": { 2258 | "type": "git", 2259 | "url": "https://github.com/sebastianbergmann/recursion-context.git", 2260 | "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8" 2261 | }, 2262 | "dist": { 2263 | "type": "zip", 2264 | "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", 2265 | "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", 2266 | "shasum": "" 2267 | }, 2268 | "require": { 2269 | "php": "^7.0" 2270 | }, 2271 | "require-dev": { 2272 | "phpunit/phpunit": "^6.0" 2273 | }, 2274 | "type": "library", 2275 | "extra": { 2276 | "branch-alias": { 2277 | "dev-master": "3.0.x-dev" 2278 | } 2279 | }, 2280 | "autoload": { 2281 | "classmap": [ 2282 | "src/" 2283 | ] 2284 | }, 2285 | "notification-url": "https://packagist.org/downloads/", 2286 | "license": [ 2287 | "BSD-3-Clause" 2288 | ], 2289 | "authors": [ 2290 | { 2291 | "name": "Jeff Welch", 2292 | "email": "whatthejeff@gmail.com" 2293 | }, 2294 | { 2295 | "name": "Sebastian Bergmann", 2296 | "email": "sebastian@phpunit.de" 2297 | }, 2298 | { 2299 | "name": "Adam Harvey", 2300 | "email": "aharvey@php.net" 2301 | } 2302 | ], 2303 | "description": "Provides functionality to recursively process PHP variables", 2304 | "homepage": "http://www.github.com/sebastianbergmann/recursion-context", 2305 | "time": "2017-03-03 06:23:57" 2306 | }, 2307 | { 2308 | "name": "sebastian/resource-operations", 2309 | "version": "1.0.0", 2310 | "source": { 2311 | "type": "git", 2312 | "url": "https://github.com/sebastianbergmann/resource-operations.git", 2313 | "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52" 2314 | }, 2315 | "dist": { 2316 | "type": "zip", 2317 | "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", 2318 | "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", 2319 | "shasum": "" 2320 | }, 2321 | "require": { 2322 | "php": ">=5.6.0" 2323 | }, 2324 | "type": "library", 2325 | "extra": { 2326 | "branch-alias": { 2327 | "dev-master": "1.0.x-dev" 2328 | } 2329 | }, 2330 | "autoload": { 2331 | "classmap": [ 2332 | "src/" 2333 | ] 2334 | }, 2335 | "notification-url": "https://packagist.org/downloads/", 2336 | "license": [ 2337 | "BSD-3-Clause" 2338 | ], 2339 | "authors": [ 2340 | { 2341 | "name": "Sebastian Bergmann", 2342 | "email": "sebastian@phpunit.de" 2343 | } 2344 | ], 2345 | "description": "Provides a list of PHP built-in functions that operate on resources", 2346 | "homepage": "https://www.github.com/sebastianbergmann/resource-operations", 2347 | "time": "2015-07-28 20:34:47" 2348 | }, 2349 | { 2350 | "name": "sebastian/version", 2351 | "version": "2.0.1", 2352 | "source": { 2353 | "type": "git", 2354 | "url": "https://github.com/sebastianbergmann/version.git", 2355 | "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" 2356 | }, 2357 | "dist": { 2358 | "type": "zip", 2359 | "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", 2360 | "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", 2361 | "shasum": "" 2362 | }, 2363 | "require": { 2364 | "php": ">=5.6" 2365 | }, 2366 | "type": "library", 2367 | "extra": { 2368 | "branch-alias": { 2369 | "dev-master": "2.0.x-dev" 2370 | } 2371 | }, 2372 | "autoload": { 2373 | "classmap": [ 2374 | "src/" 2375 | ] 2376 | }, 2377 | "notification-url": "https://packagist.org/downloads/", 2378 | "license": [ 2379 | "BSD-3-Clause" 2380 | ], 2381 | "authors": [ 2382 | { 2383 | "name": "Sebastian Bergmann", 2384 | "email": "sebastian@phpunit.de", 2385 | "role": "lead" 2386 | } 2387 | ], 2388 | "description": "Library that helps with managing the version number of Git-hosted PHP projects", 2389 | "homepage": "https://github.com/sebastianbergmann/version", 2390 | "time": "2016-10-03 07:35:21" 2391 | }, 2392 | { 2393 | "name": "swiftmailer/swiftmailer", 2394 | "version": "v6.1.1", 2395 | "source": { 2396 | "type": "git", 2397 | "url": "https://github.com/swiftmailer/swiftmailer.git", 2398 | "reference": "aa899fef280b1c1aec8d5d4ac069af7f80c89a23" 2399 | }, 2400 | "dist": { 2401 | "type": "zip", 2402 | "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/aa899fef280b1c1aec8d5d4ac069af7f80c89a23", 2403 | "reference": "aa899fef280b1c1aec8d5d4ac069af7f80c89a23", 2404 | "shasum": "" 2405 | }, 2406 | "require": { 2407 | "egulias/email-validator": "~2.0", 2408 | "php": ">=7.0.0" 2409 | }, 2410 | "require-dev": { 2411 | "mockery/mockery": "~0.9.1", 2412 | "symfony/phpunit-bridge": "~3.3@dev" 2413 | }, 2414 | "suggest": { 2415 | "ext-intl": "Needed to support internationalized email addresses", 2416 | "true/punycode": "Needed to support internationalized email addresses, if ext-intl is not installed" 2417 | }, 2418 | "type": "library", 2419 | "extra": { 2420 | "branch-alias": { 2421 | "dev-master": "6.1-dev" 2422 | } 2423 | }, 2424 | "autoload": { 2425 | "files": [ 2426 | "lib/swift_required.php" 2427 | ] 2428 | }, 2429 | "notification-url": "https://packagist.org/downloads/", 2430 | "license": [ 2431 | "MIT" 2432 | ], 2433 | "authors": [ 2434 | { 2435 | "name": "Chris Corbyn" 2436 | }, 2437 | { 2438 | "name": "Fabien Potencier", 2439 | "email": "fabien@symfony.com" 2440 | } 2441 | ], 2442 | "description": "Swiftmailer, free feature-rich PHP mailer", 2443 | "homepage": "https://swiftmailer.symfony.com", 2444 | "keywords": [ 2445 | "email", 2446 | "mail", 2447 | "mailer" 2448 | ], 2449 | "time": "2018-07-04 11:12:44" 2450 | }, 2451 | { 2452 | "name": "symfony/console", 2453 | "version": "v4.1.1", 2454 | "source": { 2455 | "type": "git", 2456 | "url": "https://github.com/symfony/console.git", 2457 | "reference": "70591cda56b4b47c55776ac78e157c4bb6c8b43f" 2458 | }, 2459 | "dist": { 2460 | "type": "zip", 2461 | "url": "https://api.github.com/repos/symfony/console/zipball/70591cda56b4b47c55776ac78e157c4bb6c8b43f", 2462 | "reference": "70591cda56b4b47c55776ac78e157c4bb6c8b43f", 2463 | "shasum": "" 2464 | }, 2465 | "require": { 2466 | "php": "^7.1.3", 2467 | "symfony/polyfill-mbstring": "~1.0" 2468 | }, 2469 | "conflict": { 2470 | "symfony/dependency-injection": "<3.4", 2471 | "symfony/process": "<3.3" 2472 | }, 2473 | "require-dev": { 2474 | "psr/log": "~1.0", 2475 | "symfony/config": "~3.4|~4.0", 2476 | "symfony/dependency-injection": "~3.4|~4.0", 2477 | "symfony/event-dispatcher": "~3.4|~4.0", 2478 | "symfony/lock": "~3.4|~4.0", 2479 | "symfony/process": "~3.4|~4.0" 2480 | }, 2481 | "suggest": { 2482 | "psr/log-implementation": "For using the console logger", 2483 | "symfony/event-dispatcher": "", 2484 | "symfony/lock": "", 2485 | "symfony/process": "" 2486 | }, 2487 | "type": "library", 2488 | "extra": { 2489 | "branch-alias": { 2490 | "dev-master": "4.1-dev" 2491 | } 2492 | }, 2493 | "autoload": { 2494 | "psr-4": { 2495 | "Symfony\\Component\\Console\\": "" 2496 | }, 2497 | "exclude-from-classmap": [ 2498 | "/Tests/" 2499 | ] 2500 | }, 2501 | "notification-url": "https://packagist.org/downloads/", 2502 | "license": [ 2503 | "MIT" 2504 | ], 2505 | "authors": [ 2506 | { 2507 | "name": "Fabien Potencier", 2508 | "email": "fabien@symfony.com" 2509 | }, 2510 | { 2511 | "name": "Symfony Community", 2512 | "homepage": "https://symfony.com/contributors" 2513 | } 2514 | ], 2515 | "description": "Symfony Console Component", 2516 | "homepage": "https://symfony.com", 2517 | "time": "2018-05-31 10:17:53" 2518 | }, 2519 | { 2520 | "name": "symfony/css-selector", 2521 | "version": "v4.1.1", 2522 | "source": { 2523 | "type": "git", 2524 | "url": "https://github.com/symfony/css-selector.git", 2525 | "reference": "03ac71606ecb0b0ce792faa17d74cc32c2949ef4" 2526 | }, 2527 | "dist": { 2528 | "type": "zip", 2529 | "url": "https://api.github.com/repos/symfony/css-selector/zipball/03ac71606ecb0b0ce792faa17d74cc32c2949ef4", 2530 | "reference": "03ac71606ecb0b0ce792faa17d74cc32c2949ef4", 2531 | "shasum": "" 2532 | }, 2533 | "require": { 2534 | "php": "^7.1.3" 2535 | }, 2536 | "type": "library", 2537 | "extra": { 2538 | "branch-alias": { 2539 | "dev-master": "4.1-dev" 2540 | } 2541 | }, 2542 | "autoload": { 2543 | "psr-4": { 2544 | "Symfony\\Component\\CssSelector\\": "" 2545 | }, 2546 | "exclude-from-classmap": [ 2547 | "/Tests/" 2548 | ] 2549 | }, 2550 | "notification-url": "https://packagist.org/downloads/", 2551 | "license": [ 2552 | "MIT" 2553 | ], 2554 | "authors": [ 2555 | { 2556 | "name": "Jean-François Simon", 2557 | "email": "jeanfrancois.simon@sensiolabs.com" 2558 | }, 2559 | { 2560 | "name": "Fabien Potencier", 2561 | "email": "fabien@symfony.com" 2562 | }, 2563 | { 2564 | "name": "Symfony Community", 2565 | "homepage": "https://symfony.com/contributors" 2566 | } 2567 | ], 2568 | "description": "Symfony CssSelector Component", 2569 | "homepage": "https://symfony.com", 2570 | "time": "2018-05-30 07:26:09" 2571 | }, 2572 | { 2573 | "name": "symfony/debug", 2574 | "version": "v4.1.1", 2575 | "source": { 2576 | "type": "git", 2577 | "url": "https://github.com/symfony/debug.git", 2578 | "reference": "dbe0fad88046a755dcf9379f2964c61a02f5ae3d" 2579 | }, 2580 | "dist": { 2581 | "type": "zip", 2582 | "url": "https://api.github.com/repos/symfony/debug/zipball/dbe0fad88046a755dcf9379f2964c61a02f5ae3d", 2583 | "reference": "dbe0fad88046a755dcf9379f2964c61a02f5ae3d", 2584 | "shasum": "" 2585 | }, 2586 | "require": { 2587 | "php": "^7.1.3", 2588 | "psr/log": "~1.0" 2589 | }, 2590 | "conflict": { 2591 | "symfony/http-kernel": "<3.4" 2592 | }, 2593 | "require-dev": { 2594 | "symfony/http-kernel": "~3.4|~4.0" 2595 | }, 2596 | "type": "library", 2597 | "extra": { 2598 | "branch-alias": { 2599 | "dev-master": "4.1-dev" 2600 | } 2601 | }, 2602 | "autoload": { 2603 | "psr-4": { 2604 | "Symfony\\Component\\Debug\\": "" 2605 | }, 2606 | "exclude-from-classmap": [ 2607 | "/Tests/" 2608 | ] 2609 | }, 2610 | "notification-url": "https://packagist.org/downloads/", 2611 | "license": [ 2612 | "MIT" 2613 | ], 2614 | "authors": [ 2615 | { 2616 | "name": "Fabien Potencier", 2617 | "email": "fabien@symfony.com" 2618 | }, 2619 | { 2620 | "name": "Symfony Community", 2621 | "homepage": "https://symfony.com/contributors" 2622 | } 2623 | ], 2624 | "description": "Symfony Debug Component", 2625 | "homepage": "https://symfony.com", 2626 | "time": "2018-06-08 09:39:36" 2627 | }, 2628 | { 2629 | "name": "symfony/event-dispatcher", 2630 | "version": "v4.1.1", 2631 | "source": { 2632 | "type": "git", 2633 | "url": "https://github.com/symfony/event-dispatcher.git", 2634 | "reference": "2391ed210a239868e7256eb6921b1bd83f3087b5" 2635 | }, 2636 | "dist": { 2637 | "type": "zip", 2638 | "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/2391ed210a239868e7256eb6921b1bd83f3087b5", 2639 | "reference": "2391ed210a239868e7256eb6921b1bd83f3087b5", 2640 | "shasum": "" 2641 | }, 2642 | "require": { 2643 | "php": "^7.1.3" 2644 | }, 2645 | "conflict": { 2646 | "symfony/dependency-injection": "<3.4" 2647 | }, 2648 | "require-dev": { 2649 | "psr/log": "~1.0", 2650 | "symfony/config": "~3.4|~4.0", 2651 | "symfony/dependency-injection": "~3.4|~4.0", 2652 | "symfony/expression-language": "~3.4|~4.0", 2653 | "symfony/stopwatch": "~3.4|~4.0" 2654 | }, 2655 | "suggest": { 2656 | "symfony/dependency-injection": "", 2657 | "symfony/http-kernel": "" 2658 | }, 2659 | "type": "library", 2660 | "extra": { 2661 | "branch-alias": { 2662 | "dev-master": "4.1-dev" 2663 | } 2664 | }, 2665 | "autoload": { 2666 | "psr-4": { 2667 | "Symfony\\Component\\EventDispatcher\\": "" 2668 | }, 2669 | "exclude-from-classmap": [ 2670 | "/Tests/" 2671 | ] 2672 | }, 2673 | "notification-url": "https://packagist.org/downloads/", 2674 | "license": [ 2675 | "MIT" 2676 | ], 2677 | "authors": [ 2678 | { 2679 | "name": "Fabien Potencier", 2680 | "email": "fabien@symfony.com" 2681 | }, 2682 | { 2683 | "name": "Symfony Community", 2684 | "homepage": "https://symfony.com/contributors" 2685 | } 2686 | ], 2687 | "description": "Symfony EventDispatcher Component", 2688 | "homepage": "https://symfony.com", 2689 | "time": "2018-04-06 07:35:57" 2690 | }, 2691 | { 2692 | "name": "symfony/finder", 2693 | "version": "v4.1.1", 2694 | "source": { 2695 | "type": "git", 2696 | "url": "https://github.com/symfony/finder.git", 2697 | "reference": "84714b8417d19e4ba02ea78a41a975b3efaafddb" 2698 | }, 2699 | "dist": { 2700 | "type": "zip", 2701 | "url": "https://api.github.com/repos/symfony/finder/zipball/84714b8417d19e4ba02ea78a41a975b3efaafddb", 2702 | "reference": "84714b8417d19e4ba02ea78a41a975b3efaafddb", 2703 | "shasum": "" 2704 | }, 2705 | "require": { 2706 | "php": "^7.1.3" 2707 | }, 2708 | "type": "library", 2709 | "extra": { 2710 | "branch-alias": { 2711 | "dev-master": "4.1-dev" 2712 | } 2713 | }, 2714 | "autoload": { 2715 | "psr-4": { 2716 | "Symfony\\Component\\Finder\\": "" 2717 | }, 2718 | "exclude-from-classmap": [ 2719 | "/Tests/" 2720 | ] 2721 | }, 2722 | "notification-url": "https://packagist.org/downloads/", 2723 | "license": [ 2724 | "MIT" 2725 | ], 2726 | "authors": [ 2727 | { 2728 | "name": "Fabien Potencier", 2729 | "email": "fabien@symfony.com" 2730 | }, 2731 | { 2732 | "name": "Symfony Community", 2733 | "homepage": "https://symfony.com/contributors" 2734 | } 2735 | ], 2736 | "description": "Symfony Finder Component", 2737 | "homepage": "https://symfony.com", 2738 | "time": "2018-06-19 21:38:16" 2739 | }, 2740 | { 2741 | "name": "symfony/http-foundation", 2742 | "version": "v4.1.1", 2743 | "source": { 2744 | "type": "git", 2745 | "url": "https://github.com/symfony/http-foundation.git", 2746 | "reference": "4f9c7cf962e635b0b26b14500ac046e07dbef7f3" 2747 | }, 2748 | "dist": { 2749 | "type": "zip", 2750 | "url": "https://api.github.com/repos/symfony/http-foundation/zipball/4f9c7cf962e635b0b26b14500ac046e07dbef7f3", 2751 | "reference": "4f9c7cf962e635b0b26b14500ac046e07dbef7f3", 2752 | "shasum": "" 2753 | }, 2754 | "require": { 2755 | "php": "^7.1.3", 2756 | "symfony/polyfill-mbstring": "~1.1" 2757 | }, 2758 | "require-dev": { 2759 | "predis/predis": "~1.0", 2760 | "symfony/expression-language": "~3.4|~4.0" 2761 | }, 2762 | "type": "library", 2763 | "extra": { 2764 | "branch-alias": { 2765 | "dev-master": "4.1-dev" 2766 | } 2767 | }, 2768 | "autoload": { 2769 | "psr-4": { 2770 | "Symfony\\Component\\HttpFoundation\\": "" 2771 | }, 2772 | "exclude-from-classmap": [ 2773 | "/Tests/" 2774 | ] 2775 | }, 2776 | "notification-url": "https://packagist.org/downloads/", 2777 | "license": [ 2778 | "MIT" 2779 | ], 2780 | "authors": [ 2781 | { 2782 | "name": "Fabien Potencier", 2783 | "email": "fabien@symfony.com" 2784 | }, 2785 | { 2786 | "name": "Symfony Community", 2787 | "homepage": "https://symfony.com/contributors" 2788 | } 2789 | ], 2790 | "description": "Symfony HttpFoundation Component", 2791 | "homepage": "https://symfony.com", 2792 | "time": "2018-06-19 21:38:16" 2793 | }, 2794 | { 2795 | "name": "symfony/http-kernel", 2796 | "version": "v4.1.1", 2797 | "source": { 2798 | "type": "git", 2799 | "url": "https://github.com/symfony/http-kernel.git", 2800 | "reference": "29c094a1c4f8209b7e033f612cbbd69029e38955" 2801 | }, 2802 | "dist": { 2803 | "type": "zip", 2804 | "url": "https://api.github.com/repos/symfony/http-kernel/zipball/29c094a1c4f8209b7e033f612cbbd69029e38955", 2805 | "reference": "29c094a1c4f8209b7e033f612cbbd69029e38955", 2806 | "shasum": "" 2807 | }, 2808 | "require": { 2809 | "php": "^7.1.3", 2810 | "psr/log": "~1.0", 2811 | "symfony/debug": "~3.4|~4.0", 2812 | "symfony/event-dispatcher": "~4.1", 2813 | "symfony/http-foundation": "^4.1.1", 2814 | "symfony/polyfill-ctype": "~1.8" 2815 | }, 2816 | "conflict": { 2817 | "symfony/config": "<3.4", 2818 | "symfony/dependency-injection": "<4.1", 2819 | "symfony/var-dumper": "<4.1.1", 2820 | "twig/twig": "<1.34|<2.4,>=2" 2821 | }, 2822 | "provide": { 2823 | "psr/log-implementation": "1.0" 2824 | }, 2825 | "require-dev": { 2826 | "psr/cache": "~1.0", 2827 | "symfony/browser-kit": "~3.4|~4.0", 2828 | "symfony/config": "~3.4|~4.0", 2829 | "symfony/console": "~3.4|~4.0", 2830 | "symfony/css-selector": "~3.4|~4.0", 2831 | "symfony/dependency-injection": "^4.1", 2832 | "symfony/dom-crawler": "~3.4|~4.0", 2833 | "symfony/expression-language": "~3.4|~4.0", 2834 | "symfony/finder": "~3.4|~4.0", 2835 | "symfony/process": "~3.4|~4.0", 2836 | "symfony/routing": "~3.4|~4.0", 2837 | "symfony/stopwatch": "~3.4|~4.0", 2838 | "symfony/templating": "~3.4|~4.0", 2839 | "symfony/translation": "~3.4|~4.0", 2840 | "symfony/var-dumper": "^4.1.1" 2841 | }, 2842 | "suggest": { 2843 | "symfony/browser-kit": "", 2844 | "symfony/config": "", 2845 | "symfony/console": "", 2846 | "symfony/dependency-injection": "", 2847 | "symfony/var-dumper": "" 2848 | }, 2849 | "type": "library", 2850 | "extra": { 2851 | "branch-alias": { 2852 | "dev-master": "4.1-dev" 2853 | } 2854 | }, 2855 | "autoload": { 2856 | "psr-4": { 2857 | "Symfony\\Component\\HttpKernel\\": "" 2858 | }, 2859 | "exclude-from-classmap": [ 2860 | "/Tests/" 2861 | ] 2862 | }, 2863 | "notification-url": "https://packagist.org/downloads/", 2864 | "license": [ 2865 | "MIT" 2866 | ], 2867 | "authors": [ 2868 | { 2869 | "name": "Fabien Potencier", 2870 | "email": "fabien@symfony.com" 2871 | }, 2872 | { 2873 | "name": "Symfony Community", 2874 | "homepage": "https://symfony.com/contributors" 2875 | } 2876 | ], 2877 | "description": "Symfony HttpKernel Component", 2878 | "homepage": "https://symfony.com", 2879 | "time": "2018-06-25 13:06:45" 2880 | }, 2881 | { 2882 | "name": "symfony/polyfill-ctype", 2883 | "version": "v1.8.0", 2884 | "source": { 2885 | "type": "git", 2886 | "url": "https://github.com/symfony/polyfill-ctype.git", 2887 | "reference": "7cc359f1b7b80fc25ed7796be7d96adc9b354bae" 2888 | }, 2889 | "dist": { 2890 | "type": "zip", 2891 | "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/7cc359f1b7b80fc25ed7796be7d96adc9b354bae", 2892 | "reference": "7cc359f1b7b80fc25ed7796be7d96adc9b354bae", 2893 | "shasum": "" 2894 | }, 2895 | "require": { 2896 | "php": ">=5.3.3" 2897 | }, 2898 | "type": "library", 2899 | "extra": { 2900 | "branch-alias": { 2901 | "dev-master": "1.8-dev" 2902 | } 2903 | }, 2904 | "autoload": { 2905 | "psr-4": { 2906 | "Symfony\\Polyfill\\Ctype\\": "" 2907 | }, 2908 | "files": [ 2909 | "bootstrap.php" 2910 | ] 2911 | }, 2912 | "notification-url": "https://packagist.org/downloads/", 2913 | "license": [ 2914 | "MIT" 2915 | ], 2916 | "authors": [ 2917 | { 2918 | "name": "Symfony Community", 2919 | "homepage": "https://symfony.com/contributors" 2920 | }, 2921 | { 2922 | "name": "Gert de Pagter", 2923 | "email": "BackEndTea@gmail.com" 2924 | } 2925 | ], 2926 | "description": "Symfony polyfill for ctype functions", 2927 | "homepage": "https://symfony.com", 2928 | "keywords": [ 2929 | "compatibility", 2930 | "ctype", 2931 | "polyfill", 2932 | "portable" 2933 | ], 2934 | "time": "2018-04-30 19:57:29" 2935 | }, 2936 | { 2937 | "name": "symfony/polyfill-mbstring", 2938 | "version": "v1.8.0", 2939 | "source": { 2940 | "type": "git", 2941 | "url": "https://github.com/symfony/polyfill-mbstring.git", 2942 | "reference": "3296adf6a6454a050679cde90f95350ad604b171" 2943 | }, 2944 | "dist": { 2945 | "type": "zip", 2946 | "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/3296adf6a6454a050679cde90f95350ad604b171", 2947 | "reference": "3296adf6a6454a050679cde90f95350ad604b171", 2948 | "shasum": "" 2949 | }, 2950 | "require": { 2951 | "php": ">=5.3.3" 2952 | }, 2953 | "suggest": { 2954 | "ext-mbstring": "For best performance" 2955 | }, 2956 | "type": "library", 2957 | "extra": { 2958 | "branch-alias": { 2959 | "dev-master": "1.8-dev" 2960 | } 2961 | }, 2962 | "autoload": { 2963 | "psr-4": { 2964 | "Symfony\\Polyfill\\Mbstring\\": "" 2965 | }, 2966 | "files": [ 2967 | "bootstrap.php" 2968 | ] 2969 | }, 2970 | "notification-url": "https://packagist.org/downloads/", 2971 | "license": [ 2972 | "MIT" 2973 | ], 2974 | "authors": [ 2975 | { 2976 | "name": "Nicolas Grekas", 2977 | "email": "p@tchwork.com" 2978 | }, 2979 | { 2980 | "name": "Symfony Community", 2981 | "homepage": "https://symfony.com/contributors" 2982 | } 2983 | ], 2984 | "description": "Symfony polyfill for the Mbstring extension", 2985 | "homepage": "https://symfony.com", 2986 | "keywords": [ 2987 | "compatibility", 2988 | "mbstring", 2989 | "polyfill", 2990 | "portable", 2991 | "shim" 2992 | ], 2993 | "time": "2018-04-26 10:06:28" 2994 | }, 2995 | { 2996 | "name": "symfony/polyfill-php72", 2997 | "version": "v1.8.0", 2998 | "source": { 2999 | "type": "git", 3000 | "url": "https://github.com/symfony/polyfill-php72.git", 3001 | "reference": "a4576e282d782ad82397f3e4ec1df8e0f0cafb46" 3002 | }, 3003 | "dist": { 3004 | "type": "zip", 3005 | "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/a4576e282d782ad82397f3e4ec1df8e0f0cafb46", 3006 | "reference": "a4576e282d782ad82397f3e4ec1df8e0f0cafb46", 3007 | "shasum": "" 3008 | }, 3009 | "require": { 3010 | "php": ">=5.3.3" 3011 | }, 3012 | "type": "library", 3013 | "extra": { 3014 | "branch-alias": { 3015 | "dev-master": "1.8-dev" 3016 | } 3017 | }, 3018 | "autoload": { 3019 | "psr-4": { 3020 | "Symfony\\Polyfill\\Php72\\": "" 3021 | }, 3022 | "files": [ 3023 | "bootstrap.php" 3024 | ] 3025 | }, 3026 | "notification-url": "https://packagist.org/downloads/", 3027 | "license": [ 3028 | "MIT" 3029 | ], 3030 | "authors": [ 3031 | { 3032 | "name": "Nicolas Grekas", 3033 | "email": "p@tchwork.com" 3034 | }, 3035 | { 3036 | "name": "Symfony Community", 3037 | "homepage": "https://symfony.com/contributors" 3038 | } 3039 | ], 3040 | "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", 3041 | "homepage": "https://symfony.com", 3042 | "keywords": [ 3043 | "compatibility", 3044 | "polyfill", 3045 | "portable", 3046 | "shim" 3047 | ], 3048 | "time": "2018-04-26 10:06:28" 3049 | }, 3050 | { 3051 | "name": "symfony/process", 3052 | "version": "v4.1.1", 3053 | "source": { 3054 | "type": "git", 3055 | "url": "https://github.com/symfony/process.git", 3056 | "reference": "1d1677391ecf00d1c5b9482d6050c0c27aa3ac3a" 3057 | }, 3058 | "dist": { 3059 | "type": "zip", 3060 | "url": "https://api.github.com/repos/symfony/process/zipball/1d1677391ecf00d1c5b9482d6050c0c27aa3ac3a", 3061 | "reference": "1d1677391ecf00d1c5b9482d6050c0c27aa3ac3a", 3062 | "shasum": "" 3063 | }, 3064 | "require": { 3065 | "php": "^7.1.3" 3066 | }, 3067 | "type": "library", 3068 | "extra": { 3069 | "branch-alias": { 3070 | "dev-master": "4.1-dev" 3071 | } 3072 | }, 3073 | "autoload": { 3074 | "psr-4": { 3075 | "Symfony\\Component\\Process\\": "" 3076 | }, 3077 | "exclude-from-classmap": [ 3078 | "/Tests/" 3079 | ] 3080 | }, 3081 | "notification-url": "https://packagist.org/downloads/", 3082 | "license": [ 3083 | "MIT" 3084 | ], 3085 | "authors": [ 3086 | { 3087 | "name": "Fabien Potencier", 3088 | "email": "fabien@symfony.com" 3089 | }, 3090 | { 3091 | "name": "Symfony Community", 3092 | "homepage": "https://symfony.com/contributors" 3093 | } 3094 | ], 3095 | "description": "Symfony Process Component", 3096 | "homepage": "https://symfony.com", 3097 | "time": "2018-05-31 10:17:53" 3098 | }, 3099 | { 3100 | "name": "symfony/routing", 3101 | "version": "v4.1.1", 3102 | "source": { 3103 | "type": "git", 3104 | "url": "https://github.com/symfony/routing.git", 3105 | "reference": "b38b9797327b26ea2e4146a40e6e2dc9820a6932" 3106 | }, 3107 | "dist": { 3108 | "type": "zip", 3109 | "url": "https://api.github.com/repos/symfony/routing/zipball/b38b9797327b26ea2e4146a40e6e2dc9820a6932", 3110 | "reference": "b38b9797327b26ea2e4146a40e6e2dc9820a6932", 3111 | "shasum": "" 3112 | }, 3113 | "require": { 3114 | "php": "^7.1.3" 3115 | }, 3116 | "conflict": { 3117 | "symfony/config": "<3.4", 3118 | "symfony/dependency-injection": "<3.4", 3119 | "symfony/yaml": "<3.4" 3120 | }, 3121 | "require-dev": { 3122 | "doctrine/annotations": "~1.0", 3123 | "psr/log": "~1.0", 3124 | "symfony/config": "~3.4|~4.0", 3125 | "symfony/dependency-injection": "~3.4|~4.0", 3126 | "symfony/expression-language": "~3.4|~4.0", 3127 | "symfony/http-foundation": "~3.4|~4.0", 3128 | "symfony/yaml": "~3.4|~4.0" 3129 | }, 3130 | "suggest": { 3131 | "doctrine/annotations": "For using the annotation loader", 3132 | "symfony/config": "For using the all-in-one router or any loader", 3133 | "symfony/dependency-injection": "For loading routes from a service", 3134 | "symfony/expression-language": "For using expression matching", 3135 | "symfony/http-foundation": "For using a Symfony Request object", 3136 | "symfony/yaml": "For using the YAML loader" 3137 | }, 3138 | "type": "library", 3139 | "extra": { 3140 | "branch-alias": { 3141 | "dev-master": "4.1-dev" 3142 | } 3143 | }, 3144 | "autoload": { 3145 | "psr-4": { 3146 | "Symfony\\Component\\Routing\\": "" 3147 | }, 3148 | "exclude-from-classmap": [ 3149 | "/Tests/" 3150 | ] 3151 | }, 3152 | "notification-url": "https://packagist.org/downloads/", 3153 | "license": [ 3154 | "MIT" 3155 | ], 3156 | "authors": [ 3157 | { 3158 | "name": "Fabien Potencier", 3159 | "email": "fabien@symfony.com" 3160 | }, 3161 | { 3162 | "name": "Symfony Community", 3163 | "homepage": "https://symfony.com/contributors" 3164 | } 3165 | ], 3166 | "description": "Symfony Routing Component", 3167 | "homepage": "https://symfony.com", 3168 | "keywords": [ 3169 | "router", 3170 | "routing", 3171 | "uri", 3172 | "url" 3173 | ], 3174 | "time": "2018-06-19 21:38:16" 3175 | }, 3176 | { 3177 | "name": "symfony/translation", 3178 | "version": "v4.1.1", 3179 | "source": { 3180 | "type": "git", 3181 | "url": "https://github.com/symfony/translation.git", 3182 | "reference": "b6d8164085ee0b6debcd1b7a131fd6f63bb04854" 3183 | }, 3184 | "dist": { 3185 | "type": "zip", 3186 | "url": "https://api.github.com/repos/symfony/translation/zipball/b6d8164085ee0b6debcd1b7a131fd6f63bb04854", 3187 | "reference": "b6d8164085ee0b6debcd1b7a131fd6f63bb04854", 3188 | "shasum": "" 3189 | }, 3190 | "require": { 3191 | "php": "^7.1.3", 3192 | "symfony/polyfill-mbstring": "~1.0" 3193 | }, 3194 | "conflict": { 3195 | "symfony/config": "<3.4", 3196 | "symfony/dependency-injection": "<3.4", 3197 | "symfony/yaml": "<3.4" 3198 | }, 3199 | "require-dev": { 3200 | "psr/log": "~1.0", 3201 | "symfony/config": "~3.4|~4.0", 3202 | "symfony/console": "~3.4|~4.0", 3203 | "symfony/dependency-injection": "~3.4|~4.0", 3204 | "symfony/finder": "~2.8|~3.0|~4.0", 3205 | "symfony/intl": "~3.4|~4.0", 3206 | "symfony/yaml": "~3.4|~4.0" 3207 | }, 3208 | "suggest": { 3209 | "psr/log-implementation": "To use logging capability in translator", 3210 | "symfony/config": "", 3211 | "symfony/yaml": "" 3212 | }, 3213 | "type": "library", 3214 | "extra": { 3215 | "branch-alias": { 3216 | "dev-master": "4.1-dev" 3217 | } 3218 | }, 3219 | "autoload": { 3220 | "psr-4": { 3221 | "Symfony\\Component\\Translation\\": "" 3222 | }, 3223 | "exclude-from-classmap": [ 3224 | "/Tests/" 3225 | ] 3226 | }, 3227 | "notification-url": "https://packagist.org/downloads/", 3228 | "license": [ 3229 | "MIT" 3230 | ], 3231 | "authors": [ 3232 | { 3233 | "name": "Fabien Potencier", 3234 | "email": "fabien@symfony.com" 3235 | }, 3236 | { 3237 | "name": "Symfony Community", 3238 | "homepage": "https://symfony.com/contributors" 3239 | } 3240 | ], 3241 | "description": "Symfony Translation Component", 3242 | "homepage": "https://symfony.com", 3243 | "time": "2018-06-22 08:59:39" 3244 | }, 3245 | { 3246 | "name": "symfony/var-dumper", 3247 | "version": "v4.1.1", 3248 | "source": { 3249 | "type": "git", 3250 | "url": "https://github.com/symfony/var-dumper.git", 3251 | "reference": "b2eebaec085d1f2cafbad7644733d494a3bbbc9b" 3252 | }, 3253 | "dist": { 3254 | "type": "zip", 3255 | "url": "https://api.github.com/repos/symfony/var-dumper/zipball/b2eebaec085d1f2cafbad7644733d494a3bbbc9b", 3256 | "reference": "b2eebaec085d1f2cafbad7644733d494a3bbbc9b", 3257 | "shasum": "" 3258 | }, 3259 | "require": { 3260 | "php": "^7.1.3", 3261 | "symfony/polyfill-mbstring": "~1.0", 3262 | "symfony/polyfill-php72": "~1.5" 3263 | }, 3264 | "conflict": { 3265 | "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0", 3266 | "symfony/console": "<3.4" 3267 | }, 3268 | "require-dev": { 3269 | "ext-iconv": "*", 3270 | "symfony/process": "~3.4|~4.0", 3271 | "twig/twig": "~1.34|~2.4" 3272 | }, 3273 | "suggest": { 3274 | "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", 3275 | "ext-intl": "To show region name in time zone dump", 3276 | "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" 3277 | }, 3278 | "bin": [ 3279 | "Resources/bin/var-dump-server" 3280 | ], 3281 | "type": "library", 3282 | "extra": { 3283 | "branch-alias": { 3284 | "dev-master": "4.1-dev" 3285 | } 3286 | }, 3287 | "autoload": { 3288 | "files": [ 3289 | "Resources/functions/dump.php" 3290 | ], 3291 | "psr-4": { 3292 | "Symfony\\Component\\VarDumper\\": "" 3293 | }, 3294 | "exclude-from-classmap": [ 3295 | "/Tests/" 3296 | ] 3297 | }, 3298 | "notification-url": "https://packagist.org/downloads/", 3299 | "license": [ 3300 | "MIT" 3301 | ], 3302 | "authors": [ 3303 | { 3304 | "name": "Nicolas Grekas", 3305 | "email": "p@tchwork.com" 3306 | }, 3307 | { 3308 | "name": "Symfony Community", 3309 | "homepage": "https://symfony.com/contributors" 3310 | } 3311 | ], 3312 | "description": "Symfony mechanism for exploring and dumping PHP variables", 3313 | "homepage": "https://symfony.com", 3314 | "keywords": [ 3315 | "debug", 3316 | "dump" 3317 | ], 3318 | "time": "2018-06-23 12:23:56" 3319 | }, 3320 | { 3321 | "name": "theseer/tokenizer", 3322 | "version": "1.1.0", 3323 | "source": { 3324 | "type": "git", 3325 | "url": "https://github.com/theseer/tokenizer.git", 3326 | "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b" 3327 | }, 3328 | "dist": { 3329 | "type": "zip", 3330 | "url": "https://api.github.com/repos/theseer/tokenizer/zipball/cb2f008f3f05af2893a87208fe6a6c4985483f8b", 3331 | "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b", 3332 | "shasum": "" 3333 | }, 3334 | "require": { 3335 | "ext-dom": "*", 3336 | "ext-tokenizer": "*", 3337 | "ext-xmlwriter": "*", 3338 | "php": "^7.0" 3339 | }, 3340 | "type": "library", 3341 | "autoload": { 3342 | "classmap": [ 3343 | "src/" 3344 | ] 3345 | }, 3346 | "notification-url": "https://packagist.org/downloads/", 3347 | "license": [ 3348 | "BSD-3-Clause" 3349 | ], 3350 | "authors": [ 3351 | { 3352 | "name": "Arne Blankerts", 3353 | "email": "arne@blankerts.de", 3354 | "role": "Developer" 3355 | } 3356 | ], 3357 | "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", 3358 | "time": "2017-04-07 12:08:54" 3359 | }, 3360 | { 3361 | "name": "tijsverkoyen/css-to-inline-styles", 3362 | "version": "2.2.1", 3363 | "source": { 3364 | "type": "git", 3365 | "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", 3366 | "reference": "0ed4a2ea4e0902dac0489e6436ebcd5bbcae9757" 3367 | }, 3368 | "dist": { 3369 | "type": "zip", 3370 | "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/0ed4a2ea4e0902dac0489e6436ebcd5bbcae9757", 3371 | "reference": "0ed4a2ea4e0902dac0489e6436ebcd5bbcae9757", 3372 | "shasum": "" 3373 | }, 3374 | "require": { 3375 | "php": "^5.5 || ^7.0", 3376 | "symfony/css-selector": "^2.7 || ^3.0 || ^4.0" 3377 | }, 3378 | "require-dev": { 3379 | "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" 3380 | }, 3381 | "type": "library", 3382 | "extra": { 3383 | "branch-alias": { 3384 | "dev-master": "2.2.x-dev" 3385 | } 3386 | }, 3387 | "autoload": { 3388 | "psr-4": { 3389 | "TijsVerkoyen\\CssToInlineStyles\\": "src" 3390 | } 3391 | }, 3392 | "notification-url": "https://packagist.org/downloads/", 3393 | "license": [ 3394 | "BSD-3-Clause" 3395 | ], 3396 | "authors": [ 3397 | { 3398 | "name": "Tijs Verkoyen", 3399 | "email": "css_to_inline_styles@verkoyen.eu", 3400 | "role": "Developer" 3401 | } 3402 | ], 3403 | "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", 3404 | "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", 3405 | "time": "2017-11-27 11:13:29" 3406 | }, 3407 | { 3408 | "name": "vlucas/phpdotenv", 3409 | "version": "v2.5.0", 3410 | "source": { 3411 | "type": "git", 3412 | "url": "https://github.com/vlucas/phpdotenv.git", 3413 | "reference": "6ae3e2e6494bb5e58c2decadafc3de7f1453f70a" 3414 | }, 3415 | "dist": { 3416 | "type": "zip", 3417 | "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/6ae3e2e6494bb5e58c2decadafc3de7f1453f70a", 3418 | "reference": "6ae3e2e6494bb5e58c2decadafc3de7f1453f70a", 3419 | "shasum": "" 3420 | }, 3421 | "require": { 3422 | "php": ">=5.3.9" 3423 | }, 3424 | "require-dev": { 3425 | "phpunit/phpunit": "^4.8.35 || ^5.0" 3426 | }, 3427 | "type": "library", 3428 | "extra": { 3429 | "branch-alias": { 3430 | "dev-master": "2.5-dev" 3431 | } 3432 | }, 3433 | "autoload": { 3434 | "psr-4": { 3435 | "Dotenv\\": "src/" 3436 | } 3437 | }, 3438 | "notification-url": "https://packagist.org/downloads/", 3439 | "license": [ 3440 | "BSD-3-Clause" 3441 | ], 3442 | "authors": [ 3443 | { 3444 | "name": "Vance Lucas", 3445 | "email": "vance@vancelucas.com", 3446 | "homepage": "http://www.vancelucas.com" 3447 | } 3448 | ], 3449 | "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", 3450 | "keywords": [ 3451 | "dotenv", 3452 | "env", 3453 | "environment" 3454 | ], 3455 | "time": "2018-07-01 10:25:50" 3456 | }, 3457 | { 3458 | "name": "webmozart/assert", 3459 | "version": "1.3.0", 3460 | "source": { 3461 | "type": "git", 3462 | "url": "https://github.com/webmozart/assert.git", 3463 | "reference": "0df1908962e7a3071564e857d86874dad1ef204a" 3464 | }, 3465 | "dist": { 3466 | "type": "zip", 3467 | "url": "https://api.github.com/repos/webmozart/assert/zipball/0df1908962e7a3071564e857d86874dad1ef204a", 3468 | "reference": "0df1908962e7a3071564e857d86874dad1ef204a", 3469 | "shasum": "" 3470 | }, 3471 | "require": { 3472 | "php": "^5.3.3 || ^7.0" 3473 | }, 3474 | "require-dev": { 3475 | "phpunit/phpunit": "^4.6", 3476 | "sebastian/version": "^1.0.1" 3477 | }, 3478 | "type": "library", 3479 | "extra": { 3480 | "branch-alias": { 3481 | "dev-master": "1.3-dev" 3482 | } 3483 | }, 3484 | "autoload": { 3485 | "psr-4": { 3486 | "Webmozart\\Assert\\": "src/" 3487 | } 3488 | }, 3489 | "notification-url": "https://packagist.org/downloads/", 3490 | "license": [ 3491 | "MIT" 3492 | ], 3493 | "authors": [ 3494 | { 3495 | "name": "Bernhard Schussek", 3496 | "email": "bschussek@gmail.com" 3497 | } 3498 | ], 3499 | "description": "Assertions to validate method input/output with nice error messages.", 3500 | "keywords": [ 3501 | "assert", 3502 | "check", 3503 | "validate" 3504 | ], 3505 | "time": "2018-01-29 19:49:41" 3506 | } 3507 | ], 3508 | "aliases": [], 3509 | "minimum-stability": "stable", 3510 | "stability-flags": [], 3511 | "prefer-stable": false, 3512 | "prefer-lowest": false, 3513 | "platform": [], 3514 | "platform-dev": [] 3515 | } 3516 | --------------------------------------------------------------------------------