├── .gitignore ├── config └── json_schema_validator.php ├── .travis.yml ├── tests ├── resources │ ├── invalidPayloads │ │ ├── version.json │ │ └── age.json │ ├── payload.json │ └── schema.json └── JsonSchemaValidatorTest.php ├── src ├── JsonSchemaValidatorException.php ├── JsonSchemaValidator.php └── ServiceProvider.php ├── LICENSE ├── phpunit.xml ├── composer.json ├── phpcs.xml ├── README.md └── composer.lock /.gitignore: -------------------------------------------------------------------------------- 1 | vendor 2 | .phpunit.result.cache -------------------------------------------------------------------------------- /config/json_schema_validator.php: -------------------------------------------------------------------------------- 1 | env('JSON_SCHEMA_VALIDATOR_STORAGE_PATH', storage_path()), 5 | ]; -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: php 2 | os: 3 | [ 4 | "linux" 5 | ] 6 | dist: "bionic" 7 | php: 8 | - '7.3' 9 | - '7.4' 10 | before_script: 11 | - phpenv config-rm xdebug.ini 12 | - composer self-update 13 | - composer install --prefer-source --no-interaction --dev 14 | script: 15 | - phpunit 16 | cache: 17 | directories: 18 | - $HOME/.composer/cache/files -------------------------------------------------------------------------------- /tests/resources/invalidPayloads/version.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 12, 3 | "author": { 4 | "name": "Cylon", 5 | "favoriteFood": "oil", 6 | "age": 290, 7 | "favoriteFictionalCharacters": [ 8 | "Humans" 9 | ], 10 | "bestDaysToEat": { 11 | "start": "01/01", 12 | "end": "12/31" 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /tests/resources/invalidPayloads/age.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 11, 3 | "author": { 4 | "name": "Homer Simpson", 5 | "favoriteFood": "donuts", 6 | "favoriteFictionalCharacters": [ 7 | "Superman", 8 | "Itchy & Scratchy" 9 | ], 10 | "bestDaysToEat": { 11 | "start": "01/01", 12 | "end": "12/31" 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /tests/resources/payload.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 11, 3 | "author": { 4 | "name": "Henrique Ramos", 5 | "favoriteFood": "Fast food", 6 | "age": 29, 7 | "favoriteFictionalCharacters": [ 8 | "Homer J. Simpson", 9 | "Jack O'Neill" 10 | ], 11 | "bestDaysToEat": { 12 | "start": "01/01", 13 | "end": "12/31" 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /src/JsonSchemaValidatorException.php: -------------------------------------------------------------------------------- 1 | 2 | 14 | 15 | 16 | ./tests 17 | 18 | 19 | 20 | 21 | ./src 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /src/JsonSchemaValidator.php: -------------------------------------------------------------------------------- 1 | jsonSchema = (string) file_get_contents($filePath); 21 | } 22 | 23 | public function getSchema(): stdClass 24 | { 25 | return json_decode($this->jsonSchema); 26 | } 27 | 28 | public function setData(string $data): void 29 | { 30 | $this->rawData = $data; 31 | } 32 | 33 | /** 34 | * Get decoded data for $rawData 35 | * 36 | * @return mixed This can be a mixed return. Array or stdClass 37 | */ 38 | public function getData() 39 | { 40 | return json_decode($this->rawData); 41 | } 42 | 43 | public function validate(): bool 44 | { 45 | $schema = $this->getSchema(); 46 | $schemaDecode = json_last_error(); 47 | $data = $this->getData(); 48 | 49 | $dataDecode = json_last_error(); 50 | 51 | if ($schemaDecode != JSON_ERROR_NONE || 52 | $dataDecode != JSON_ERROR_NONE 53 | ) { 54 | throw new JsonSchemaValidatorException(JsonSchemaValidatorException::WASNT_POSSIBLE_DECODE_PARAMETERS); 55 | } 56 | 57 | $schema = BaseSchema::import($schema); 58 | $schema->in($data); 59 | 60 | return true; 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "henriqueramos/laravel_json_schema_validator", 3 | "type": "library", 4 | "description": "Laravel JSON Schema Validator it's a Composer package created to help us to validate JSON Schemas.", 5 | "keywords": ["laravel", "package", "validator", "json schema", "json", "Henrique Ramos", "madeInBrazil"], 6 | "homepage": "https://henriqueramos.eti.br/opensources", 7 | "license": "MIT", 8 | "authors": [ 9 | { 10 | "name": "Henrique Ramos", 11 | "email": "henrique@henriqueramos.eti.br", 12 | "homepage": "https://henriqueramos.eti.br", 13 | "role": "Developer" 14 | } 15 | ], 16 | "require": { 17 | "php": ">=7.3", 18 | "laravel/framework": ">=5.8", 19 | "swaggest/json-schema": "^0.12.29" 20 | }, 21 | "require-dev": { 22 | "squizlabs/php_codesniffer": "*", 23 | "slevomat/coding-standard": "~4.0", 24 | "phpunit/phpunit": "8.5.4", 25 | "phpunit/php-code-coverage": "^7.0.9" 26 | }, 27 | "autoload": { 28 | "psr-4": { 29 | "RamosHenrique\\JsonSchemaValidator\\": "src/" 30 | } 31 | }, 32 | "autoload-dev": { 33 | "psr-4": { 34 | "RamosHenrique\\JsonSchemaValidator\\Testes\\": "tests/" 35 | } 36 | }, 37 | "scripts": { 38 | "phpcs": [ 39 | "@php vendor/bin/phpcs --extensions=php --encoding=utf-8 --tab-width=4 -sp src", 40 | "@php vendor/bin/phpcs --extensions=php --encoding=utf-8 --tab-width=4 -sp tests" 41 | ] 42 | }, 43 | "extra": { 44 | "laravel": { 45 | "providers": [ 46 | "RamosHenrique\\JsonSchemaValidator\\ServiceProvider" 47 | ] 48 | } 49 | }, 50 | "minimum-stability": "dev", 51 | "prefer-stable": true 52 | } 53 | -------------------------------------------------------------------------------- /src/ServiceProvider.php: -------------------------------------------------------------------------------- 1 | publishes( 16 | [ 17 | __DIR__.'/../config/json_schema_validator.php' => config_path('json_schema_validator.php'), 18 | ], 19 | 'json_schema_validator' 20 | ); 21 | 22 | BaseValidator::extend('json_schema_validator', static function ($attribute, $value, $parameters, $validator) { 23 | if (count($parameters) != 1) { 24 | throw ValidationException::withMessages([ 25 | 'json_schema_validator' => JsonSchemaValidatorException::INVALID_PARAMETERS_QUANTITY, 26 | ]); 27 | } 28 | 29 | $filePath = config('json_schema_validator.storage_path') . '/' . $parameters[0]; 30 | 31 | try { 32 | $JsonValidate = new JsonSchemaValidator(); 33 | 34 | $JsonValidate->setSchema($filePath); 35 | $JsonValidate->setData($value); 36 | 37 | return $JsonValidate->validate(); 38 | } catch (Exception $e) { 39 | throw ValidationException::withMessages([ 40 | 'json_schema_validator' => $e->getMessage(), 41 | ]); 42 | } 43 | }); 44 | } 45 | 46 | /** 47 | * Make config publishment optional by merging the config from the package. 48 | * 49 | * @return void 50 | */ 51 | public function register() 52 | { 53 | $this->mergeConfigFrom( 54 | __DIR__.'/../config/json_schema_validator.php', 55 | 'json_schema_validator' 56 | ); 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /tests/JsonSchemaValidatorTest.php: -------------------------------------------------------------------------------- 1 | retrieveFilePath($filename)); 24 | } 25 | 26 | public function testValidationWithValidInformation(): void 27 | { 28 | $schema = new JsonSchemaValidator(); 29 | $schema->setSchema($this->retrieveFilePath('schema.json')); 30 | $schema->setData($this->retrievePayload('payload.json')); 31 | 32 | $this->assertTrue($schema->validate(), 'True expected on validate result'); 33 | } 34 | 35 | public function testValidationWithWrongVersionPayload(): void 36 | { 37 | $this->expectException(NumericException::class); 38 | $this->expectExceptionMessage('Value less than 11 expected, 12 received'); 39 | 40 | $schema = new JsonSchemaValidator(); 41 | $schema->setSchema($this->retrieveFilePath('schema.json')); 42 | $schema->setData($this->retrievePayload('invalidPayloads/version.json')); 43 | 44 | $schema->validate(); 45 | } 46 | 47 | public function testValidationWithForgottenAgePayload(): void 48 | { 49 | $this->expectException(ObjectException::class); 50 | $this->expectExceptionMessage('Required property missing: age'); 51 | 52 | $schema = new JsonSchemaValidator(); 53 | $schema->setSchema($this->retrieveFilePath('schema.json')); 54 | $schema->setData($this->retrievePayload('invalidPayloads/age.json')); 55 | 56 | $schema->validate(); 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /tests/resources/schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-07/schema#", 3 | "$id": "json_schema.json", 4 | "properties": { 5 | "version": { 6 | "type": "integer", 7 | "minimum": 1, 8 | "maximum": 11 9 | }, 10 | "author": { 11 | "type": "object", 12 | "properties": { 13 | "name": { 14 | "type": "string" 15 | }, 16 | "favoriteFood": { 17 | "type": "string" 18 | }, 19 | "age": { 20 | "type": "integer", 21 | "minimum": 1 22 | }, 23 | "favoriteFictionalCharacters": { 24 | "type": "array", 25 | "minItems": 1, 26 | "items": { 27 | "$ref": "#/definitions/stringData" 28 | } 29 | }, 30 | "bestDaysToEat": { 31 | "type": "object", 32 | "minItems": 2, 33 | "items": { 34 | "type": "object", 35 | "properties": { 36 | "start": { 37 | "type": "string", 38 | "pattern": "^([0-9]{2})/([0-9]{2})$" 39 | }, 40 | "end": { 41 | "type": "string", 42 | "pattern": "^([0-9]{2})/([0-9]{2})$" 43 | } 44 | }, 45 | "required": [ 46 | "start", 47 | "end" 48 | ], 49 | "additionalProperties": false 50 | } 51 | } 52 | }, 53 | "required": [ 54 | "name", 55 | "favoriteFood", 56 | "age", 57 | "favoriteFictionalCharacters", 58 | "bestDaysToEat" 59 | ], 60 | "additionalProperties": false 61 | } 62 | }, 63 | "required": [ 64 | "version", 65 | "author" 66 | ], 67 | "definitions": { 68 | "stringData": { 69 | "type": "string" 70 | } 71 | }, 72 | "additionalProperties": false 73 | } -------------------------------------------------------------------------------- /phpcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # JSON Schema Validator for Laravel 2 | 3 | **JSON Schema Validator for Laravel** it is a `Composer` package created to validate JSON objects against [JSON Schemas](https://json-schema.org) as an `Illuminate\Validation\Validator` custom rule. 4 | 5 | [![Build Status](https://travis-ci.org/henriqueramos/laravel-json-schema-validator.svg?branch=master)](https://travis-ci.org/henriqueramos/laravel-json-schema-validator) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/henriqueramos/laravel-json-schema-validator/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/henriqueramos/laravel-json-schema-validator/?branch=master) [![Latest Stable Version](https://poser.pugx.org/henriqueramos/laravel_json_schema_validator/v/stable)](https://packagist.org/packages/henriqueramos/laravel_json_schema_validator) [![License](https://poser.pugx.org/henriqueramos/laravel_json_schema_validator/license)](https://packagist.org/packages/henriqueramos/laravel_json_schema_validator) 6 | 7 | ## About 8 | This package works only at Laravel versions `>= 5.8`. And PHP version `>= 7.3`. 9 | 10 | We uses the incredible package `swaggest/json-schema` as a dependency to make everything [works like magic](https://tvtropes.org/pmwiki/pmwiki.php/Main/ClarkesThirdLaw). 11 | 12 | ## Installation 13 | 14 | Add the following line to the `require` section of `composer.json`: 15 | 16 | ```json 17 | { 18 | "require": { 19 | "henriqueramos/laravel_json_schema_validator": "^1.0.0" 20 | } 21 | } 22 | ``` 23 | 24 | ## Setup 25 | 26 | 1. Run `php artisan vendor:publish --provider="RamosHenrique\JsonSchemaValidator"`. This will create on your `config` folder a file named `json_schema_validator.php`. 27 | 3. In your `.env` file, add your JSON Schema files storage path with key `JSON_SCHEMA_VALIDATOR_STORAGE_PATH` (i.e `JSON_SCHEMA_VALIDATOR_STORAGE_PATH=storage/jsonschemas/`). 28 | 4. Set up your [JSON Schema file](#what-is-a-json-schema) 29 | 30 | ## What is a JSON Schema 31 | 32 | We supported the following schemas: 33 | * [JSON Schema Draft 7](http://json-schema.org/specification-links.html#draft-7) 34 | * [JSON Schema Draft 6](http://json-schema.org/specification-links.html#draft-6) 35 | * [JSON Schema Draft 4](http://json-schema.org/specification-links.html#draft-4) 36 | 37 | Here's an example for JSON Schema and a valid payload for him: 38 | ```php 39 | $schemaJson = <<<'JSON' 40 | { 41 | "type": "object", 42 | "properties": { 43 | "uuid": { 44 | "type": "integer" 45 | }, 46 | "userId": { 47 | "type": "integer" 48 | }, 49 | "items": { 50 | "type": "array", 51 | "minimum": 1, 52 | "items": { 53 | "$ref": "#/definitions/items" 54 | } 55 | } 56 | }, 57 | "required":[ 58 | "uuid", 59 | "userId", 60 | "items", 61 | ], 62 | "definitions": { 63 | "items": { 64 | "type": "object", 65 | "properties": { 66 | "id": { 67 | "type": "integer" 68 | }, 69 | "price": { 70 | "type": "number" 71 | }, 72 | "updated": { 73 | "type": "string", 74 | "format": "date-time" 75 | } 76 | }, 77 | "required":[ 78 | "id", 79 | "price" 80 | ] 81 | } 82 | } 83 | } 84 | JSON; 85 | 86 | $payload = <<<'JSON' 87 | { 88 | "uuid": 8, 89 | "userId": 1, 90 | "items": [ 91 | { 92 | "id": 12, 93 | "price": 49.90, 94 | "updated": "2020-09-07T20:20:39-03:00" 95 | }, 96 | { 97 | "id": 15, 98 | "price": 99, 99 | "updated": "2020-06-22T16:48:12-03:00" 100 | } 101 | ] 102 | } 103 | JSON; 104 | ``` 105 | 106 | ## Usage 107 | 108 | After save the [JSON Schema file](#what-is-a-json-schema) on your chosen storage path, you can use this as a [Validation Rule](https://laravel.com/docs/5.8/validation) on your `FormRequest` extended class. 109 | 110 | ```php 111 | [ 138 | 'bail', 139 | 'required', 140 | 'json', 141 | 'json_schema_validator:validJSONSchema.json', 142 | ], 143 | ]; 144 | } 145 | 146 | /** 147 | * Custom messages for the route validator. 148 | * 149 | * @return array 150 | */ 151 | public function messages(): array 152 | { 153 | return [ 154 | 'expectedData.required' => 'required.jsonData', 155 | 'expectedData.json' => 'expectedData.needs.needs.to.be.a.valid.json', 156 | ]; 157 | } 158 | } 159 | ``` 160 | -------------------------------------------------------------------------------- /composer.lock: -------------------------------------------------------------------------------- 1 | { 2 | "_readme": [ 3 | "This file locks the dependencies of your project to a known state", 4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", 5 | "This file is @generated automatically" 6 | ], 7 | "content-hash": "b464f6cadcff335f7b663c2dfef20519", 8 | "packages": [ 9 | { 10 | "name": "brick/math", 11 | "version": "0.8.15", 12 | "source": { 13 | "type": "git", 14 | "url": "https://github.com/brick/math.git", 15 | "reference": "9b08d412b9da9455b210459ff71414de7e6241cd" 16 | }, 17 | "dist": { 18 | "type": "zip", 19 | "url": "https://api.github.com/repos/brick/math/zipball/9b08d412b9da9455b210459ff71414de7e6241cd", 20 | "reference": "9b08d412b9da9455b210459ff71414de7e6241cd", 21 | "shasum": "" 22 | }, 23 | "require": { 24 | "ext-json": "*", 25 | "php": "^7.1|^8.0" 26 | }, 27 | "require-dev": { 28 | "php-coveralls/php-coveralls": "^2.2", 29 | "phpunit/phpunit": "^7.5.15|^8.5", 30 | "vimeo/psalm": "^3.5" 31 | }, 32 | "type": "library", 33 | "autoload": { 34 | "psr-4": { 35 | "Brick\\Math\\": "src/" 36 | } 37 | }, 38 | "notification-url": "https://packagist.org/downloads/", 39 | "license": [ 40 | "MIT" 41 | ], 42 | "description": "Arbitrary-precision arithmetic library", 43 | "keywords": [ 44 | "Arbitrary-precision", 45 | "BigInteger", 46 | "BigRational", 47 | "arithmetic", 48 | "bigdecimal", 49 | "bignum", 50 | "brick", 51 | "math" 52 | ], 53 | "time": "2020-04-15T15:59:35+00:00" 54 | }, 55 | { 56 | "name": "doctrine/inflector", 57 | "version": "1.3.1", 58 | "source": { 59 | "type": "git", 60 | "url": "https://github.com/doctrine/inflector.git", 61 | "reference": "ec3a55242203ffa6a4b27c58176da97ff0a7aec1" 62 | }, 63 | "dist": { 64 | "type": "zip", 65 | "url": "https://api.github.com/repos/doctrine/inflector/zipball/ec3a55242203ffa6a4b27c58176da97ff0a7aec1", 66 | "reference": "ec3a55242203ffa6a4b27c58176da97ff0a7aec1", 67 | "shasum": "" 68 | }, 69 | "require": { 70 | "php": "^7.1" 71 | }, 72 | "require-dev": { 73 | "phpunit/phpunit": "^6.2" 74 | }, 75 | "type": "library", 76 | "extra": { 77 | "branch-alias": { 78 | "dev-master": "1.3.x-dev" 79 | } 80 | }, 81 | "autoload": { 82 | "psr-4": { 83 | "Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector" 84 | } 85 | }, 86 | "notification-url": "https://packagist.org/downloads/", 87 | "license": [ 88 | "MIT" 89 | ], 90 | "authors": [ 91 | { 92 | "name": "Guilherme Blanco", 93 | "email": "guilhermeblanco@gmail.com" 94 | }, 95 | { 96 | "name": "Roman Borschel", 97 | "email": "roman@code-factory.org" 98 | }, 99 | { 100 | "name": "Benjamin Eberlei", 101 | "email": "kontakt@beberlei.de" 102 | }, 103 | { 104 | "name": "Jonathan Wage", 105 | "email": "jonwage@gmail.com" 106 | }, 107 | { 108 | "name": "Johannes Schmitt", 109 | "email": "schmittjoh@gmail.com" 110 | } 111 | ], 112 | "description": "Common String Manipulations with regard to casing and singular/plural rules.", 113 | "homepage": "http://www.doctrine-project.org", 114 | "keywords": [ 115 | "inflection", 116 | "pluralize", 117 | "singularize", 118 | "string" 119 | ], 120 | "time": "2019-10-30T19:59:35+00:00" 121 | }, 122 | { 123 | "name": "doctrine/lexer", 124 | "version": "1.2.0", 125 | "source": { 126 | "type": "git", 127 | "url": "https://github.com/doctrine/lexer.git", 128 | "reference": "5242d66dbeb21a30dd8a3e66bf7a73b66e05e1f6" 129 | }, 130 | "dist": { 131 | "type": "zip", 132 | "url": "https://api.github.com/repos/doctrine/lexer/zipball/5242d66dbeb21a30dd8a3e66bf7a73b66e05e1f6", 133 | "reference": "5242d66dbeb21a30dd8a3e66bf7a73b66e05e1f6", 134 | "shasum": "" 135 | }, 136 | "require": { 137 | "php": "^7.2" 138 | }, 139 | "require-dev": { 140 | "doctrine/coding-standard": "^6.0", 141 | "phpstan/phpstan": "^0.11.8", 142 | "phpunit/phpunit": "^8.2" 143 | }, 144 | "type": "library", 145 | "extra": { 146 | "branch-alias": { 147 | "dev-master": "1.2.x-dev" 148 | } 149 | }, 150 | "autoload": { 151 | "psr-4": { 152 | "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" 153 | } 154 | }, 155 | "notification-url": "https://packagist.org/downloads/", 156 | "license": [ 157 | "MIT" 158 | ], 159 | "authors": [ 160 | { 161 | "name": "Guilherme Blanco", 162 | "email": "guilhermeblanco@gmail.com" 163 | }, 164 | { 165 | "name": "Roman Borschel", 166 | "email": "roman@code-factory.org" 167 | }, 168 | { 169 | "name": "Johannes Schmitt", 170 | "email": "schmittjoh@gmail.com" 171 | } 172 | ], 173 | "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", 174 | "homepage": "https://www.doctrine-project.org/projects/lexer.html", 175 | "keywords": [ 176 | "annotations", 177 | "docblock", 178 | "lexer", 179 | "parser", 180 | "php" 181 | ], 182 | "time": "2019-10-30T14:39:59+00:00" 183 | }, 184 | { 185 | "name": "dragonmantank/cron-expression", 186 | "version": "v2.3.0", 187 | "source": { 188 | "type": "git", 189 | "url": "https://github.com/dragonmantank/cron-expression.git", 190 | "reference": "72b6fbf76adb3cf5bc0db68559b33d41219aba27" 191 | }, 192 | "dist": { 193 | "type": "zip", 194 | "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/72b6fbf76adb3cf5bc0db68559b33d41219aba27", 195 | "reference": "72b6fbf76adb3cf5bc0db68559b33d41219aba27", 196 | "shasum": "" 197 | }, 198 | "require": { 199 | "php": "^7.0" 200 | }, 201 | "require-dev": { 202 | "phpunit/phpunit": "^6.4|^7.0" 203 | }, 204 | "type": "library", 205 | "extra": { 206 | "branch-alias": { 207 | "dev-master": "2.3-dev" 208 | } 209 | }, 210 | "autoload": { 211 | "psr-4": { 212 | "Cron\\": "src/Cron/" 213 | } 214 | }, 215 | "notification-url": "https://packagist.org/downloads/", 216 | "license": [ 217 | "MIT" 218 | ], 219 | "authors": [ 220 | { 221 | "name": "Michael Dowling", 222 | "email": "mtdowling@gmail.com", 223 | "homepage": "https://github.com/mtdowling" 224 | }, 225 | { 226 | "name": "Chris Tankersley", 227 | "email": "chris@ctankersley.com", 228 | "homepage": "https://github.com/dragonmantank" 229 | } 230 | ], 231 | "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", 232 | "keywords": [ 233 | "cron", 234 | "schedule" 235 | ], 236 | "time": "2019-03-31T00:38:28+00:00" 237 | }, 238 | { 239 | "name": "egulias/email-validator", 240 | "version": "2.1.17", 241 | "source": { 242 | "type": "git", 243 | "url": "https://github.com/egulias/EmailValidator.git", 244 | "reference": "ade6887fd9bd74177769645ab5c474824f8a418a" 245 | }, 246 | "dist": { 247 | "type": "zip", 248 | "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/ade6887fd9bd74177769645ab5c474824f8a418a", 249 | "reference": "ade6887fd9bd74177769645ab5c474824f8a418a", 250 | "shasum": "" 251 | }, 252 | "require": { 253 | "doctrine/lexer": "^1.0.1", 254 | "php": ">=5.5", 255 | "symfony/polyfill-intl-idn": "^1.10" 256 | }, 257 | "require-dev": { 258 | "dominicsayers/isemail": "^3.0.7", 259 | "phpunit/phpunit": "^4.8.36|^7.5.15", 260 | "satooshi/php-coveralls": "^1.0.1" 261 | }, 262 | "suggest": { 263 | "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" 264 | }, 265 | "type": "library", 266 | "extra": { 267 | "branch-alias": { 268 | "dev-master": "2.1.x-dev" 269 | } 270 | }, 271 | "autoload": { 272 | "psr-4": { 273 | "Egulias\\EmailValidator\\": "EmailValidator" 274 | } 275 | }, 276 | "notification-url": "https://packagist.org/downloads/", 277 | "license": [ 278 | "MIT" 279 | ], 280 | "authors": [ 281 | { 282 | "name": "Eduardo Gulias Davis" 283 | } 284 | ], 285 | "description": "A library for validating emails against several RFCs", 286 | "homepage": "https://github.com/egulias/EmailValidator", 287 | "keywords": [ 288 | "email", 289 | "emailvalidation", 290 | "emailvalidator", 291 | "validation", 292 | "validator" 293 | ], 294 | "time": "2020-02-13T22:36:52+00:00" 295 | }, 296 | { 297 | "name": "laravel/framework", 298 | "version": "v7.8.1", 299 | "source": { 300 | "type": "git", 301 | "url": "https://github.com/laravel/framework.git", 302 | "reference": "cdc6d7e6c744f4d8f7d61102aea9b111550cd297" 303 | }, 304 | "dist": { 305 | "type": "zip", 306 | "url": "https://api.github.com/repos/laravel/framework/zipball/cdc6d7e6c744f4d8f7d61102aea9b111550cd297", 307 | "reference": "cdc6d7e6c744f4d8f7d61102aea9b111550cd297", 308 | "shasum": "" 309 | }, 310 | "require": { 311 | "doctrine/inflector": "^1.1", 312 | "dragonmantank/cron-expression": "^2.0", 313 | "egulias/email-validator": "^2.1.10", 314 | "ext-json": "*", 315 | "ext-mbstring": "*", 316 | "ext-openssl": "*", 317 | "league/commonmark": "^1.3", 318 | "league/flysystem": "^1.0.8", 319 | "monolog/monolog": "^2.0", 320 | "nesbot/carbon": "^2.17", 321 | "opis/closure": "^3.1", 322 | "php": "^7.2.5", 323 | "psr/container": "^1.0", 324 | "psr/simple-cache": "^1.0", 325 | "ramsey/uuid": "^3.7|^4.0", 326 | "swiftmailer/swiftmailer": "^6.0", 327 | "symfony/console": "^5.0", 328 | "symfony/error-handler": "^5.0", 329 | "symfony/finder": "^5.0", 330 | "symfony/http-foundation": "^5.0", 331 | "symfony/http-kernel": "^5.0", 332 | "symfony/mime": "^5.0", 333 | "symfony/process": "^5.0", 334 | "symfony/routing": "^5.0", 335 | "symfony/var-dumper": "^5.0", 336 | "tijsverkoyen/css-to-inline-styles": "^2.2.2", 337 | "vlucas/phpdotenv": "^4.0", 338 | "voku/portable-ascii": "^1.4.8" 339 | }, 340 | "conflict": { 341 | "tightenco/collect": "<5.5.33" 342 | }, 343 | "replace": { 344 | "illuminate/auth": "self.version", 345 | "illuminate/broadcasting": "self.version", 346 | "illuminate/bus": "self.version", 347 | "illuminate/cache": "self.version", 348 | "illuminate/config": "self.version", 349 | "illuminate/console": "self.version", 350 | "illuminate/container": "self.version", 351 | "illuminate/contracts": "self.version", 352 | "illuminate/cookie": "self.version", 353 | "illuminate/database": "self.version", 354 | "illuminate/encryption": "self.version", 355 | "illuminate/events": "self.version", 356 | "illuminate/filesystem": "self.version", 357 | "illuminate/hashing": "self.version", 358 | "illuminate/http": "self.version", 359 | "illuminate/log": "self.version", 360 | "illuminate/mail": "self.version", 361 | "illuminate/notifications": "self.version", 362 | "illuminate/pagination": "self.version", 363 | "illuminate/pipeline": "self.version", 364 | "illuminate/queue": "self.version", 365 | "illuminate/redis": "self.version", 366 | "illuminate/routing": "self.version", 367 | "illuminate/session": "self.version", 368 | "illuminate/support": "self.version", 369 | "illuminate/testing": "self.version", 370 | "illuminate/translation": "self.version", 371 | "illuminate/validation": "self.version", 372 | "illuminate/view": "self.version" 373 | }, 374 | "require-dev": { 375 | "aws/aws-sdk-php": "^3.0", 376 | "doctrine/dbal": "^2.6", 377 | "filp/whoops": "^2.4", 378 | "guzzlehttp/guzzle": "^6.3.1|^7.0", 379 | "league/flysystem-cached-adapter": "^1.0", 380 | "mockery/mockery": "^1.3.1", 381 | "moontoast/math": "^1.1", 382 | "orchestra/testbench-core": "^5.0", 383 | "pda/pheanstalk": "^4.0", 384 | "phpunit/phpunit": "^8.4|^9.0", 385 | "predis/predis": "^1.1.1", 386 | "symfony/cache": "^5.0" 387 | }, 388 | "suggest": { 389 | "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.0).", 390 | "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6).", 391 | "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().", 392 | "ext-memcached": "Required to use the memcache cache driver.", 393 | "ext-pcntl": "Required to use all features of the queue worker.", 394 | "ext-posix": "Required to use all features of the queue worker.", 395 | "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0).", 396 | "filp/whoops": "Required for friendly error pages in development (^2.4).", 397 | "fzaninotto/faker": "Required to use the eloquent factory builder (^1.9.1).", 398 | "guzzlehttp/guzzle": "Required to use the HTTP Client, Mailgun mail driver and the ping methods on schedules (^6.3.1|^7.0).", 399 | "laravel/tinker": "Required to use the tinker console command (^2.0).", 400 | "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^1.0).", 401 | "league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).", 402 | "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).", 403 | "mockery/mockery": "Required to use mocking (^1.3.1).", 404 | "moontoast/math": "Required to use ordered UUIDs (^1.1).", 405 | "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).", 406 | "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).", 407 | "phpunit/phpunit": "Required to use assertions and run tests (^8.4|^9.0).", 408 | "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", 409 | "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^4.0).", 410 | "symfony/cache": "Required to PSR-6 cache bridge (^5.0).", 411 | "symfony/filesystem": "Required to create relative storage directory symbolic links (^5.0).", 412 | "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0).", 413 | "wildbit/swiftmailer-postmark": "Required to use Postmark mail driver (^3.0)." 414 | }, 415 | "type": "library", 416 | "extra": { 417 | "branch-alias": { 418 | "dev-master": "7.x-dev" 419 | } 420 | }, 421 | "autoload": { 422 | "files": [ 423 | "src/Illuminate/Foundation/helpers.php", 424 | "src/Illuminate/Support/helpers.php" 425 | ], 426 | "psr-4": { 427 | "Illuminate\\": "src/Illuminate/" 428 | } 429 | }, 430 | "notification-url": "https://packagist.org/downloads/", 431 | "license": [ 432 | "MIT" 433 | ], 434 | "authors": [ 435 | { 436 | "name": "Taylor Otwell", 437 | "email": "taylor@laravel.com" 438 | } 439 | ], 440 | "description": "The Laravel Framework.", 441 | "homepage": "https://laravel.com", 442 | "keywords": [ 443 | "framework", 444 | "laravel" 445 | ], 446 | "time": "2020-04-24T17:21:56+00:00" 447 | }, 448 | { 449 | "name": "league/commonmark", 450 | "version": "1.4.2", 451 | "source": { 452 | "type": "git", 453 | "url": "https://github.com/thephpleague/commonmark.git", 454 | "reference": "9e780d972185e4f737a03bade0fd34a9e67bbf31" 455 | }, 456 | "dist": { 457 | "type": "zip", 458 | "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/9e780d972185e4f737a03bade0fd34a9e67bbf31", 459 | "reference": "9e780d972185e4f737a03bade0fd34a9e67bbf31", 460 | "shasum": "" 461 | }, 462 | "require": { 463 | "ext-mbstring": "*", 464 | "php": "^7.1" 465 | }, 466 | "conflict": { 467 | "scrutinizer/ocular": "1.7.*" 468 | }, 469 | "require-dev": { 470 | "cebe/markdown": "~1.0", 471 | "commonmark/commonmark.js": "0.29.1", 472 | "erusev/parsedown": "~1.0", 473 | "ext-json": "*", 474 | "github/gfm": "0.29.0", 475 | "michelf/php-markdown": "~1.4", 476 | "mikehaertl/php-shellcommand": "^1.4", 477 | "phpstan/phpstan": "^0.12", 478 | "phpunit/phpunit": "^7.5", 479 | "scrutinizer/ocular": "^1.5", 480 | "symfony/finder": "^4.2" 481 | }, 482 | "bin": [ 483 | "bin/commonmark" 484 | ], 485 | "type": "library", 486 | "extra": { 487 | "branch-alias": { 488 | "dev-master": "1.4-dev" 489 | } 490 | }, 491 | "autoload": { 492 | "psr-4": { 493 | "League\\CommonMark\\": "src" 494 | } 495 | }, 496 | "notification-url": "https://packagist.org/downloads/", 497 | "license": [ 498 | "BSD-3-Clause" 499 | ], 500 | "authors": [ 501 | { 502 | "name": "Colin O'Dell", 503 | "email": "colinodell@gmail.com", 504 | "homepage": "https://www.colinodell.com", 505 | "role": "Lead Developer" 506 | } 507 | ], 508 | "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and Github-Flavored Markdown (GFM)", 509 | "homepage": "https://commonmark.thephpleague.com", 510 | "keywords": [ 511 | "commonmark", 512 | "flavored", 513 | "gfm", 514 | "github", 515 | "github-flavored", 516 | "markdown", 517 | "md", 518 | "parser" 519 | ], 520 | "time": "2020-04-24T13:39:56+00:00" 521 | }, 522 | { 523 | "name": "league/flysystem", 524 | "version": "1.0.67", 525 | "source": { 526 | "type": "git", 527 | "url": "https://github.com/thephpleague/flysystem.git", 528 | "reference": "5b1f36c75c4bdde981294c2a0ebdb437ee6f275e" 529 | }, 530 | "dist": { 531 | "type": "zip", 532 | "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/5b1f36c75c4bdde981294c2a0ebdb437ee6f275e", 533 | "reference": "5b1f36c75c4bdde981294c2a0ebdb437ee6f275e", 534 | "shasum": "" 535 | }, 536 | "require": { 537 | "ext-fileinfo": "*", 538 | "php": ">=5.5.9" 539 | }, 540 | "conflict": { 541 | "league/flysystem-sftp": "<1.0.6" 542 | }, 543 | "require-dev": { 544 | "phpspec/phpspec": "^3.4", 545 | "phpunit/phpunit": "^5.7.26" 546 | }, 547 | "suggest": { 548 | "ext-fileinfo": "Required for MimeType", 549 | "ext-ftp": "Allows you to use FTP server storage", 550 | "ext-openssl": "Allows you to use FTPS server storage", 551 | "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2", 552 | "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3", 553 | "league/flysystem-azure": "Allows you to use Windows Azure Blob storage", 554 | "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching", 555 | "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem", 556 | "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", 557 | "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib", 558 | "league/flysystem-webdav": "Allows you to use WebDAV storage", 559 | "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter", 560 | "spatie/flysystem-dropbox": "Allows you to use Dropbox storage", 561 | "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications" 562 | }, 563 | "type": "library", 564 | "extra": { 565 | "branch-alias": { 566 | "dev-master": "1.1-dev" 567 | } 568 | }, 569 | "autoload": { 570 | "psr-4": { 571 | "League\\Flysystem\\": "src/" 572 | } 573 | }, 574 | "notification-url": "https://packagist.org/downloads/", 575 | "license": [ 576 | "MIT" 577 | ], 578 | "authors": [ 579 | { 580 | "name": "Frank de Jonge", 581 | "email": "info@frenky.net" 582 | } 583 | ], 584 | "description": "Filesystem abstraction: Many filesystems, one API.", 585 | "keywords": [ 586 | "Cloud Files", 587 | "WebDAV", 588 | "abstraction", 589 | "aws", 590 | "cloud", 591 | "copy.com", 592 | "dropbox", 593 | "file systems", 594 | "files", 595 | "filesystem", 596 | "filesystems", 597 | "ftp", 598 | "rackspace", 599 | "remote", 600 | "s3", 601 | "sftp", 602 | "storage" 603 | ], 604 | "time": "2020-04-16T13:21:26+00:00" 605 | }, 606 | { 607 | "name": "monolog/monolog", 608 | "version": "2.0.2", 609 | "source": { 610 | "type": "git", 611 | "url": "https://github.com/Seldaek/monolog.git", 612 | "reference": "c861fcba2ca29404dc9e617eedd9eff4616986b8" 613 | }, 614 | "dist": { 615 | "type": "zip", 616 | "url": "https://api.github.com/repos/Seldaek/monolog/zipball/c861fcba2ca29404dc9e617eedd9eff4616986b8", 617 | "reference": "c861fcba2ca29404dc9e617eedd9eff4616986b8", 618 | "shasum": "" 619 | }, 620 | "require": { 621 | "php": "^7.2", 622 | "psr/log": "^1.0.1" 623 | }, 624 | "provide": { 625 | "psr/log-implementation": "1.0.0" 626 | }, 627 | "require-dev": { 628 | "aws/aws-sdk-php": "^2.4.9 || ^3.0", 629 | "doctrine/couchdb": "~1.0@dev", 630 | "elasticsearch/elasticsearch": "^6.0", 631 | "graylog2/gelf-php": "^1.4.2", 632 | "jakub-onderka/php-parallel-lint": "^0.9", 633 | "php-amqplib/php-amqplib": "~2.4", 634 | "php-console/php-console": "^3.1.3", 635 | "phpspec/prophecy": "^1.6.1", 636 | "phpunit/phpunit": "^8.3", 637 | "predis/predis": "^1.1", 638 | "rollbar/rollbar": "^1.3", 639 | "ruflin/elastica": ">=0.90 <3.0", 640 | "swiftmailer/swiftmailer": "^5.3|^6.0" 641 | }, 642 | "suggest": { 643 | "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", 644 | "doctrine/couchdb": "Allow sending log messages to a CouchDB server", 645 | "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client", 646 | "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", 647 | "ext-mbstring": "Allow to work properly with unicode symbols", 648 | "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)", 649 | "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", 650 | "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)", 651 | "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", 652 | "php-console/php-console": "Allow sending log messages to Google Chrome", 653 | "rollbar/rollbar": "Allow sending log messages to Rollbar", 654 | "ruflin/elastica": "Allow sending log messages to an Elastic Search server" 655 | }, 656 | "type": "library", 657 | "extra": { 658 | "branch-alias": { 659 | "dev-master": "2.x-dev" 660 | } 661 | }, 662 | "autoload": { 663 | "psr-4": { 664 | "Monolog\\": "src/Monolog" 665 | } 666 | }, 667 | "notification-url": "https://packagist.org/downloads/", 668 | "license": [ 669 | "MIT" 670 | ], 671 | "authors": [ 672 | { 673 | "name": "Jordi Boggiano", 674 | "email": "j.boggiano@seld.be", 675 | "homepage": "http://seld.be" 676 | } 677 | ], 678 | "description": "Sends your logs to files, sockets, inboxes, databases and various web services", 679 | "homepage": "http://github.com/Seldaek/monolog", 680 | "keywords": [ 681 | "log", 682 | "logging", 683 | "psr-3" 684 | ], 685 | "time": "2019-12-20T14:22:59+00:00" 686 | }, 687 | { 688 | "name": "nesbot/carbon", 689 | "version": "2.32.2", 690 | "source": { 691 | "type": "git", 692 | "url": "https://github.com/briannesbitt/Carbon.git", 693 | "reference": "f10e22cf546704fab1db4ad4b9dedbc5c797a0dc" 694 | }, 695 | "dist": { 696 | "type": "zip", 697 | "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/f10e22cf546704fab1db4ad4b9dedbc5c797a0dc", 698 | "reference": "f10e22cf546704fab1db4ad4b9dedbc5c797a0dc", 699 | "shasum": "" 700 | }, 701 | "require": { 702 | "ext-json": "*", 703 | "php": "^7.1.8 || ^8.0", 704 | "symfony/translation": "^3.4 || ^4.0 || ^5.0" 705 | }, 706 | "require-dev": { 707 | "doctrine/orm": "^2.7", 708 | "friendsofphp/php-cs-fixer": "^2.14 || ^3.0", 709 | "kylekatarnls/multi-tester": "^1.1", 710 | "phpmd/phpmd": "^2.8", 711 | "phpstan/phpstan": "^0.11", 712 | "phpunit/phpunit": "^7.5 || ^8.0", 713 | "squizlabs/php_codesniffer": "^3.4" 714 | }, 715 | "bin": [ 716 | "bin/carbon" 717 | ], 718 | "type": "library", 719 | "extra": { 720 | "branch-alias": { 721 | "dev-master": "2.x-dev" 722 | }, 723 | "laravel": { 724 | "providers": [ 725 | "Carbon\\Laravel\\ServiceProvider" 726 | ] 727 | } 728 | }, 729 | "autoload": { 730 | "psr-4": { 731 | "Carbon\\": "src/Carbon/" 732 | } 733 | }, 734 | "notification-url": "https://packagist.org/downloads/", 735 | "license": [ 736 | "MIT" 737 | ], 738 | "authors": [ 739 | { 740 | "name": "Brian Nesbitt", 741 | "email": "brian@nesbot.com", 742 | "homepage": "http://nesbot.com" 743 | }, 744 | { 745 | "name": "kylekatarnls", 746 | "homepage": "http://github.com/kylekatarnls" 747 | } 748 | ], 749 | "description": "An API extension for DateTime that supports 281 different languages.", 750 | "homepage": "http://carbon.nesbot.com", 751 | "keywords": [ 752 | "date", 753 | "datetime", 754 | "time" 755 | ], 756 | "time": "2020-03-31T13:43:19+00:00" 757 | }, 758 | { 759 | "name": "opis/closure", 760 | "version": "3.5.1", 761 | "source": { 762 | "type": "git", 763 | "url": "https://github.com/opis/closure.git", 764 | "reference": "93ebc5712cdad8d5f489b500c59d122df2e53969" 765 | }, 766 | "dist": { 767 | "type": "zip", 768 | "url": "https://api.github.com/repos/opis/closure/zipball/93ebc5712cdad8d5f489b500c59d122df2e53969", 769 | "reference": "93ebc5712cdad8d5f489b500c59d122df2e53969", 770 | "shasum": "" 771 | }, 772 | "require": { 773 | "php": "^5.4 || ^7.0" 774 | }, 775 | "require-dev": { 776 | "jeremeamia/superclosure": "^2.0", 777 | "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0" 778 | }, 779 | "type": "library", 780 | "extra": { 781 | "branch-alias": { 782 | "dev-master": "3.5.x-dev" 783 | } 784 | }, 785 | "autoload": { 786 | "psr-4": { 787 | "Opis\\Closure\\": "src/" 788 | }, 789 | "files": [ 790 | "functions.php" 791 | ] 792 | }, 793 | "notification-url": "https://packagist.org/downloads/", 794 | "license": [ 795 | "MIT" 796 | ], 797 | "authors": [ 798 | { 799 | "name": "Marius Sarca", 800 | "email": "marius.sarca@gmail.com" 801 | }, 802 | { 803 | "name": "Sorin Sarca", 804 | "email": "sarca_sorin@hotmail.com" 805 | } 806 | ], 807 | "description": "A library that can be used to serialize closures (anonymous functions) and arbitrary objects.", 808 | "homepage": "https://opis.io/closure", 809 | "keywords": [ 810 | "anonymous functions", 811 | "closure", 812 | "function", 813 | "serializable", 814 | "serialization", 815 | "serialize" 816 | ], 817 | "time": "2019-11-29T22:36:02+00:00" 818 | }, 819 | { 820 | "name": "phplang/scope-exit", 821 | "version": "1.0.0", 822 | "source": { 823 | "type": "git", 824 | "url": "https://github.com/phplang/scope-exit.git", 825 | "reference": "239b73abe89f9414aa85a7ca075ec9445629192b" 826 | }, 827 | "dist": { 828 | "type": "zip", 829 | "url": "https://api.github.com/repos/phplang/scope-exit/zipball/239b73abe89f9414aa85a7ca075ec9445629192b", 830 | "reference": "239b73abe89f9414aa85a7ca075ec9445629192b", 831 | "shasum": "" 832 | }, 833 | "require-dev": { 834 | "phpunit/phpunit": "*" 835 | }, 836 | "type": "library", 837 | "autoload": { 838 | "psr-4": { 839 | "PhpLang\\": "src/" 840 | } 841 | }, 842 | "notification-url": "https://packagist.org/downloads/", 843 | "license": [ 844 | "BSD" 845 | ], 846 | "authors": [ 847 | { 848 | "name": "Sara Golemon", 849 | "email": "pollita@php.net", 850 | "homepage": "https://twitter.com/SaraMG", 851 | "role": "Developer" 852 | } 853 | ], 854 | "description": "Emulation of SCOPE_EXIT construct from C++", 855 | "homepage": "https://github.com/phplang/scope-exit", 856 | "keywords": [ 857 | "cleanup", 858 | "exit", 859 | "scope" 860 | ], 861 | "time": "2016-09-17T00:15:18+00:00" 862 | }, 863 | { 864 | "name": "phpoption/phpoption", 865 | "version": "1.7.3", 866 | "source": { 867 | "type": "git", 868 | "url": "https://github.com/schmittjoh/php-option.git", 869 | "reference": "4acfd6a4b33a509d8c88f50e5222f734b6aeebae" 870 | }, 871 | "dist": { 872 | "type": "zip", 873 | "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/4acfd6a4b33a509d8c88f50e5222f734b6aeebae", 874 | "reference": "4acfd6a4b33a509d8c88f50e5222f734b6aeebae", 875 | "shasum": "" 876 | }, 877 | "require": { 878 | "php": "^5.5.9 || ^7.0 || ^8.0" 879 | }, 880 | "require-dev": { 881 | "bamarni/composer-bin-plugin": "^1.3", 882 | "phpunit/phpunit": "^4.8.35 || ^5.0 || ^6.0 || ^7.0" 883 | }, 884 | "type": "library", 885 | "extra": { 886 | "branch-alias": { 887 | "dev-master": "1.7-dev" 888 | } 889 | }, 890 | "autoload": { 891 | "psr-4": { 892 | "PhpOption\\": "src/PhpOption/" 893 | } 894 | }, 895 | "notification-url": "https://packagist.org/downloads/", 896 | "license": [ 897 | "Apache-2.0" 898 | ], 899 | "authors": [ 900 | { 901 | "name": "Johannes M. Schmitt", 902 | "email": "schmittjoh@gmail.com" 903 | }, 904 | { 905 | "name": "Graham Campbell", 906 | "email": "graham@alt-three.com" 907 | } 908 | ], 909 | "description": "Option Type for PHP", 910 | "keywords": [ 911 | "language", 912 | "option", 913 | "php", 914 | "type" 915 | ], 916 | "time": "2020-03-21T18:07:53+00:00" 917 | }, 918 | { 919 | "name": "psr/container", 920 | "version": "1.0.0", 921 | "source": { 922 | "type": "git", 923 | "url": "https://github.com/php-fig/container.git", 924 | "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" 925 | }, 926 | "dist": { 927 | "type": "zip", 928 | "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", 929 | "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", 930 | "shasum": "" 931 | }, 932 | "require": { 933 | "php": ">=5.3.0" 934 | }, 935 | "type": "library", 936 | "extra": { 937 | "branch-alias": { 938 | "dev-master": "1.0.x-dev" 939 | } 940 | }, 941 | "autoload": { 942 | "psr-4": { 943 | "Psr\\Container\\": "src/" 944 | } 945 | }, 946 | "notification-url": "https://packagist.org/downloads/", 947 | "license": [ 948 | "MIT" 949 | ], 950 | "authors": [ 951 | { 952 | "name": "PHP-FIG", 953 | "homepage": "http://www.php-fig.org/" 954 | } 955 | ], 956 | "description": "Common Container Interface (PHP FIG PSR-11)", 957 | "homepage": "https://github.com/php-fig/container", 958 | "keywords": [ 959 | "PSR-11", 960 | "container", 961 | "container-interface", 962 | "container-interop", 963 | "psr" 964 | ], 965 | "time": "2017-02-14T16:28:37+00:00" 966 | }, 967 | { 968 | "name": "psr/event-dispatcher", 969 | "version": "1.0.0", 970 | "source": { 971 | "type": "git", 972 | "url": "https://github.com/php-fig/event-dispatcher.git", 973 | "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" 974 | }, 975 | "dist": { 976 | "type": "zip", 977 | "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", 978 | "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", 979 | "shasum": "" 980 | }, 981 | "require": { 982 | "php": ">=7.2.0" 983 | }, 984 | "type": "library", 985 | "extra": { 986 | "branch-alias": { 987 | "dev-master": "1.0.x-dev" 988 | } 989 | }, 990 | "autoload": { 991 | "psr-4": { 992 | "Psr\\EventDispatcher\\": "src/" 993 | } 994 | }, 995 | "notification-url": "https://packagist.org/downloads/", 996 | "license": [ 997 | "MIT" 998 | ], 999 | "authors": [ 1000 | { 1001 | "name": "PHP-FIG", 1002 | "homepage": "http://www.php-fig.org/" 1003 | } 1004 | ], 1005 | "description": "Standard interfaces for event handling.", 1006 | "keywords": [ 1007 | "events", 1008 | "psr", 1009 | "psr-14" 1010 | ], 1011 | "time": "2019-01-08T18:20:26+00:00" 1012 | }, 1013 | { 1014 | "name": "psr/log", 1015 | "version": "1.1.3", 1016 | "source": { 1017 | "type": "git", 1018 | "url": "https://github.com/php-fig/log.git", 1019 | "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc" 1020 | }, 1021 | "dist": { 1022 | "type": "zip", 1023 | "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc", 1024 | "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc", 1025 | "shasum": "" 1026 | }, 1027 | "require": { 1028 | "php": ">=5.3.0" 1029 | }, 1030 | "type": "library", 1031 | "extra": { 1032 | "branch-alias": { 1033 | "dev-master": "1.1.x-dev" 1034 | } 1035 | }, 1036 | "autoload": { 1037 | "psr-4": { 1038 | "Psr\\Log\\": "Psr/Log/" 1039 | } 1040 | }, 1041 | "notification-url": "https://packagist.org/downloads/", 1042 | "license": [ 1043 | "MIT" 1044 | ], 1045 | "authors": [ 1046 | { 1047 | "name": "PHP-FIG", 1048 | "homepage": "http://www.php-fig.org/" 1049 | } 1050 | ], 1051 | "description": "Common interface for logging libraries", 1052 | "homepage": "https://github.com/php-fig/log", 1053 | "keywords": [ 1054 | "log", 1055 | "psr", 1056 | "psr-3" 1057 | ], 1058 | "time": "2020-03-23T09:12:05+00:00" 1059 | }, 1060 | { 1061 | "name": "psr/simple-cache", 1062 | "version": "1.0.1", 1063 | "source": { 1064 | "type": "git", 1065 | "url": "https://github.com/php-fig/simple-cache.git", 1066 | "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" 1067 | }, 1068 | "dist": { 1069 | "type": "zip", 1070 | "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", 1071 | "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", 1072 | "shasum": "" 1073 | }, 1074 | "require": { 1075 | "php": ">=5.3.0" 1076 | }, 1077 | "type": "library", 1078 | "extra": { 1079 | "branch-alias": { 1080 | "dev-master": "1.0.x-dev" 1081 | } 1082 | }, 1083 | "autoload": { 1084 | "psr-4": { 1085 | "Psr\\SimpleCache\\": "src/" 1086 | } 1087 | }, 1088 | "notification-url": "https://packagist.org/downloads/", 1089 | "license": [ 1090 | "MIT" 1091 | ], 1092 | "authors": [ 1093 | { 1094 | "name": "PHP-FIG", 1095 | "homepage": "http://www.php-fig.org/" 1096 | } 1097 | ], 1098 | "description": "Common interfaces for simple caching", 1099 | "keywords": [ 1100 | "cache", 1101 | "caching", 1102 | "psr", 1103 | "psr-16", 1104 | "simple-cache" 1105 | ], 1106 | "time": "2017-10-23T01:57:42+00:00" 1107 | }, 1108 | { 1109 | "name": "ramsey/collection", 1110 | "version": "1.0.1", 1111 | "source": { 1112 | "type": "git", 1113 | "url": "https://github.com/ramsey/collection.git", 1114 | "reference": "925ad8cf55ba7a3fc92e332c58fd0478ace3e1ca" 1115 | }, 1116 | "dist": { 1117 | "type": "zip", 1118 | "url": "https://api.github.com/repos/ramsey/collection/zipball/925ad8cf55ba7a3fc92e332c58fd0478ace3e1ca", 1119 | "reference": "925ad8cf55ba7a3fc92e332c58fd0478ace3e1ca", 1120 | "shasum": "" 1121 | }, 1122 | "require": { 1123 | "php": "^7.2" 1124 | }, 1125 | "require-dev": { 1126 | "dealerdirect/phpcodesniffer-composer-installer": "^0.5.0", 1127 | "fzaninotto/faker": "^1.5", 1128 | "jakub-onderka/php-parallel-lint": "^1", 1129 | "jangregor/phpstan-prophecy": "^0.6", 1130 | "mockery/mockery": "^1.3", 1131 | "phpstan/extension-installer": "^1", 1132 | "phpstan/phpdoc-parser": "0.4.1", 1133 | "phpstan/phpstan": "^0.12", 1134 | "phpstan/phpstan-mockery": "^0.12", 1135 | "phpstan/phpstan-phpunit": "^0.12", 1136 | "phpunit/phpunit": "^8.5", 1137 | "slevomat/coding-standard": "^6.0", 1138 | "squizlabs/php_codesniffer": "^3.5" 1139 | }, 1140 | "type": "library", 1141 | "autoload": { 1142 | "psr-4": { 1143 | "Ramsey\\Collection\\": "src/" 1144 | } 1145 | }, 1146 | "notification-url": "https://packagist.org/downloads/", 1147 | "license": [ 1148 | "MIT" 1149 | ], 1150 | "authors": [ 1151 | { 1152 | "name": "Ben Ramsey", 1153 | "email": "ben@benramsey.com", 1154 | "homepage": "https://benramsey.com" 1155 | } 1156 | ], 1157 | "description": "A PHP 7.2+ library for representing and manipulating collections.", 1158 | "homepage": "https://github.com/ramsey/collection", 1159 | "keywords": [ 1160 | "array", 1161 | "collection", 1162 | "hash", 1163 | "map", 1164 | "queue", 1165 | "set" 1166 | ], 1167 | "time": "2020-01-05T00:22:59+00:00" 1168 | }, 1169 | { 1170 | "name": "ramsey/uuid", 1171 | "version": "4.0.1", 1172 | "source": { 1173 | "type": "git", 1174 | "url": "https://github.com/ramsey/uuid.git", 1175 | "reference": "ba8fff1d3abb8bb4d35a135ed22a31c6ef3ede3d" 1176 | }, 1177 | "dist": { 1178 | "type": "zip", 1179 | "url": "https://api.github.com/repos/ramsey/uuid/zipball/ba8fff1d3abb8bb4d35a135ed22a31c6ef3ede3d", 1180 | "reference": "ba8fff1d3abb8bb4d35a135ed22a31c6ef3ede3d", 1181 | "shasum": "" 1182 | }, 1183 | "require": { 1184 | "brick/math": "^0.8", 1185 | "ext-json": "*", 1186 | "php": "^7.2 || ^8", 1187 | "ramsey/collection": "^1.0", 1188 | "symfony/polyfill-ctype": "^1.8" 1189 | }, 1190 | "replace": { 1191 | "rhumsaa/uuid": "self.version" 1192 | }, 1193 | "require-dev": { 1194 | "codeception/aspect-mock": "^3", 1195 | "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2", 1196 | "doctrine/annotations": "^1.8", 1197 | "goaop/framework": "^2", 1198 | "mockery/mockery": "^1.3", 1199 | "moontoast/math": "^1.1", 1200 | "paragonie/random-lib": "^2", 1201 | "php-mock/php-mock-mockery": "^1.3", 1202 | "php-mock/php-mock-phpunit": "^2.5", 1203 | "php-parallel-lint/php-parallel-lint": "^1.1", 1204 | "phpstan/extension-installer": "^1.0", 1205 | "phpstan/phpdoc-parser": "0.4.3", 1206 | "phpstan/phpstan": "^0.12", 1207 | "phpstan/phpstan-mockery": "^0.12", 1208 | "phpstan/phpstan-phpunit": "^0.12", 1209 | "phpunit/phpunit": "^8.5", 1210 | "psy/psysh": "^0.10.0", 1211 | "slevomat/coding-standard": "^6.0", 1212 | "squizlabs/php_codesniffer": "^3.5", 1213 | "vimeo/psalm": "3.9.4" 1214 | }, 1215 | "suggest": { 1216 | "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", 1217 | "ext-ctype": "Enables faster processing of character classification using ctype functions.", 1218 | "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", 1219 | "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", 1220 | "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", 1221 | "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." 1222 | }, 1223 | "type": "library", 1224 | "extra": { 1225 | "branch-alias": { 1226 | "dev-master": "4.x-dev" 1227 | } 1228 | }, 1229 | "autoload": { 1230 | "psr-4": { 1231 | "Ramsey\\Uuid\\": "src/" 1232 | }, 1233 | "files": [ 1234 | "src/functions.php" 1235 | ] 1236 | }, 1237 | "notification-url": "https://packagist.org/downloads/", 1238 | "license": [ 1239 | "MIT" 1240 | ], 1241 | "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", 1242 | "homepage": "https://github.com/ramsey/uuid", 1243 | "keywords": [ 1244 | "guid", 1245 | "identifier", 1246 | "uuid" 1247 | ], 1248 | "time": "2020-03-29T20:13:32+00:00" 1249 | }, 1250 | { 1251 | "name": "swaggest/json-diff", 1252 | "version": "v3.7.4", 1253 | "source": { 1254 | "type": "git", 1255 | "url": "https://github.com/swaggest/json-diff.git", 1256 | "reference": "fccbbd6ee31b5949ab52e9c53f7a1e1b06d84716" 1257 | }, 1258 | "dist": { 1259 | "type": "zip", 1260 | "url": "https://api.github.com/repos/swaggest/json-diff/zipball/fccbbd6ee31b5949ab52e9c53f7a1e1b06d84716", 1261 | "reference": "fccbbd6ee31b5949ab52e9c53f7a1e1b06d84716", 1262 | "shasum": "" 1263 | }, 1264 | "require": { 1265 | "ext-json": "*" 1266 | }, 1267 | "require-dev": { 1268 | "phpunit/phpunit": "^4.8.23" 1269 | }, 1270 | "type": "library", 1271 | "autoload": { 1272 | "psr-4": { 1273 | "Swaggest\\JsonDiff\\": "src/" 1274 | } 1275 | }, 1276 | "notification-url": "https://packagist.org/downloads/", 1277 | "license": [ 1278 | "MIT" 1279 | ], 1280 | "authors": [ 1281 | { 1282 | "name": "Viacheslav Poturaev", 1283 | "email": "vearutop@gmail.com" 1284 | } 1285 | ], 1286 | "description": "JSON diff/rearrange/patch/pointer library for PHP", 1287 | "time": "2020-01-26T20:52:06+00:00" 1288 | }, 1289 | { 1290 | "name": "swaggest/json-schema", 1291 | "version": "v0.12.29", 1292 | "source": { 1293 | "type": "git", 1294 | "url": "https://github.com/swaggest/php-json-schema.git", 1295 | "reference": "7564d4a5fc8c068479698a30e5a7c589ea32a9c6" 1296 | }, 1297 | "dist": { 1298 | "type": "zip", 1299 | "url": "https://api.github.com/repos/swaggest/php-json-schema/zipball/7564d4a5fc8c068479698a30e5a7c589ea32a9c6", 1300 | "reference": "7564d4a5fc8c068479698a30e5a7c589ea32a9c6", 1301 | "shasum": "" 1302 | }, 1303 | "require": { 1304 | "ext-json": "*", 1305 | "ext-mbstring": "*", 1306 | "php": ">=5.4", 1307 | "phplang/scope-exit": "^1.0", 1308 | "swaggest/json-diff": "^3.5.1" 1309 | }, 1310 | "require-dev": { 1311 | "phpunit/php-code-coverage": "2.2.4", 1312 | "phpunit/phpunit": "4.8.35" 1313 | }, 1314 | "type": "library", 1315 | "autoload": { 1316 | "psr-4": { 1317 | "Swaggest\\JsonSchema\\": "src/" 1318 | } 1319 | }, 1320 | "notification-url": "https://packagist.org/downloads/", 1321 | "license": [ 1322 | "MIT" 1323 | ], 1324 | "authors": [ 1325 | { 1326 | "name": "Viacheslav Poturaev", 1327 | "email": "vearutop@gmail.com" 1328 | } 1329 | ], 1330 | "description": "High definition PHP structures with JSON-schema based validation", 1331 | "time": "2020-03-19T08:41:40+00:00" 1332 | }, 1333 | { 1334 | "name": "swiftmailer/swiftmailer", 1335 | "version": "v6.2.3", 1336 | "source": { 1337 | "type": "git", 1338 | "url": "https://github.com/swiftmailer/swiftmailer.git", 1339 | "reference": "149cfdf118b169f7840bbe3ef0d4bc795d1780c9" 1340 | }, 1341 | "dist": { 1342 | "type": "zip", 1343 | "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/149cfdf118b169f7840bbe3ef0d4bc795d1780c9", 1344 | "reference": "149cfdf118b169f7840bbe3ef0d4bc795d1780c9", 1345 | "shasum": "" 1346 | }, 1347 | "require": { 1348 | "egulias/email-validator": "~2.0", 1349 | "php": ">=7.0.0", 1350 | "symfony/polyfill-iconv": "^1.0", 1351 | "symfony/polyfill-intl-idn": "^1.10", 1352 | "symfony/polyfill-mbstring": "^1.0" 1353 | }, 1354 | "require-dev": { 1355 | "mockery/mockery": "~0.9.1", 1356 | "symfony/phpunit-bridge": "^3.4.19|^4.1.8" 1357 | }, 1358 | "suggest": { 1359 | "ext-intl": "Needed to support internationalized email addresses", 1360 | "true/punycode": "Needed to support internationalized email addresses, if ext-intl is not installed" 1361 | }, 1362 | "type": "library", 1363 | "extra": { 1364 | "branch-alias": { 1365 | "dev-master": "6.2-dev" 1366 | } 1367 | }, 1368 | "autoload": { 1369 | "files": [ 1370 | "lib/swift_required.php" 1371 | ] 1372 | }, 1373 | "notification-url": "https://packagist.org/downloads/", 1374 | "license": [ 1375 | "MIT" 1376 | ], 1377 | "authors": [ 1378 | { 1379 | "name": "Chris Corbyn" 1380 | }, 1381 | { 1382 | "name": "Fabien Potencier", 1383 | "email": "fabien@symfony.com" 1384 | } 1385 | ], 1386 | "description": "Swiftmailer, free feature-rich PHP mailer", 1387 | "homepage": "https://swiftmailer.symfony.com", 1388 | "keywords": [ 1389 | "email", 1390 | "mail", 1391 | "mailer" 1392 | ], 1393 | "time": "2019-11-12T09:31:26+00:00" 1394 | }, 1395 | { 1396 | "name": "symfony/console", 1397 | "version": "v5.0.7", 1398 | "source": { 1399 | "type": "git", 1400 | "url": "https://github.com/symfony/console.git", 1401 | "reference": "5fa1caadc8cdaa17bcfb25219f3b53fe294a9935" 1402 | }, 1403 | "dist": { 1404 | "type": "zip", 1405 | "url": "https://api.github.com/repos/symfony/console/zipball/5fa1caadc8cdaa17bcfb25219f3b53fe294a9935", 1406 | "reference": "5fa1caadc8cdaa17bcfb25219f3b53fe294a9935", 1407 | "shasum": "" 1408 | }, 1409 | "require": { 1410 | "php": "^7.2.5", 1411 | "symfony/polyfill-mbstring": "~1.0", 1412 | "symfony/polyfill-php73": "^1.8", 1413 | "symfony/service-contracts": "^1.1|^2" 1414 | }, 1415 | "conflict": { 1416 | "symfony/dependency-injection": "<4.4", 1417 | "symfony/event-dispatcher": "<4.4", 1418 | "symfony/lock": "<4.4", 1419 | "symfony/process": "<4.4" 1420 | }, 1421 | "provide": { 1422 | "psr/log-implementation": "1.0" 1423 | }, 1424 | "require-dev": { 1425 | "psr/log": "~1.0", 1426 | "symfony/config": "^4.4|^5.0", 1427 | "symfony/dependency-injection": "^4.4|^5.0", 1428 | "symfony/event-dispatcher": "^4.4|^5.0", 1429 | "symfony/lock": "^4.4|^5.0", 1430 | "symfony/process": "^4.4|^5.0", 1431 | "symfony/var-dumper": "^4.4|^5.0" 1432 | }, 1433 | "suggest": { 1434 | "psr/log": "For using the console logger", 1435 | "symfony/event-dispatcher": "", 1436 | "symfony/lock": "", 1437 | "symfony/process": "" 1438 | }, 1439 | "type": "library", 1440 | "extra": { 1441 | "branch-alias": { 1442 | "dev-master": "5.0-dev" 1443 | } 1444 | }, 1445 | "autoload": { 1446 | "psr-4": { 1447 | "Symfony\\Component\\Console\\": "" 1448 | }, 1449 | "exclude-from-classmap": [ 1450 | "/Tests/" 1451 | ] 1452 | }, 1453 | "notification-url": "https://packagist.org/downloads/", 1454 | "license": [ 1455 | "MIT" 1456 | ], 1457 | "authors": [ 1458 | { 1459 | "name": "Fabien Potencier", 1460 | "email": "fabien@symfony.com" 1461 | }, 1462 | { 1463 | "name": "Symfony Community", 1464 | "homepage": "https://symfony.com/contributors" 1465 | } 1466 | ], 1467 | "description": "Symfony Console Component", 1468 | "homepage": "https://symfony.com", 1469 | "time": "2020-03-30T11:42:42+00:00" 1470 | }, 1471 | { 1472 | "name": "symfony/css-selector", 1473 | "version": "v5.0.7", 1474 | "source": { 1475 | "type": "git", 1476 | "url": "https://github.com/symfony/css-selector.git", 1477 | "reference": "5f8d5271303dad260692ba73dfa21777d38e124e" 1478 | }, 1479 | "dist": { 1480 | "type": "zip", 1481 | "url": "https://api.github.com/repos/symfony/css-selector/zipball/5f8d5271303dad260692ba73dfa21777d38e124e", 1482 | "reference": "5f8d5271303dad260692ba73dfa21777d38e124e", 1483 | "shasum": "" 1484 | }, 1485 | "require": { 1486 | "php": "^7.2.5" 1487 | }, 1488 | "type": "library", 1489 | "extra": { 1490 | "branch-alias": { 1491 | "dev-master": "5.0-dev" 1492 | } 1493 | }, 1494 | "autoload": { 1495 | "psr-4": { 1496 | "Symfony\\Component\\CssSelector\\": "" 1497 | }, 1498 | "exclude-from-classmap": [ 1499 | "/Tests/" 1500 | ] 1501 | }, 1502 | "notification-url": "https://packagist.org/downloads/", 1503 | "license": [ 1504 | "MIT" 1505 | ], 1506 | "authors": [ 1507 | { 1508 | "name": "Fabien Potencier", 1509 | "email": "fabien@symfony.com" 1510 | }, 1511 | { 1512 | "name": "Jean-François Simon", 1513 | "email": "jeanfrancois.simon@sensiolabs.com" 1514 | }, 1515 | { 1516 | "name": "Symfony Community", 1517 | "homepage": "https://symfony.com/contributors" 1518 | } 1519 | ], 1520 | "description": "Symfony CssSelector Component", 1521 | "homepage": "https://symfony.com", 1522 | "time": "2020-03-27T16:56:45+00:00" 1523 | }, 1524 | { 1525 | "name": "symfony/error-handler", 1526 | "version": "v5.0.7", 1527 | "source": { 1528 | "type": "git", 1529 | "url": "https://github.com/symfony/error-handler.git", 1530 | "reference": "949ffc17c3ac3a9f8e6232220e2da33913c04ea4" 1531 | }, 1532 | "dist": { 1533 | "type": "zip", 1534 | "url": "https://api.github.com/repos/symfony/error-handler/zipball/949ffc17c3ac3a9f8e6232220e2da33913c04ea4", 1535 | "reference": "949ffc17c3ac3a9f8e6232220e2da33913c04ea4", 1536 | "shasum": "" 1537 | }, 1538 | "require": { 1539 | "php": "^7.2.5", 1540 | "psr/log": "^1.0", 1541 | "symfony/var-dumper": "^4.4|^5.0" 1542 | }, 1543 | "require-dev": { 1544 | "symfony/http-kernel": "^4.4|^5.0", 1545 | "symfony/serializer": "^4.4|^5.0" 1546 | }, 1547 | "type": "library", 1548 | "extra": { 1549 | "branch-alias": { 1550 | "dev-master": "5.0-dev" 1551 | } 1552 | }, 1553 | "autoload": { 1554 | "psr-4": { 1555 | "Symfony\\Component\\ErrorHandler\\": "" 1556 | }, 1557 | "exclude-from-classmap": [ 1558 | "/Tests/" 1559 | ] 1560 | }, 1561 | "notification-url": "https://packagist.org/downloads/", 1562 | "license": [ 1563 | "MIT" 1564 | ], 1565 | "authors": [ 1566 | { 1567 | "name": "Fabien Potencier", 1568 | "email": "fabien@symfony.com" 1569 | }, 1570 | { 1571 | "name": "Symfony Community", 1572 | "homepage": "https://symfony.com/contributors" 1573 | } 1574 | ], 1575 | "description": "Symfony ErrorHandler Component", 1576 | "homepage": "https://symfony.com", 1577 | "time": "2020-03-30T14:14:32+00:00" 1578 | }, 1579 | { 1580 | "name": "symfony/event-dispatcher", 1581 | "version": "v5.0.7", 1582 | "source": { 1583 | "type": "git", 1584 | "url": "https://github.com/symfony/event-dispatcher.git", 1585 | "reference": "24f40d95385774ed5c71dbf014edd047e2f2f3dc" 1586 | }, 1587 | "dist": { 1588 | "type": "zip", 1589 | "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/24f40d95385774ed5c71dbf014edd047e2f2f3dc", 1590 | "reference": "24f40d95385774ed5c71dbf014edd047e2f2f3dc", 1591 | "shasum": "" 1592 | }, 1593 | "require": { 1594 | "php": "^7.2.5", 1595 | "symfony/event-dispatcher-contracts": "^2" 1596 | }, 1597 | "conflict": { 1598 | "symfony/dependency-injection": "<4.4" 1599 | }, 1600 | "provide": { 1601 | "psr/event-dispatcher-implementation": "1.0", 1602 | "symfony/event-dispatcher-implementation": "2.0" 1603 | }, 1604 | "require-dev": { 1605 | "psr/log": "~1.0", 1606 | "symfony/config": "^4.4|^5.0", 1607 | "symfony/dependency-injection": "^4.4|^5.0", 1608 | "symfony/expression-language": "^4.4|^5.0", 1609 | "symfony/http-foundation": "^4.4|^5.0", 1610 | "symfony/service-contracts": "^1.1|^2", 1611 | "symfony/stopwatch": "^4.4|^5.0" 1612 | }, 1613 | "suggest": { 1614 | "symfony/dependency-injection": "", 1615 | "symfony/http-kernel": "" 1616 | }, 1617 | "type": "library", 1618 | "extra": { 1619 | "branch-alias": { 1620 | "dev-master": "5.0-dev" 1621 | } 1622 | }, 1623 | "autoload": { 1624 | "psr-4": { 1625 | "Symfony\\Component\\EventDispatcher\\": "" 1626 | }, 1627 | "exclude-from-classmap": [ 1628 | "/Tests/" 1629 | ] 1630 | }, 1631 | "notification-url": "https://packagist.org/downloads/", 1632 | "license": [ 1633 | "MIT" 1634 | ], 1635 | "authors": [ 1636 | { 1637 | "name": "Fabien Potencier", 1638 | "email": "fabien@symfony.com" 1639 | }, 1640 | { 1641 | "name": "Symfony Community", 1642 | "homepage": "https://symfony.com/contributors" 1643 | } 1644 | ], 1645 | "description": "Symfony EventDispatcher Component", 1646 | "homepage": "https://symfony.com", 1647 | "time": "2020-03-27T16:56:45+00:00" 1648 | }, 1649 | { 1650 | "name": "symfony/event-dispatcher-contracts", 1651 | "version": "v2.0.1", 1652 | "source": { 1653 | "type": "git", 1654 | "url": "https://github.com/symfony/event-dispatcher-contracts.git", 1655 | "reference": "af23c2584d4577d54661c434446fb8fbed6025dd" 1656 | }, 1657 | "dist": { 1658 | "type": "zip", 1659 | "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/af23c2584d4577d54661c434446fb8fbed6025dd", 1660 | "reference": "af23c2584d4577d54661c434446fb8fbed6025dd", 1661 | "shasum": "" 1662 | }, 1663 | "require": { 1664 | "php": "^7.2.5", 1665 | "psr/event-dispatcher": "^1" 1666 | }, 1667 | "suggest": { 1668 | "symfony/event-dispatcher-implementation": "" 1669 | }, 1670 | "type": "library", 1671 | "extra": { 1672 | "branch-alias": { 1673 | "dev-master": "2.0-dev" 1674 | } 1675 | }, 1676 | "autoload": { 1677 | "psr-4": { 1678 | "Symfony\\Contracts\\EventDispatcher\\": "" 1679 | } 1680 | }, 1681 | "notification-url": "https://packagist.org/downloads/", 1682 | "license": [ 1683 | "MIT" 1684 | ], 1685 | "authors": [ 1686 | { 1687 | "name": "Nicolas Grekas", 1688 | "email": "p@tchwork.com" 1689 | }, 1690 | { 1691 | "name": "Symfony Community", 1692 | "homepage": "https://symfony.com/contributors" 1693 | } 1694 | ], 1695 | "description": "Generic abstractions related to dispatching event", 1696 | "homepage": "https://symfony.com", 1697 | "keywords": [ 1698 | "abstractions", 1699 | "contracts", 1700 | "decoupling", 1701 | "interfaces", 1702 | "interoperability", 1703 | "standards" 1704 | ], 1705 | "time": "2019-11-18T17:27:11+00:00" 1706 | }, 1707 | { 1708 | "name": "symfony/finder", 1709 | "version": "v5.0.7", 1710 | "source": { 1711 | "type": "git", 1712 | "url": "https://github.com/symfony/finder.git", 1713 | "reference": "600a52c29afc0d1caa74acbec8d3095ca7e9910d" 1714 | }, 1715 | "dist": { 1716 | "type": "zip", 1717 | "url": "https://api.github.com/repos/symfony/finder/zipball/600a52c29afc0d1caa74acbec8d3095ca7e9910d", 1718 | "reference": "600a52c29afc0d1caa74acbec8d3095ca7e9910d", 1719 | "shasum": "" 1720 | }, 1721 | "require": { 1722 | "php": "^7.2.5" 1723 | }, 1724 | "type": "library", 1725 | "extra": { 1726 | "branch-alias": { 1727 | "dev-master": "5.0-dev" 1728 | } 1729 | }, 1730 | "autoload": { 1731 | "psr-4": { 1732 | "Symfony\\Component\\Finder\\": "" 1733 | }, 1734 | "exclude-from-classmap": [ 1735 | "/Tests/" 1736 | ] 1737 | }, 1738 | "notification-url": "https://packagist.org/downloads/", 1739 | "license": [ 1740 | "MIT" 1741 | ], 1742 | "authors": [ 1743 | { 1744 | "name": "Fabien Potencier", 1745 | "email": "fabien@symfony.com" 1746 | }, 1747 | { 1748 | "name": "Symfony Community", 1749 | "homepage": "https://symfony.com/contributors" 1750 | } 1751 | ], 1752 | "description": "Symfony Finder Component", 1753 | "homepage": "https://symfony.com", 1754 | "time": "2020-03-27T16:56:45+00:00" 1755 | }, 1756 | { 1757 | "name": "symfony/http-foundation", 1758 | "version": "v5.0.7", 1759 | "source": { 1760 | "type": "git", 1761 | "url": "https://github.com/symfony/http-foundation.git", 1762 | "reference": "26fb006a2c7b6cdd23d52157b05f8414ffa417b6" 1763 | }, 1764 | "dist": { 1765 | "type": "zip", 1766 | "url": "https://api.github.com/repos/symfony/http-foundation/zipball/26fb006a2c7b6cdd23d52157b05f8414ffa417b6", 1767 | "reference": "26fb006a2c7b6cdd23d52157b05f8414ffa417b6", 1768 | "shasum": "" 1769 | }, 1770 | "require": { 1771 | "php": "^7.2.5", 1772 | "symfony/mime": "^4.4|^5.0", 1773 | "symfony/polyfill-mbstring": "~1.1" 1774 | }, 1775 | "require-dev": { 1776 | "predis/predis": "~1.0", 1777 | "symfony/expression-language": "^4.4|^5.0" 1778 | }, 1779 | "type": "library", 1780 | "extra": { 1781 | "branch-alias": { 1782 | "dev-master": "5.0-dev" 1783 | } 1784 | }, 1785 | "autoload": { 1786 | "psr-4": { 1787 | "Symfony\\Component\\HttpFoundation\\": "" 1788 | }, 1789 | "exclude-from-classmap": [ 1790 | "/Tests/" 1791 | ] 1792 | }, 1793 | "notification-url": "https://packagist.org/downloads/", 1794 | "license": [ 1795 | "MIT" 1796 | ], 1797 | "authors": [ 1798 | { 1799 | "name": "Fabien Potencier", 1800 | "email": "fabien@symfony.com" 1801 | }, 1802 | { 1803 | "name": "Symfony Community", 1804 | "homepage": "https://symfony.com/contributors" 1805 | } 1806 | ], 1807 | "description": "Symfony HttpFoundation Component", 1808 | "homepage": "https://symfony.com", 1809 | "time": "2020-03-30T14:14:32+00:00" 1810 | }, 1811 | { 1812 | "name": "symfony/http-kernel", 1813 | "version": "v5.0.7", 1814 | "source": { 1815 | "type": "git", 1816 | "url": "https://github.com/symfony/http-kernel.git", 1817 | "reference": "ad574c55d451127cab1c45b4ac51bf283e340cf0" 1818 | }, 1819 | "dist": { 1820 | "type": "zip", 1821 | "url": "https://api.github.com/repos/symfony/http-kernel/zipball/ad574c55d451127cab1c45b4ac51bf283e340cf0", 1822 | "reference": "ad574c55d451127cab1c45b4ac51bf283e340cf0", 1823 | "shasum": "" 1824 | }, 1825 | "require": { 1826 | "php": "^7.2.5", 1827 | "psr/log": "~1.0", 1828 | "symfony/error-handler": "^4.4|^5.0", 1829 | "symfony/event-dispatcher": "^5.0", 1830 | "symfony/http-foundation": "^4.4|^5.0", 1831 | "symfony/polyfill-ctype": "^1.8", 1832 | "symfony/polyfill-php73": "^1.9" 1833 | }, 1834 | "conflict": { 1835 | "symfony/browser-kit": "<4.4", 1836 | "symfony/cache": "<5.0", 1837 | "symfony/config": "<5.0", 1838 | "symfony/dependency-injection": "<4.4", 1839 | "symfony/doctrine-bridge": "<5.0", 1840 | "symfony/form": "<5.0", 1841 | "symfony/http-client": "<5.0", 1842 | "symfony/mailer": "<5.0", 1843 | "symfony/messenger": "<5.0", 1844 | "symfony/translation": "<5.0", 1845 | "symfony/twig-bridge": "<5.0", 1846 | "symfony/validator": "<5.0", 1847 | "twig/twig": "<2.4" 1848 | }, 1849 | "provide": { 1850 | "psr/log-implementation": "1.0" 1851 | }, 1852 | "require-dev": { 1853 | "psr/cache": "~1.0", 1854 | "symfony/browser-kit": "^4.4|^5.0", 1855 | "symfony/config": "^5.0", 1856 | "symfony/console": "^4.4|^5.0", 1857 | "symfony/css-selector": "^4.4|^5.0", 1858 | "symfony/dependency-injection": "^4.4|^5.0", 1859 | "symfony/dom-crawler": "^4.4|^5.0", 1860 | "symfony/expression-language": "^4.4|^5.0", 1861 | "symfony/finder": "^4.4|^5.0", 1862 | "symfony/process": "^4.4|^5.0", 1863 | "symfony/routing": "^4.4|^5.0", 1864 | "symfony/stopwatch": "^4.4|^5.0", 1865 | "symfony/translation": "^4.4|^5.0", 1866 | "symfony/translation-contracts": "^1.1|^2", 1867 | "twig/twig": "^2.4|^3.0" 1868 | }, 1869 | "suggest": { 1870 | "symfony/browser-kit": "", 1871 | "symfony/config": "", 1872 | "symfony/console": "", 1873 | "symfony/dependency-injection": "" 1874 | }, 1875 | "type": "library", 1876 | "extra": { 1877 | "branch-alias": { 1878 | "dev-master": "5.0-dev" 1879 | } 1880 | }, 1881 | "autoload": { 1882 | "psr-4": { 1883 | "Symfony\\Component\\HttpKernel\\": "" 1884 | }, 1885 | "exclude-from-classmap": [ 1886 | "/Tests/" 1887 | ] 1888 | }, 1889 | "notification-url": "https://packagist.org/downloads/", 1890 | "license": [ 1891 | "MIT" 1892 | ], 1893 | "authors": [ 1894 | { 1895 | "name": "Fabien Potencier", 1896 | "email": "fabien@symfony.com" 1897 | }, 1898 | { 1899 | "name": "Symfony Community", 1900 | "homepage": "https://symfony.com/contributors" 1901 | } 1902 | ], 1903 | "description": "Symfony HttpKernel Component", 1904 | "homepage": "https://symfony.com", 1905 | "time": "2020-03-30T15:04:59+00:00" 1906 | }, 1907 | { 1908 | "name": "symfony/mime", 1909 | "version": "v5.0.7", 1910 | "source": { 1911 | "type": "git", 1912 | "url": "https://github.com/symfony/mime.git", 1913 | "reference": "481b7d6da88922fb1e0d86a943987722b08f3955" 1914 | }, 1915 | "dist": { 1916 | "type": "zip", 1917 | "url": "https://api.github.com/repos/symfony/mime/zipball/481b7d6da88922fb1e0d86a943987722b08f3955", 1918 | "reference": "481b7d6da88922fb1e0d86a943987722b08f3955", 1919 | "shasum": "" 1920 | }, 1921 | "require": { 1922 | "php": "^7.2.5", 1923 | "symfony/polyfill-intl-idn": "^1.10", 1924 | "symfony/polyfill-mbstring": "^1.0" 1925 | }, 1926 | "conflict": { 1927 | "symfony/mailer": "<4.4" 1928 | }, 1929 | "require-dev": { 1930 | "egulias/email-validator": "^2.1.10", 1931 | "symfony/dependency-injection": "^4.4|^5.0" 1932 | }, 1933 | "type": "library", 1934 | "extra": { 1935 | "branch-alias": { 1936 | "dev-master": "5.0-dev" 1937 | } 1938 | }, 1939 | "autoload": { 1940 | "psr-4": { 1941 | "Symfony\\Component\\Mime\\": "" 1942 | }, 1943 | "exclude-from-classmap": [ 1944 | "/Tests/" 1945 | ] 1946 | }, 1947 | "notification-url": "https://packagist.org/downloads/", 1948 | "license": [ 1949 | "MIT" 1950 | ], 1951 | "authors": [ 1952 | { 1953 | "name": "Fabien Potencier", 1954 | "email": "fabien@symfony.com" 1955 | }, 1956 | { 1957 | "name": "Symfony Community", 1958 | "homepage": "https://symfony.com/contributors" 1959 | } 1960 | ], 1961 | "description": "A library to manipulate MIME messages", 1962 | "homepage": "https://symfony.com", 1963 | "keywords": [ 1964 | "mime", 1965 | "mime-type" 1966 | ], 1967 | "time": "2020-03-27T16:56:45+00:00" 1968 | }, 1969 | { 1970 | "name": "symfony/polyfill-ctype", 1971 | "version": "v1.15.0", 1972 | "source": { 1973 | "type": "git", 1974 | "url": "https://github.com/symfony/polyfill-ctype.git", 1975 | "reference": "4719fa9c18b0464d399f1a63bf624b42b6fa8d14" 1976 | }, 1977 | "dist": { 1978 | "type": "zip", 1979 | "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/4719fa9c18b0464d399f1a63bf624b42b6fa8d14", 1980 | "reference": "4719fa9c18b0464d399f1a63bf624b42b6fa8d14", 1981 | "shasum": "" 1982 | }, 1983 | "require": { 1984 | "php": ">=5.3.3" 1985 | }, 1986 | "suggest": { 1987 | "ext-ctype": "For best performance" 1988 | }, 1989 | "type": "library", 1990 | "extra": { 1991 | "branch-alias": { 1992 | "dev-master": "1.15-dev" 1993 | } 1994 | }, 1995 | "autoload": { 1996 | "psr-4": { 1997 | "Symfony\\Polyfill\\Ctype\\": "" 1998 | }, 1999 | "files": [ 2000 | "bootstrap.php" 2001 | ] 2002 | }, 2003 | "notification-url": "https://packagist.org/downloads/", 2004 | "license": [ 2005 | "MIT" 2006 | ], 2007 | "authors": [ 2008 | { 2009 | "name": "Gert de Pagter", 2010 | "email": "BackEndTea@gmail.com" 2011 | }, 2012 | { 2013 | "name": "Symfony Community", 2014 | "homepage": "https://symfony.com/contributors" 2015 | } 2016 | ], 2017 | "description": "Symfony polyfill for ctype functions", 2018 | "homepage": "https://symfony.com", 2019 | "keywords": [ 2020 | "compatibility", 2021 | "ctype", 2022 | "polyfill", 2023 | "portable" 2024 | ], 2025 | "time": "2020-02-27T09:26:54+00:00" 2026 | }, 2027 | { 2028 | "name": "symfony/polyfill-iconv", 2029 | "version": "v1.15.0", 2030 | "source": { 2031 | "type": "git", 2032 | "url": "https://github.com/symfony/polyfill-iconv.git", 2033 | "reference": "ad6d62792bfbcfc385dd34b424d4fcf9712a32c8" 2034 | }, 2035 | "dist": { 2036 | "type": "zip", 2037 | "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/ad6d62792bfbcfc385dd34b424d4fcf9712a32c8", 2038 | "reference": "ad6d62792bfbcfc385dd34b424d4fcf9712a32c8", 2039 | "shasum": "" 2040 | }, 2041 | "require": { 2042 | "php": ">=5.3.3" 2043 | }, 2044 | "suggest": { 2045 | "ext-iconv": "For best performance" 2046 | }, 2047 | "type": "library", 2048 | "extra": { 2049 | "branch-alias": { 2050 | "dev-master": "1.15-dev" 2051 | } 2052 | }, 2053 | "autoload": { 2054 | "psr-4": { 2055 | "Symfony\\Polyfill\\Iconv\\": "" 2056 | }, 2057 | "files": [ 2058 | "bootstrap.php" 2059 | ] 2060 | }, 2061 | "notification-url": "https://packagist.org/downloads/", 2062 | "license": [ 2063 | "MIT" 2064 | ], 2065 | "authors": [ 2066 | { 2067 | "name": "Nicolas Grekas", 2068 | "email": "p@tchwork.com" 2069 | }, 2070 | { 2071 | "name": "Symfony Community", 2072 | "homepage": "https://symfony.com/contributors" 2073 | } 2074 | ], 2075 | "description": "Symfony polyfill for the Iconv extension", 2076 | "homepage": "https://symfony.com", 2077 | "keywords": [ 2078 | "compatibility", 2079 | "iconv", 2080 | "polyfill", 2081 | "portable", 2082 | "shim" 2083 | ], 2084 | "time": "2020-03-09T19:04:49+00:00" 2085 | }, 2086 | { 2087 | "name": "symfony/polyfill-intl-idn", 2088 | "version": "v1.15.0", 2089 | "source": { 2090 | "type": "git", 2091 | "url": "https://github.com/symfony/polyfill-intl-idn.git", 2092 | "reference": "47bd6aa45beb1cd7c6a16b7d1810133b728bdfcf" 2093 | }, 2094 | "dist": { 2095 | "type": "zip", 2096 | "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/47bd6aa45beb1cd7c6a16b7d1810133b728bdfcf", 2097 | "reference": "47bd6aa45beb1cd7c6a16b7d1810133b728bdfcf", 2098 | "shasum": "" 2099 | }, 2100 | "require": { 2101 | "php": ">=5.3.3", 2102 | "symfony/polyfill-mbstring": "^1.3", 2103 | "symfony/polyfill-php72": "^1.10" 2104 | }, 2105 | "suggest": { 2106 | "ext-intl": "For best performance" 2107 | }, 2108 | "type": "library", 2109 | "extra": { 2110 | "branch-alias": { 2111 | "dev-master": "1.15-dev" 2112 | } 2113 | }, 2114 | "autoload": { 2115 | "psr-4": { 2116 | "Symfony\\Polyfill\\Intl\\Idn\\": "" 2117 | }, 2118 | "files": [ 2119 | "bootstrap.php" 2120 | ] 2121 | }, 2122 | "notification-url": "https://packagist.org/downloads/", 2123 | "license": [ 2124 | "MIT" 2125 | ], 2126 | "authors": [ 2127 | { 2128 | "name": "Laurent Bassin", 2129 | "email": "laurent@bassin.info" 2130 | }, 2131 | { 2132 | "name": "Symfony Community", 2133 | "homepage": "https://symfony.com/contributors" 2134 | } 2135 | ], 2136 | "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", 2137 | "homepage": "https://symfony.com", 2138 | "keywords": [ 2139 | "compatibility", 2140 | "idn", 2141 | "intl", 2142 | "polyfill", 2143 | "portable", 2144 | "shim" 2145 | ], 2146 | "time": "2020-03-09T19:04:49+00:00" 2147 | }, 2148 | { 2149 | "name": "symfony/polyfill-mbstring", 2150 | "version": "v1.15.0", 2151 | "source": { 2152 | "type": "git", 2153 | "url": "https://github.com/symfony/polyfill-mbstring.git", 2154 | "reference": "81ffd3a9c6d707be22e3012b827de1c9775fc5ac" 2155 | }, 2156 | "dist": { 2157 | "type": "zip", 2158 | "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/81ffd3a9c6d707be22e3012b827de1c9775fc5ac", 2159 | "reference": "81ffd3a9c6d707be22e3012b827de1c9775fc5ac", 2160 | "shasum": "" 2161 | }, 2162 | "require": { 2163 | "php": ">=5.3.3" 2164 | }, 2165 | "suggest": { 2166 | "ext-mbstring": "For best performance" 2167 | }, 2168 | "type": "library", 2169 | "extra": { 2170 | "branch-alias": { 2171 | "dev-master": "1.15-dev" 2172 | } 2173 | }, 2174 | "autoload": { 2175 | "psr-4": { 2176 | "Symfony\\Polyfill\\Mbstring\\": "" 2177 | }, 2178 | "files": [ 2179 | "bootstrap.php" 2180 | ] 2181 | }, 2182 | "notification-url": "https://packagist.org/downloads/", 2183 | "license": [ 2184 | "MIT" 2185 | ], 2186 | "authors": [ 2187 | { 2188 | "name": "Nicolas Grekas", 2189 | "email": "p@tchwork.com" 2190 | }, 2191 | { 2192 | "name": "Symfony Community", 2193 | "homepage": "https://symfony.com/contributors" 2194 | } 2195 | ], 2196 | "description": "Symfony polyfill for the Mbstring extension", 2197 | "homepage": "https://symfony.com", 2198 | "keywords": [ 2199 | "compatibility", 2200 | "mbstring", 2201 | "polyfill", 2202 | "portable", 2203 | "shim" 2204 | ], 2205 | "time": "2020-03-09T19:04:49+00:00" 2206 | }, 2207 | { 2208 | "name": "symfony/polyfill-php72", 2209 | "version": "v1.15.0", 2210 | "source": { 2211 | "type": "git", 2212 | "url": "https://github.com/symfony/polyfill-php72.git", 2213 | "reference": "37b0976c78b94856543260ce09b460a7bc852747" 2214 | }, 2215 | "dist": { 2216 | "type": "zip", 2217 | "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/37b0976c78b94856543260ce09b460a7bc852747", 2218 | "reference": "37b0976c78b94856543260ce09b460a7bc852747", 2219 | "shasum": "" 2220 | }, 2221 | "require": { 2222 | "php": ">=5.3.3" 2223 | }, 2224 | "type": "library", 2225 | "extra": { 2226 | "branch-alias": { 2227 | "dev-master": "1.15-dev" 2228 | } 2229 | }, 2230 | "autoload": { 2231 | "psr-4": { 2232 | "Symfony\\Polyfill\\Php72\\": "" 2233 | }, 2234 | "files": [ 2235 | "bootstrap.php" 2236 | ] 2237 | }, 2238 | "notification-url": "https://packagist.org/downloads/", 2239 | "license": [ 2240 | "MIT" 2241 | ], 2242 | "authors": [ 2243 | { 2244 | "name": "Nicolas Grekas", 2245 | "email": "p@tchwork.com" 2246 | }, 2247 | { 2248 | "name": "Symfony Community", 2249 | "homepage": "https://symfony.com/contributors" 2250 | } 2251 | ], 2252 | "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", 2253 | "homepage": "https://symfony.com", 2254 | "keywords": [ 2255 | "compatibility", 2256 | "polyfill", 2257 | "portable", 2258 | "shim" 2259 | ], 2260 | "time": "2020-02-27T09:26:54+00:00" 2261 | }, 2262 | { 2263 | "name": "symfony/polyfill-php73", 2264 | "version": "v1.15.0", 2265 | "source": { 2266 | "type": "git", 2267 | "url": "https://github.com/symfony/polyfill-php73.git", 2268 | "reference": "0f27e9f464ea3da33cbe7ca3bdf4eb66def9d0f7" 2269 | }, 2270 | "dist": { 2271 | "type": "zip", 2272 | "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/0f27e9f464ea3da33cbe7ca3bdf4eb66def9d0f7", 2273 | "reference": "0f27e9f464ea3da33cbe7ca3bdf4eb66def9d0f7", 2274 | "shasum": "" 2275 | }, 2276 | "require": { 2277 | "php": ">=5.3.3" 2278 | }, 2279 | "type": "library", 2280 | "extra": { 2281 | "branch-alias": { 2282 | "dev-master": "1.15-dev" 2283 | } 2284 | }, 2285 | "autoload": { 2286 | "psr-4": { 2287 | "Symfony\\Polyfill\\Php73\\": "" 2288 | }, 2289 | "files": [ 2290 | "bootstrap.php" 2291 | ], 2292 | "classmap": [ 2293 | "Resources/stubs" 2294 | ] 2295 | }, 2296 | "notification-url": "https://packagist.org/downloads/", 2297 | "license": [ 2298 | "MIT" 2299 | ], 2300 | "authors": [ 2301 | { 2302 | "name": "Nicolas Grekas", 2303 | "email": "p@tchwork.com" 2304 | }, 2305 | { 2306 | "name": "Symfony Community", 2307 | "homepage": "https://symfony.com/contributors" 2308 | } 2309 | ], 2310 | "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", 2311 | "homepage": "https://symfony.com", 2312 | "keywords": [ 2313 | "compatibility", 2314 | "polyfill", 2315 | "portable", 2316 | "shim" 2317 | ], 2318 | "time": "2020-02-27T09:26:54+00:00" 2319 | }, 2320 | { 2321 | "name": "symfony/process", 2322 | "version": "v5.0.7", 2323 | "source": { 2324 | "type": "git", 2325 | "url": "https://github.com/symfony/process.git", 2326 | "reference": "c5ca4a0fc16a0c888067d43fbcfe1f8a53d8e70e" 2327 | }, 2328 | "dist": { 2329 | "type": "zip", 2330 | "url": "https://api.github.com/repos/symfony/process/zipball/c5ca4a0fc16a0c888067d43fbcfe1f8a53d8e70e", 2331 | "reference": "c5ca4a0fc16a0c888067d43fbcfe1f8a53d8e70e", 2332 | "shasum": "" 2333 | }, 2334 | "require": { 2335 | "php": "^7.2.5" 2336 | }, 2337 | "type": "library", 2338 | "extra": { 2339 | "branch-alias": { 2340 | "dev-master": "5.0-dev" 2341 | } 2342 | }, 2343 | "autoload": { 2344 | "psr-4": { 2345 | "Symfony\\Component\\Process\\": "" 2346 | }, 2347 | "exclude-from-classmap": [ 2348 | "/Tests/" 2349 | ] 2350 | }, 2351 | "notification-url": "https://packagist.org/downloads/", 2352 | "license": [ 2353 | "MIT" 2354 | ], 2355 | "authors": [ 2356 | { 2357 | "name": "Fabien Potencier", 2358 | "email": "fabien@symfony.com" 2359 | }, 2360 | { 2361 | "name": "Symfony Community", 2362 | "homepage": "https://symfony.com/contributors" 2363 | } 2364 | ], 2365 | "description": "Symfony Process Component", 2366 | "homepage": "https://symfony.com", 2367 | "time": "2020-03-27T16:56:45+00:00" 2368 | }, 2369 | { 2370 | "name": "symfony/routing", 2371 | "version": "v5.0.7", 2372 | "source": { 2373 | "type": "git", 2374 | "url": "https://github.com/symfony/routing.git", 2375 | "reference": "d98a95d0a684caba47a47c1c50c602a669dc973b" 2376 | }, 2377 | "dist": { 2378 | "type": "zip", 2379 | "url": "https://api.github.com/repos/symfony/routing/zipball/d98a95d0a684caba47a47c1c50c602a669dc973b", 2380 | "reference": "d98a95d0a684caba47a47c1c50c602a669dc973b", 2381 | "shasum": "" 2382 | }, 2383 | "require": { 2384 | "php": "^7.2.5" 2385 | }, 2386 | "conflict": { 2387 | "symfony/config": "<5.0", 2388 | "symfony/dependency-injection": "<4.4", 2389 | "symfony/yaml": "<4.4" 2390 | }, 2391 | "require-dev": { 2392 | "doctrine/annotations": "~1.2", 2393 | "psr/log": "~1.0", 2394 | "symfony/config": "^5.0", 2395 | "symfony/dependency-injection": "^4.4|^5.0", 2396 | "symfony/expression-language": "^4.4|^5.0", 2397 | "symfony/http-foundation": "^4.4|^5.0", 2398 | "symfony/yaml": "^4.4|^5.0" 2399 | }, 2400 | "suggest": { 2401 | "doctrine/annotations": "For using the annotation loader", 2402 | "symfony/config": "For using the all-in-one router or any loader", 2403 | "symfony/expression-language": "For using expression matching", 2404 | "symfony/http-foundation": "For using a Symfony Request object", 2405 | "symfony/yaml": "For using the YAML loader" 2406 | }, 2407 | "type": "library", 2408 | "extra": { 2409 | "branch-alias": { 2410 | "dev-master": "5.0-dev" 2411 | } 2412 | }, 2413 | "autoload": { 2414 | "psr-4": { 2415 | "Symfony\\Component\\Routing\\": "" 2416 | }, 2417 | "exclude-from-classmap": [ 2418 | "/Tests/" 2419 | ] 2420 | }, 2421 | "notification-url": "https://packagist.org/downloads/", 2422 | "license": [ 2423 | "MIT" 2424 | ], 2425 | "authors": [ 2426 | { 2427 | "name": "Fabien Potencier", 2428 | "email": "fabien@symfony.com" 2429 | }, 2430 | { 2431 | "name": "Symfony Community", 2432 | "homepage": "https://symfony.com/contributors" 2433 | } 2434 | ], 2435 | "description": "Symfony Routing Component", 2436 | "homepage": "https://symfony.com", 2437 | "keywords": [ 2438 | "router", 2439 | "routing", 2440 | "uri", 2441 | "url" 2442 | ], 2443 | "time": "2020-03-30T11:42:42+00:00" 2444 | }, 2445 | { 2446 | "name": "symfony/service-contracts", 2447 | "version": "v2.0.1", 2448 | "source": { 2449 | "type": "git", 2450 | "url": "https://github.com/symfony/service-contracts.git", 2451 | "reference": "144c5e51266b281231e947b51223ba14acf1a749" 2452 | }, 2453 | "dist": { 2454 | "type": "zip", 2455 | "url": "https://api.github.com/repos/symfony/service-contracts/zipball/144c5e51266b281231e947b51223ba14acf1a749", 2456 | "reference": "144c5e51266b281231e947b51223ba14acf1a749", 2457 | "shasum": "" 2458 | }, 2459 | "require": { 2460 | "php": "^7.2.5", 2461 | "psr/container": "^1.0" 2462 | }, 2463 | "suggest": { 2464 | "symfony/service-implementation": "" 2465 | }, 2466 | "type": "library", 2467 | "extra": { 2468 | "branch-alias": { 2469 | "dev-master": "2.0-dev" 2470 | } 2471 | }, 2472 | "autoload": { 2473 | "psr-4": { 2474 | "Symfony\\Contracts\\Service\\": "" 2475 | } 2476 | }, 2477 | "notification-url": "https://packagist.org/downloads/", 2478 | "license": [ 2479 | "MIT" 2480 | ], 2481 | "authors": [ 2482 | { 2483 | "name": "Nicolas Grekas", 2484 | "email": "p@tchwork.com" 2485 | }, 2486 | { 2487 | "name": "Symfony Community", 2488 | "homepage": "https://symfony.com/contributors" 2489 | } 2490 | ], 2491 | "description": "Generic abstractions related to writing services", 2492 | "homepage": "https://symfony.com", 2493 | "keywords": [ 2494 | "abstractions", 2495 | "contracts", 2496 | "decoupling", 2497 | "interfaces", 2498 | "interoperability", 2499 | "standards" 2500 | ], 2501 | "time": "2019-11-18T17:27:11+00:00" 2502 | }, 2503 | { 2504 | "name": "symfony/translation", 2505 | "version": "v5.0.7", 2506 | "source": { 2507 | "type": "git", 2508 | "url": "https://github.com/symfony/translation.git", 2509 | "reference": "99b831770e10807dca0979518e2c89edffef5978" 2510 | }, 2511 | "dist": { 2512 | "type": "zip", 2513 | "url": "https://api.github.com/repos/symfony/translation/zipball/99b831770e10807dca0979518e2c89edffef5978", 2514 | "reference": "99b831770e10807dca0979518e2c89edffef5978", 2515 | "shasum": "" 2516 | }, 2517 | "require": { 2518 | "php": "^7.2.5", 2519 | "symfony/polyfill-mbstring": "~1.0", 2520 | "symfony/translation-contracts": "^2" 2521 | }, 2522 | "conflict": { 2523 | "symfony/config": "<4.4", 2524 | "symfony/dependency-injection": "<5.0", 2525 | "symfony/http-kernel": "<5.0", 2526 | "symfony/twig-bundle": "<5.0", 2527 | "symfony/yaml": "<4.4" 2528 | }, 2529 | "provide": { 2530 | "symfony/translation-implementation": "2.0" 2531 | }, 2532 | "require-dev": { 2533 | "psr/log": "~1.0", 2534 | "symfony/config": "^4.4|^5.0", 2535 | "symfony/console": "^4.4|^5.0", 2536 | "symfony/dependency-injection": "^5.0", 2537 | "symfony/finder": "^4.4|^5.0", 2538 | "symfony/http-kernel": "^5.0", 2539 | "symfony/intl": "^4.4|^5.0", 2540 | "symfony/service-contracts": "^1.1.2|^2", 2541 | "symfony/yaml": "^4.4|^5.0" 2542 | }, 2543 | "suggest": { 2544 | "psr/log-implementation": "To use logging capability in translator", 2545 | "symfony/config": "", 2546 | "symfony/yaml": "" 2547 | }, 2548 | "type": "library", 2549 | "extra": { 2550 | "branch-alias": { 2551 | "dev-master": "5.0-dev" 2552 | } 2553 | }, 2554 | "autoload": { 2555 | "psr-4": { 2556 | "Symfony\\Component\\Translation\\": "" 2557 | }, 2558 | "exclude-from-classmap": [ 2559 | "/Tests/" 2560 | ] 2561 | }, 2562 | "notification-url": "https://packagist.org/downloads/", 2563 | "license": [ 2564 | "MIT" 2565 | ], 2566 | "authors": [ 2567 | { 2568 | "name": "Fabien Potencier", 2569 | "email": "fabien@symfony.com" 2570 | }, 2571 | { 2572 | "name": "Symfony Community", 2573 | "homepage": "https://symfony.com/contributors" 2574 | } 2575 | ], 2576 | "description": "Symfony Translation Component", 2577 | "homepage": "https://symfony.com", 2578 | "time": "2020-03-27T16:56:45+00:00" 2579 | }, 2580 | { 2581 | "name": "symfony/translation-contracts", 2582 | "version": "v2.0.1", 2583 | "source": { 2584 | "type": "git", 2585 | "url": "https://github.com/symfony/translation-contracts.git", 2586 | "reference": "8cc682ac458d75557203b2f2f14b0b92e1c744ed" 2587 | }, 2588 | "dist": { 2589 | "type": "zip", 2590 | "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/8cc682ac458d75557203b2f2f14b0b92e1c744ed", 2591 | "reference": "8cc682ac458d75557203b2f2f14b0b92e1c744ed", 2592 | "shasum": "" 2593 | }, 2594 | "require": { 2595 | "php": "^7.2.5" 2596 | }, 2597 | "suggest": { 2598 | "symfony/translation-implementation": "" 2599 | }, 2600 | "type": "library", 2601 | "extra": { 2602 | "branch-alias": { 2603 | "dev-master": "2.0-dev" 2604 | } 2605 | }, 2606 | "autoload": { 2607 | "psr-4": { 2608 | "Symfony\\Contracts\\Translation\\": "" 2609 | } 2610 | }, 2611 | "notification-url": "https://packagist.org/downloads/", 2612 | "license": [ 2613 | "MIT" 2614 | ], 2615 | "authors": [ 2616 | { 2617 | "name": "Nicolas Grekas", 2618 | "email": "p@tchwork.com" 2619 | }, 2620 | { 2621 | "name": "Symfony Community", 2622 | "homepage": "https://symfony.com/contributors" 2623 | } 2624 | ], 2625 | "description": "Generic abstractions related to translation", 2626 | "homepage": "https://symfony.com", 2627 | "keywords": [ 2628 | "abstractions", 2629 | "contracts", 2630 | "decoupling", 2631 | "interfaces", 2632 | "interoperability", 2633 | "standards" 2634 | ], 2635 | "time": "2019-11-18T17:27:11+00:00" 2636 | }, 2637 | { 2638 | "name": "symfony/var-dumper", 2639 | "version": "v5.0.7", 2640 | "source": { 2641 | "type": "git", 2642 | "url": "https://github.com/symfony/var-dumper.git", 2643 | "reference": "f74a126acd701392eef2492a17228d42552c86b5" 2644 | }, 2645 | "dist": { 2646 | "type": "zip", 2647 | "url": "https://api.github.com/repos/symfony/var-dumper/zipball/f74a126acd701392eef2492a17228d42552c86b5", 2648 | "reference": "f74a126acd701392eef2492a17228d42552c86b5", 2649 | "shasum": "" 2650 | }, 2651 | "require": { 2652 | "php": "^7.2.5", 2653 | "symfony/polyfill-mbstring": "~1.0" 2654 | }, 2655 | "conflict": { 2656 | "phpunit/phpunit": "<5.4.3", 2657 | "symfony/console": "<4.4" 2658 | }, 2659 | "require-dev": { 2660 | "ext-iconv": "*", 2661 | "symfony/console": "^4.4|^5.0", 2662 | "symfony/process": "^4.4|^5.0", 2663 | "twig/twig": "^2.4|^3.0" 2664 | }, 2665 | "suggest": { 2666 | "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", 2667 | "ext-intl": "To show region name in time zone dump", 2668 | "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" 2669 | }, 2670 | "bin": [ 2671 | "Resources/bin/var-dump-server" 2672 | ], 2673 | "type": "library", 2674 | "extra": { 2675 | "branch-alias": { 2676 | "dev-master": "5.0-dev" 2677 | } 2678 | }, 2679 | "autoload": { 2680 | "files": [ 2681 | "Resources/functions/dump.php" 2682 | ], 2683 | "psr-4": { 2684 | "Symfony\\Component\\VarDumper\\": "" 2685 | }, 2686 | "exclude-from-classmap": [ 2687 | "/Tests/" 2688 | ] 2689 | }, 2690 | "notification-url": "https://packagist.org/downloads/", 2691 | "license": [ 2692 | "MIT" 2693 | ], 2694 | "authors": [ 2695 | { 2696 | "name": "Nicolas Grekas", 2697 | "email": "p@tchwork.com" 2698 | }, 2699 | { 2700 | "name": "Symfony Community", 2701 | "homepage": "https://symfony.com/contributors" 2702 | } 2703 | ], 2704 | "description": "Symfony mechanism for exploring and dumping PHP variables", 2705 | "homepage": "https://symfony.com", 2706 | "keywords": [ 2707 | "debug", 2708 | "dump" 2709 | ], 2710 | "time": "2020-03-27T16:56:45+00:00" 2711 | }, 2712 | { 2713 | "name": "tijsverkoyen/css-to-inline-styles", 2714 | "version": "2.2.2", 2715 | "source": { 2716 | "type": "git", 2717 | "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", 2718 | "reference": "dda2ee426acd6d801d5b7fd1001cde9b5f790e15" 2719 | }, 2720 | "dist": { 2721 | "type": "zip", 2722 | "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/dda2ee426acd6d801d5b7fd1001cde9b5f790e15", 2723 | "reference": "dda2ee426acd6d801d5b7fd1001cde9b5f790e15", 2724 | "shasum": "" 2725 | }, 2726 | "require": { 2727 | "ext-dom": "*", 2728 | "ext-libxml": "*", 2729 | "php": "^5.5 || ^7.0", 2730 | "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0" 2731 | }, 2732 | "require-dev": { 2733 | "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" 2734 | }, 2735 | "type": "library", 2736 | "extra": { 2737 | "branch-alias": { 2738 | "dev-master": "2.2.x-dev" 2739 | } 2740 | }, 2741 | "autoload": { 2742 | "psr-4": { 2743 | "TijsVerkoyen\\CssToInlineStyles\\": "src" 2744 | } 2745 | }, 2746 | "notification-url": "https://packagist.org/downloads/", 2747 | "license": [ 2748 | "BSD-3-Clause" 2749 | ], 2750 | "authors": [ 2751 | { 2752 | "name": "Tijs Verkoyen", 2753 | "email": "css_to_inline_styles@verkoyen.eu", 2754 | "role": "Developer" 2755 | } 2756 | ], 2757 | "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.", 2758 | "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", 2759 | "time": "2019-10-24T08:53:34+00:00" 2760 | }, 2761 | { 2762 | "name": "vlucas/phpdotenv", 2763 | "version": "v4.1.4", 2764 | "source": { 2765 | "type": "git", 2766 | "url": "https://github.com/vlucas/phpdotenv.git", 2767 | "reference": "feb6dad5ae24b1380827aee1629b730080fde500" 2768 | }, 2769 | "dist": { 2770 | "type": "zip", 2771 | "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/feb6dad5ae24b1380827aee1629b730080fde500", 2772 | "reference": "feb6dad5ae24b1380827aee1629b730080fde500", 2773 | "shasum": "" 2774 | }, 2775 | "require": { 2776 | "php": "^5.5.9 || ^7.0", 2777 | "phpoption/phpoption": "^1.7.2", 2778 | "symfony/polyfill-ctype": "^1.9" 2779 | }, 2780 | "require-dev": { 2781 | "bamarni/composer-bin-plugin": "^1.3", 2782 | "ext-filter": "*", 2783 | "ext-pcre": "*", 2784 | "phpunit/phpunit": "^4.8.35 || ^5.0 || ^6.0 || ^7.0" 2785 | }, 2786 | "suggest": { 2787 | "ext-filter": "Required to use the boolean validator.", 2788 | "ext-pcre": "Required to use most of the library." 2789 | }, 2790 | "type": "library", 2791 | "extra": { 2792 | "branch-alias": { 2793 | "dev-master": "4.1-dev" 2794 | } 2795 | }, 2796 | "autoload": { 2797 | "psr-4": { 2798 | "Dotenv\\": "src/" 2799 | } 2800 | }, 2801 | "notification-url": "https://packagist.org/downloads/", 2802 | "license": [ 2803 | "BSD-3-Clause" 2804 | ], 2805 | "authors": [ 2806 | { 2807 | "name": "Graham Campbell", 2808 | "email": "graham@alt-three.com", 2809 | "homepage": "https://gjcampbell.co.uk/" 2810 | }, 2811 | { 2812 | "name": "Vance Lucas", 2813 | "email": "vance@vancelucas.com", 2814 | "homepage": "https://vancelucas.com/" 2815 | } 2816 | ], 2817 | "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", 2818 | "keywords": [ 2819 | "dotenv", 2820 | "env", 2821 | "environment" 2822 | ], 2823 | "time": "2020-04-12T15:20:09+00:00" 2824 | }, 2825 | { 2826 | "name": "voku/portable-ascii", 2827 | "version": "1.4.10", 2828 | "source": { 2829 | "type": "git", 2830 | "url": "https://github.com/voku/portable-ascii.git", 2831 | "reference": "240e93829a5f985fab0984a6e55ae5e26b78a334" 2832 | }, 2833 | "dist": { 2834 | "type": "zip", 2835 | "url": "https://api.github.com/repos/voku/portable-ascii/zipball/240e93829a5f985fab0984a6e55ae5e26b78a334", 2836 | "reference": "240e93829a5f985fab0984a6e55ae5e26b78a334", 2837 | "shasum": "" 2838 | }, 2839 | "require": { 2840 | "php": ">=7.0.0" 2841 | }, 2842 | "require-dev": { 2843 | "phpunit/phpunit": "~6.0 || ~7.0" 2844 | }, 2845 | "suggest": { 2846 | "ext-intl": "Use Intl for transliterator_transliterate() support" 2847 | }, 2848 | "type": "library", 2849 | "autoload": { 2850 | "psr-4": { 2851 | "voku\\": "src/voku/", 2852 | "voku\\tests\\": "tests/" 2853 | } 2854 | }, 2855 | "notification-url": "https://packagist.org/downloads/", 2856 | "license": [ 2857 | "MIT" 2858 | ], 2859 | "authors": [ 2860 | { 2861 | "name": "Lars Moelleken", 2862 | "homepage": "http://www.moelleken.org/" 2863 | } 2864 | ], 2865 | "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", 2866 | "homepage": "https://github.com/voku/portable-ascii", 2867 | "keywords": [ 2868 | "ascii", 2869 | "clean", 2870 | "php" 2871 | ], 2872 | "time": "2020-03-13T01:23:26+00:00" 2873 | } 2874 | ], 2875 | "packages-dev": [ 2876 | { 2877 | "name": "doctrine/instantiator", 2878 | "version": "1.3.0", 2879 | "source": { 2880 | "type": "git", 2881 | "url": "https://github.com/doctrine/instantiator.git", 2882 | "reference": "ae466f726242e637cebdd526a7d991b9433bacf1" 2883 | }, 2884 | "dist": { 2885 | "type": "zip", 2886 | "url": "https://api.github.com/repos/doctrine/instantiator/zipball/ae466f726242e637cebdd526a7d991b9433bacf1", 2887 | "reference": "ae466f726242e637cebdd526a7d991b9433bacf1", 2888 | "shasum": "" 2889 | }, 2890 | "require": { 2891 | "php": "^7.1" 2892 | }, 2893 | "require-dev": { 2894 | "doctrine/coding-standard": "^6.0", 2895 | "ext-pdo": "*", 2896 | "ext-phar": "*", 2897 | "phpbench/phpbench": "^0.13", 2898 | "phpstan/phpstan-phpunit": "^0.11", 2899 | "phpstan/phpstan-shim": "^0.11", 2900 | "phpunit/phpunit": "^7.0" 2901 | }, 2902 | "type": "library", 2903 | "extra": { 2904 | "branch-alias": { 2905 | "dev-master": "1.2.x-dev" 2906 | } 2907 | }, 2908 | "autoload": { 2909 | "psr-4": { 2910 | "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" 2911 | } 2912 | }, 2913 | "notification-url": "https://packagist.org/downloads/", 2914 | "license": [ 2915 | "MIT" 2916 | ], 2917 | "authors": [ 2918 | { 2919 | "name": "Marco Pivetta", 2920 | "email": "ocramius@gmail.com", 2921 | "homepage": "http://ocramius.github.com/" 2922 | } 2923 | ], 2924 | "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", 2925 | "homepage": "https://www.doctrine-project.org/projects/instantiator.html", 2926 | "keywords": [ 2927 | "constructor", 2928 | "instantiate" 2929 | ], 2930 | "time": "2019-10-21T16:45:58+00:00" 2931 | }, 2932 | { 2933 | "name": "myclabs/deep-copy", 2934 | "version": "1.9.5", 2935 | "source": { 2936 | "type": "git", 2937 | "url": "https://github.com/myclabs/DeepCopy.git", 2938 | "reference": "b2c28789e80a97badd14145fda39b545d83ca3ef" 2939 | }, 2940 | "dist": { 2941 | "type": "zip", 2942 | "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/b2c28789e80a97badd14145fda39b545d83ca3ef", 2943 | "reference": "b2c28789e80a97badd14145fda39b545d83ca3ef", 2944 | "shasum": "" 2945 | }, 2946 | "require": { 2947 | "php": "^7.1" 2948 | }, 2949 | "replace": { 2950 | "myclabs/deep-copy": "self.version" 2951 | }, 2952 | "require-dev": { 2953 | "doctrine/collections": "^1.0", 2954 | "doctrine/common": "^2.6", 2955 | "phpunit/phpunit": "^7.1" 2956 | }, 2957 | "type": "library", 2958 | "autoload": { 2959 | "psr-4": { 2960 | "DeepCopy\\": "src/DeepCopy/" 2961 | }, 2962 | "files": [ 2963 | "src/DeepCopy/deep_copy.php" 2964 | ] 2965 | }, 2966 | "notification-url": "https://packagist.org/downloads/", 2967 | "license": [ 2968 | "MIT" 2969 | ], 2970 | "description": "Create deep copies (clones) of your objects", 2971 | "keywords": [ 2972 | "clone", 2973 | "copy", 2974 | "duplicate", 2975 | "object", 2976 | "object graph" 2977 | ], 2978 | "time": "2020-01-17T21:11:47+00:00" 2979 | }, 2980 | { 2981 | "name": "phar-io/manifest", 2982 | "version": "1.0.3", 2983 | "source": { 2984 | "type": "git", 2985 | "url": "https://github.com/phar-io/manifest.git", 2986 | "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4" 2987 | }, 2988 | "dist": { 2989 | "type": "zip", 2990 | "url": "https://api.github.com/repos/phar-io/manifest/zipball/7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", 2991 | "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", 2992 | "shasum": "" 2993 | }, 2994 | "require": { 2995 | "ext-dom": "*", 2996 | "ext-phar": "*", 2997 | "phar-io/version": "^2.0", 2998 | "php": "^5.6 || ^7.0" 2999 | }, 3000 | "type": "library", 3001 | "extra": { 3002 | "branch-alias": { 3003 | "dev-master": "1.0.x-dev" 3004 | } 3005 | }, 3006 | "autoload": { 3007 | "classmap": [ 3008 | "src/" 3009 | ] 3010 | }, 3011 | "notification-url": "https://packagist.org/downloads/", 3012 | "license": [ 3013 | "BSD-3-Clause" 3014 | ], 3015 | "authors": [ 3016 | { 3017 | "name": "Arne Blankerts", 3018 | "email": "arne@blankerts.de", 3019 | "role": "Developer" 3020 | }, 3021 | { 3022 | "name": "Sebastian Heuer", 3023 | "email": "sebastian@phpeople.de", 3024 | "role": "Developer" 3025 | }, 3026 | { 3027 | "name": "Sebastian Bergmann", 3028 | "email": "sebastian@phpunit.de", 3029 | "role": "Developer" 3030 | } 3031 | ], 3032 | "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", 3033 | "time": "2018-07-08T19:23:20+00:00" 3034 | }, 3035 | { 3036 | "name": "phar-io/version", 3037 | "version": "2.0.1", 3038 | "source": { 3039 | "type": "git", 3040 | "url": "https://github.com/phar-io/version.git", 3041 | "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6" 3042 | }, 3043 | "dist": { 3044 | "type": "zip", 3045 | "url": "https://api.github.com/repos/phar-io/version/zipball/45a2ec53a73c70ce41d55cedef9063630abaf1b6", 3046 | "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6", 3047 | "shasum": "" 3048 | }, 3049 | "require": { 3050 | "php": "^5.6 || ^7.0" 3051 | }, 3052 | "type": "library", 3053 | "autoload": { 3054 | "classmap": [ 3055 | "src/" 3056 | ] 3057 | }, 3058 | "notification-url": "https://packagist.org/downloads/", 3059 | "license": [ 3060 | "BSD-3-Clause" 3061 | ], 3062 | "authors": [ 3063 | { 3064 | "name": "Arne Blankerts", 3065 | "email": "arne@blankerts.de", 3066 | "role": "Developer" 3067 | }, 3068 | { 3069 | "name": "Sebastian Heuer", 3070 | "email": "sebastian@phpeople.de", 3071 | "role": "Developer" 3072 | }, 3073 | { 3074 | "name": "Sebastian Bergmann", 3075 | "email": "sebastian@phpunit.de", 3076 | "role": "Developer" 3077 | } 3078 | ], 3079 | "description": "Library for handling version information and constraints", 3080 | "time": "2018-07-08T19:19:57+00:00" 3081 | }, 3082 | { 3083 | "name": "phpdocumentor/reflection-common", 3084 | "version": "2.0.0", 3085 | "source": { 3086 | "type": "git", 3087 | "url": "https://github.com/phpDocumentor/ReflectionCommon.git", 3088 | "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a" 3089 | }, 3090 | "dist": { 3091 | "type": "zip", 3092 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/63a995caa1ca9e5590304cd845c15ad6d482a62a", 3093 | "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a", 3094 | "shasum": "" 3095 | }, 3096 | "require": { 3097 | "php": ">=7.1" 3098 | }, 3099 | "require-dev": { 3100 | "phpunit/phpunit": "~6" 3101 | }, 3102 | "type": "library", 3103 | "extra": { 3104 | "branch-alias": { 3105 | "dev-master": "2.x-dev" 3106 | } 3107 | }, 3108 | "autoload": { 3109 | "psr-4": { 3110 | "phpDocumentor\\Reflection\\": "src/" 3111 | } 3112 | }, 3113 | "notification-url": "https://packagist.org/downloads/", 3114 | "license": [ 3115 | "MIT" 3116 | ], 3117 | "authors": [ 3118 | { 3119 | "name": "Jaap van Otterdijk", 3120 | "email": "opensource@ijaap.nl" 3121 | } 3122 | ], 3123 | "description": "Common reflection classes used by phpdocumentor to reflect the code structure", 3124 | "homepage": "http://www.phpdoc.org", 3125 | "keywords": [ 3126 | "FQSEN", 3127 | "phpDocumentor", 3128 | "phpdoc", 3129 | "reflection", 3130 | "static analysis" 3131 | ], 3132 | "time": "2018-08-07T13:53:10+00:00" 3133 | }, 3134 | { 3135 | "name": "phpdocumentor/reflection-docblock", 3136 | "version": "5.1.0", 3137 | "source": { 3138 | "type": "git", 3139 | "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", 3140 | "reference": "cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e" 3141 | }, 3142 | "dist": { 3143 | "type": "zip", 3144 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e", 3145 | "reference": "cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e", 3146 | "shasum": "" 3147 | }, 3148 | "require": { 3149 | "ext-filter": "^7.1", 3150 | "php": "^7.2", 3151 | "phpdocumentor/reflection-common": "^2.0", 3152 | "phpdocumentor/type-resolver": "^1.0", 3153 | "webmozart/assert": "^1" 3154 | }, 3155 | "require-dev": { 3156 | "doctrine/instantiator": "^1", 3157 | "mockery/mockery": "^1" 3158 | }, 3159 | "type": "library", 3160 | "extra": { 3161 | "branch-alias": { 3162 | "dev-master": "5.x-dev" 3163 | } 3164 | }, 3165 | "autoload": { 3166 | "psr-4": { 3167 | "phpDocumentor\\Reflection\\": "src" 3168 | } 3169 | }, 3170 | "notification-url": "https://packagist.org/downloads/", 3171 | "license": [ 3172 | "MIT" 3173 | ], 3174 | "authors": [ 3175 | { 3176 | "name": "Mike van Riel", 3177 | "email": "me@mikevanriel.com" 3178 | }, 3179 | { 3180 | "name": "Jaap van Otterdijk", 3181 | "email": "account@ijaap.nl" 3182 | } 3183 | ], 3184 | "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", 3185 | "time": "2020-02-22T12:28:44+00:00" 3186 | }, 3187 | { 3188 | "name": "phpdocumentor/type-resolver", 3189 | "version": "1.1.0", 3190 | "source": { 3191 | "type": "git", 3192 | "url": "https://github.com/phpDocumentor/TypeResolver.git", 3193 | "reference": "7462d5f123dfc080dfdf26897032a6513644fc95" 3194 | }, 3195 | "dist": { 3196 | "type": "zip", 3197 | "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/7462d5f123dfc080dfdf26897032a6513644fc95", 3198 | "reference": "7462d5f123dfc080dfdf26897032a6513644fc95", 3199 | "shasum": "" 3200 | }, 3201 | "require": { 3202 | "php": "^7.2", 3203 | "phpdocumentor/reflection-common": "^2.0" 3204 | }, 3205 | "require-dev": { 3206 | "ext-tokenizer": "^7.2", 3207 | "mockery/mockery": "~1" 3208 | }, 3209 | "type": "library", 3210 | "extra": { 3211 | "branch-alias": { 3212 | "dev-master": "1.x-dev" 3213 | } 3214 | }, 3215 | "autoload": { 3216 | "psr-4": { 3217 | "phpDocumentor\\Reflection\\": "src" 3218 | } 3219 | }, 3220 | "notification-url": "https://packagist.org/downloads/", 3221 | "license": [ 3222 | "MIT" 3223 | ], 3224 | "authors": [ 3225 | { 3226 | "name": "Mike van Riel", 3227 | "email": "me@mikevanriel.com" 3228 | } 3229 | ], 3230 | "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", 3231 | "time": "2020-02-18T18:59:58+00:00" 3232 | }, 3233 | { 3234 | "name": "phpspec/prophecy", 3235 | "version": "v1.10.3", 3236 | "source": { 3237 | "type": "git", 3238 | "url": "https://github.com/phpspec/prophecy.git", 3239 | "reference": "451c3cd1418cf640de218914901e51b064abb093" 3240 | }, 3241 | "dist": { 3242 | "type": "zip", 3243 | "url": "https://api.github.com/repos/phpspec/prophecy/zipball/451c3cd1418cf640de218914901e51b064abb093", 3244 | "reference": "451c3cd1418cf640de218914901e51b064abb093", 3245 | "shasum": "" 3246 | }, 3247 | "require": { 3248 | "doctrine/instantiator": "^1.0.2", 3249 | "php": "^5.3|^7.0", 3250 | "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0|^5.0", 3251 | "sebastian/comparator": "^1.2.3|^2.0|^3.0|^4.0", 3252 | "sebastian/recursion-context": "^1.0|^2.0|^3.0|^4.0" 3253 | }, 3254 | "require-dev": { 3255 | "phpspec/phpspec": "^2.5 || ^3.2", 3256 | "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" 3257 | }, 3258 | "type": "library", 3259 | "extra": { 3260 | "branch-alias": { 3261 | "dev-master": "1.10.x-dev" 3262 | } 3263 | }, 3264 | "autoload": { 3265 | "psr-4": { 3266 | "Prophecy\\": "src/Prophecy" 3267 | } 3268 | }, 3269 | "notification-url": "https://packagist.org/downloads/", 3270 | "license": [ 3271 | "MIT" 3272 | ], 3273 | "authors": [ 3274 | { 3275 | "name": "Konstantin Kudryashov", 3276 | "email": "ever.zet@gmail.com", 3277 | "homepage": "http://everzet.com" 3278 | }, 3279 | { 3280 | "name": "Marcello Duarte", 3281 | "email": "marcello.duarte@gmail.com" 3282 | } 3283 | ], 3284 | "description": "Highly opinionated mocking framework for PHP 5.3+", 3285 | "homepage": "https://github.com/phpspec/prophecy", 3286 | "keywords": [ 3287 | "Double", 3288 | "Dummy", 3289 | "fake", 3290 | "mock", 3291 | "spy", 3292 | "stub" 3293 | ], 3294 | "time": "2020-03-05T15:02:03+00:00" 3295 | }, 3296 | { 3297 | "name": "phpunit/php-code-coverage", 3298 | "version": "7.0.10", 3299 | "source": { 3300 | "type": "git", 3301 | "url": "https://github.com/sebastianbergmann/php-code-coverage.git", 3302 | "reference": "f1884187926fbb755a9aaf0b3836ad3165b478bf" 3303 | }, 3304 | "dist": { 3305 | "type": "zip", 3306 | "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f1884187926fbb755a9aaf0b3836ad3165b478bf", 3307 | "reference": "f1884187926fbb755a9aaf0b3836ad3165b478bf", 3308 | "shasum": "" 3309 | }, 3310 | "require": { 3311 | "ext-dom": "*", 3312 | "ext-xmlwriter": "*", 3313 | "php": "^7.2", 3314 | "phpunit/php-file-iterator": "^2.0.2", 3315 | "phpunit/php-text-template": "^1.2.1", 3316 | "phpunit/php-token-stream": "^3.1.1", 3317 | "sebastian/code-unit-reverse-lookup": "^1.0.1", 3318 | "sebastian/environment": "^4.2.2", 3319 | "sebastian/version": "^2.0.1", 3320 | "theseer/tokenizer": "^1.1.3" 3321 | }, 3322 | "require-dev": { 3323 | "phpunit/phpunit": "^8.2.2" 3324 | }, 3325 | "suggest": { 3326 | "ext-xdebug": "^2.7.2" 3327 | }, 3328 | "type": "library", 3329 | "extra": { 3330 | "branch-alias": { 3331 | "dev-master": "7.0-dev" 3332 | } 3333 | }, 3334 | "autoload": { 3335 | "classmap": [ 3336 | "src/" 3337 | ] 3338 | }, 3339 | "notification-url": "https://packagist.org/downloads/", 3340 | "license": [ 3341 | "BSD-3-Clause" 3342 | ], 3343 | "authors": [ 3344 | { 3345 | "name": "Sebastian Bergmann", 3346 | "email": "sebastian@phpunit.de", 3347 | "role": "lead" 3348 | } 3349 | ], 3350 | "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", 3351 | "homepage": "https://github.com/sebastianbergmann/php-code-coverage", 3352 | "keywords": [ 3353 | "coverage", 3354 | "testing", 3355 | "xunit" 3356 | ], 3357 | "time": "2019-11-20T13:55:58+00:00" 3358 | }, 3359 | { 3360 | "name": "phpunit/php-file-iterator", 3361 | "version": "2.0.2", 3362 | "source": { 3363 | "type": "git", 3364 | "url": "https://github.com/sebastianbergmann/php-file-iterator.git", 3365 | "reference": "050bedf145a257b1ff02746c31894800e5122946" 3366 | }, 3367 | "dist": { 3368 | "type": "zip", 3369 | "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/050bedf145a257b1ff02746c31894800e5122946", 3370 | "reference": "050bedf145a257b1ff02746c31894800e5122946", 3371 | "shasum": "" 3372 | }, 3373 | "require": { 3374 | "php": "^7.1" 3375 | }, 3376 | "require-dev": { 3377 | "phpunit/phpunit": "^7.1" 3378 | }, 3379 | "type": "library", 3380 | "extra": { 3381 | "branch-alias": { 3382 | "dev-master": "2.0.x-dev" 3383 | } 3384 | }, 3385 | "autoload": { 3386 | "classmap": [ 3387 | "src/" 3388 | ] 3389 | }, 3390 | "notification-url": "https://packagist.org/downloads/", 3391 | "license": [ 3392 | "BSD-3-Clause" 3393 | ], 3394 | "authors": [ 3395 | { 3396 | "name": "Sebastian Bergmann", 3397 | "email": "sebastian@phpunit.de", 3398 | "role": "lead" 3399 | } 3400 | ], 3401 | "description": "FilterIterator implementation that filters files based on a list of suffixes.", 3402 | "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", 3403 | "keywords": [ 3404 | "filesystem", 3405 | "iterator" 3406 | ], 3407 | "time": "2018-09-13T20:33:42+00:00" 3408 | }, 3409 | { 3410 | "name": "phpunit/php-text-template", 3411 | "version": "1.2.1", 3412 | "source": { 3413 | "type": "git", 3414 | "url": "https://github.com/sebastianbergmann/php-text-template.git", 3415 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" 3416 | }, 3417 | "dist": { 3418 | "type": "zip", 3419 | "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", 3420 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", 3421 | "shasum": "" 3422 | }, 3423 | "require": { 3424 | "php": ">=5.3.3" 3425 | }, 3426 | "type": "library", 3427 | "autoload": { 3428 | "classmap": [ 3429 | "src/" 3430 | ] 3431 | }, 3432 | "notification-url": "https://packagist.org/downloads/", 3433 | "license": [ 3434 | "BSD-3-Clause" 3435 | ], 3436 | "authors": [ 3437 | { 3438 | "name": "Sebastian Bergmann", 3439 | "email": "sebastian@phpunit.de", 3440 | "role": "lead" 3441 | } 3442 | ], 3443 | "description": "Simple template engine.", 3444 | "homepage": "https://github.com/sebastianbergmann/php-text-template/", 3445 | "keywords": [ 3446 | "template" 3447 | ], 3448 | "time": "2015-06-21T13:50:34+00:00" 3449 | }, 3450 | { 3451 | "name": "phpunit/php-timer", 3452 | "version": "2.1.2", 3453 | "source": { 3454 | "type": "git", 3455 | "url": "https://github.com/sebastianbergmann/php-timer.git", 3456 | "reference": "1038454804406b0b5f5f520358e78c1c2f71501e" 3457 | }, 3458 | "dist": { 3459 | "type": "zip", 3460 | "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/1038454804406b0b5f5f520358e78c1c2f71501e", 3461 | "reference": "1038454804406b0b5f5f520358e78c1c2f71501e", 3462 | "shasum": "" 3463 | }, 3464 | "require": { 3465 | "php": "^7.1" 3466 | }, 3467 | "require-dev": { 3468 | "phpunit/phpunit": "^7.0" 3469 | }, 3470 | "type": "library", 3471 | "extra": { 3472 | "branch-alias": { 3473 | "dev-master": "2.1-dev" 3474 | } 3475 | }, 3476 | "autoload": { 3477 | "classmap": [ 3478 | "src/" 3479 | ] 3480 | }, 3481 | "notification-url": "https://packagist.org/downloads/", 3482 | "license": [ 3483 | "BSD-3-Clause" 3484 | ], 3485 | "authors": [ 3486 | { 3487 | "name": "Sebastian Bergmann", 3488 | "email": "sebastian@phpunit.de", 3489 | "role": "lead" 3490 | } 3491 | ], 3492 | "description": "Utility class for timing", 3493 | "homepage": "https://github.com/sebastianbergmann/php-timer/", 3494 | "keywords": [ 3495 | "timer" 3496 | ], 3497 | "time": "2019-06-07T04:22:29+00:00" 3498 | }, 3499 | { 3500 | "name": "phpunit/php-token-stream", 3501 | "version": "3.1.1", 3502 | "source": { 3503 | "type": "git", 3504 | "url": "https://github.com/sebastianbergmann/php-token-stream.git", 3505 | "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff" 3506 | }, 3507 | "dist": { 3508 | "type": "zip", 3509 | "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/995192df77f63a59e47f025390d2d1fdf8f425ff", 3510 | "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff", 3511 | "shasum": "" 3512 | }, 3513 | "require": { 3514 | "ext-tokenizer": "*", 3515 | "php": "^7.1" 3516 | }, 3517 | "require-dev": { 3518 | "phpunit/phpunit": "^7.0" 3519 | }, 3520 | "type": "library", 3521 | "extra": { 3522 | "branch-alias": { 3523 | "dev-master": "3.1-dev" 3524 | } 3525 | }, 3526 | "autoload": { 3527 | "classmap": [ 3528 | "src/" 3529 | ] 3530 | }, 3531 | "notification-url": "https://packagist.org/downloads/", 3532 | "license": [ 3533 | "BSD-3-Clause" 3534 | ], 3535 | "authors": [ 3536 | { 3537 | "name": "Sebastian Bergmann", 3538 | "email": "sebastian@phpunit.de" 3539 | } 3540 | ], 3541 | "description": "Wrapper around PHP's tokenizer extension.", 3542 | "homepage": "https://github.com/sebastianbergmann/php-token-stream/", 3543 | "keywords": [ 3544 | "tokenizer" 3545 | ], 3546 | "time": "2019-09-17T06:23:10+00:00" 3547 | }, 3548 | { 3549 | "name": "phpunit/phpunit", 3550 | "version": "8.5.4", 3551 | "source": { 3552 | "type": "git", 3553 | "url": "https://github.com/sebastianbergmann/phpunit.git", 3554 | "reference": "8474e22d7d642f665084ba5ec780626cbd1efd23" 3555 | }, 3556 | "dist": { 3557 | "type": "zip", 3558 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/8474e22d7d642f665084ba5ec780626cbd1efd23", 3559 | "reference": "8474e22d7d642f665084ba5ec780626cbd1efd23", 3560 | "shasum": "" 3561 | }, 3562 | "require": { 3563 | "doctrine/instantiator": "^1.2.0", 3564 | "ext-dom": "*", 3565 | "ext-json": "*", 3566 | "ext-libxml": "*", 3567 | "ext-mbstring": "*", 3568 | "ext-xml": "*", 3569 | "ext-xmlwriter": "*", 3570 | "myclabs/deep-copy": "^1.9.1", 3571 | "phar-io/manifest": "^1.0.3", 3572 | "phar-io/version": "^2.0.1", 3573 | "php": "^7.2", 3574 | "phpspec/prophecy": "^1.8.1", 3575 | "phpunit/php-code-coverage": "^7.0.7", 3576 | "phpunit/php-file-iterator": "^2.0.2", 3577 | "phpunit/php-text-template": "^1.2.1", 3578 | "phpunit/php-timer": "^2.1.2", 3579 | "sebastian/comparator": "^3.0.2", 3580 | "sebastian/diff": "^3.0.2", 3581 | "sebastian/environment": "^4.2.2", 3582 | "sebastian/exporter": "^3.1.1", 3583 | "sebastian/global-state": "^3.0.0", 3584 | "sebastian/object-enumerator": "^3.0.3", 3585 | "sebastian/resource-operations": "^2.0.1", 3586 | "sebastian/type": "^1.1.3", 3587 | "sebastian/version": "^2.0.1" 3588 | }, 3589 | "require-dev": { 3590 | "ext-pdo": "*" 3591 | }, 3592 | "suggest": { 3593 | "ext-soap": "*", 3594 | "ext-xdebug": "*", 3595 | "phpunit/php-invoker": "^2.0.0" 3596 | }, 3597 | "bin": [ 3598 | "phpunit" 3599 | ], 3600 | "type": "library", 3601 | "extra": { 3602 | "branch-alias": { 3603 | "dev-master": "8.5-dev" 3604 | } 3605 | }, 3606 | "autoload": { 3607 | "classmap": [ 3608 | "src/" 3609 | ] 3610 | }, 3611 | "notification-url": "https://packagist.org/downloads/", 3612 | "license": [ 3613 | "BSD-3-Clause" 3614 | ], 3615 | "authors": [ 3616 | { 3617 | "name": "Sebastian Bergmann", 3618 | "email": "sebastian@phpunit.de", 3619 | "role": "lead" 3620 | } 3621 | ], 3622 | "description": "The PHP Unit Testing framework.", 3623 | "homepage": "https://phpunit.de/", 3624 | "keywords": [ 3625 | "phpunit", 3626 | "testing", 3627 | "xunit" 3628 | ], 3629 | "time": "2020-04-23T04:39:42+00:00" 3630 | }, 3631 | { 3632 | "name": "sebastian/code-unit-reverse-lookup", 3633 | "version": "1.0.1", 3634 | "source": { 3635 | "type": "git", 3636 | "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", 3637 | "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18" 3638 | }, 3639 | "dist": { 3640 | "type": "zip", 3641 | "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", 3642 | "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", 3643 | "shasum": "" 3644 | }, 3645 | "require": { 3646 | "php": "^5.6 || ^7.0" 3647 | }, 3648 | "require-dev": { 3649 | "phpunit/phpunit": "^5.7 || ^6.0" 3650 | }, 3651 | "type": "library", 3652 | "extra": { 3653 | "branch-alias": { 3654 | "dev-master": "1.0.x-dev" 3655 | } 3656 | }, 3657 | "autoload": { 3658 | "classmap": [ 3659 | "src/" 3660 | ] 3661 | }, 3662 | "notification-url": "https://packagist.org/downloads/", 3663 | "license": [ 3664 | "BSD-3-Clause" 3665 | ], 3666 | "authors": [ 3667 | { 3668 | "name": "Sebastian Bergmann", 3669 | "email": "sebastian@phpunit.de" 3670 | } 3671 | ], 3672 | "description": "Looks up which function or method a line of code belongs to", 3673 | "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", 3674 | "time": "2017-03-04T06:30:41+00:00" 3675 | }, 3676 | { 3677 | "name": "sebastian/comparator", 3678 | "version": "3.0.2", 3679 | "source": { 3680 | "type": "git", 3681 | "url": "https://github.com/sebastianbergmann/comparator.git", 3682 | "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da" 3683 | }, 3684 | "dist": { 3685 | "type": "zip", 3686 | "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/5de4fc177adf9bce8df98d8d141a7559d7ccf6da", 3687 | "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da", 3688 | "shasum": "" 3689 | }, 3690 | "require": { 3691 | "php": "^7.1", 3692 | "sebastian/diff": "^3.0", 3693 | "sebastian/exporter": "^3.1" 3694 | }, 3695 | "require-dev": { 3696 | "phpunit/phpunit": "^7.1" 3697 | }, 3698 | "type": "library", 3699 | "extra": { 3700 | "branch-alias": { 3701 | "dev-master": "3.0-dev" 3702 | } 3703 | }, 3704 | "autoload": { 3705 | "classmap": [ 3706 | "src/" 3707 | ] 3708 | }, 3709 | "notification-url": "https://packagist.org/downloads/", 3710 | "license": [ 3711 | "BSD-3-Clause" 3712 | ], 3713 | "authors": [ 3714 | { 3715 | "name": "Jeff Welch", 3716 | "email": "whatthejeff@gmail.com" 3717 | }, 3718 | { 3719 | "name": "Volker Dusch", 3720 | "email": "github@wallbash.com" 3721 | }, 3722 | { 3723 | "name": "Bernhard Schussek", 3724 | "email": "bschussek@2bepublished.at" 3725 | }, 3726 | { 3727 | "name": "Sebastian Bergmann", 3728 | "email": "sebastian@phpunit.de" 3729 | } 3730 | ], 3731 | "description": "Provides the functionality to compare PHP values for equality", 3732 | "homepage": "https://github.com/sebastianbergmann/comparator", 3733 | "keywords": [ 3734 | "comparator", 3735 | "compare", 3736 | "equality" 3737 | ], 3738 | "time": "2018-07-12T15:12:46+00:00" 3739 | }, 3740 | { 3741 | "name": "sebastian/diff", 3742 | "version": "3.0.2", 3743 | "source": { 3744 | "type": "git", 3745 | "url": "https://github.com/sebastianbergmann/diff.git", 3746 | "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29" 3747 | }, 3748 | "dist": { 3749 | "type": "zip", 3750 | "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/720fcc7e9b5cf384ea68d9d930d480907a0c1a29", 3751 | "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29", 3752 | "shasum": "" 3753 | }, 3754 | "require": { 3755 | "php": "^7.1" 3756 | }, 3757 | "require-dev": { 3758 | "phpunit/phpunit": "^7.5 || ^8.0", 3759 | "symfony/process": "^2 || ^3.3 || ^4" 3760 | }, 3761 | "type": "library", 3762 | "extra": { 3763 | "branch-alias": { 3764 | "dev-master": "3.0-dev" 3765 | } 3766 | }, 3767 | "autoload": { 3768 | "classmap": [ 3769 | "src/" 3770 | ] 3771 | }, 3772 | "notification-url": "https://packagist.org/downloads/", 3773 | "license": [ 3774 | "BSD-3-Clause" 3775 | ], 3776 | "authors": [ 3777 | { 3778 | "name": "Kore Nordmann", 3779 | "email": "mail@kore-nordmann.de" 3780 | }, 3781 | { 3782 | "name": "Sebastian Bergmann", 3783 | "email": "sebastian@phpunit.de" 3784 | } 3785 | ], 3786 | "description": "Diff implementation", 3787 | "homepage": "https://github.com/sebastianbergmann/diff", 3788 | "keywords": [ 3789 | "diff", 3790 | "udiff", 3791 | "unidiff", 3792 | "unified diff" 3793 | ], 3794 | "time": "2019-02-04T06:01:07+00:00" 3795 | }, 3796 | { 3797 | "name": "sebastian/environment", 3798 | "version": "4.2.3", 3799 | "source": { 3800 | "type": "git", 3801 | "url": "https://github.com/sebastianbergmann/environment.git", 3802 | "reference": "464c90d7bdf5ad4e8a6aea15c091fec0603d4368" 3803 | }, 3804 | "dist": { 3805 | "type": "zip", 3806 | "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/464c90d7bdf5ad4e8a6aea15c091fec0603d4368", 3807 | "reference": "464c90d7bdf5ad4e8a6aea15c091fec0603d4368", 3808 | "shasum": "" 3809 | }, 3810 | "require": { 3811 | "php": "^7.1" 3812 | }, 3813 | "require-dev": { 3814 | "phpunit/phpunit": "^7.5" 3815 | }, 3816 | "suggest": { 3817 | "ext-posix": "*" 3818 | }, 3819 | "type": "library", 3820 | "extra": { 3821 | "branch-alias": { 3822 | "dev-master": "4.2-dev" 3823 | } 3824 | }, 3825 | "autoload": { 3826 | "classmap": [ 3827 | "src/" 3828 | ] 3829 | }, 3830 | "notification-url": "https://packagist.org/downloads/", 3831 | "license": [ 3832 | "BSD-3-Clause" 3833 | ], 3834 | "authors": [ 3835 | { 3836 | "name": "Sebastian Bergmann", 3837 | "email": "sebastian@phpunit.de" 3838 | } 3839 | ], 3840 | "description": "Provides functionality to handle HHVM/PHP environments", 3841 | "homepage": "http://www.github.com/sebastianbergmann/environment", 3842 | "keywords": [ 3843 | "Xdebug", 3844 | "environment", 3845 | "hhvm" 3846 | ], 3847 | "time": "2019-11-20T08:46:58+00:00" 3848 | }, 3849 | { 3850 | "name": "sebastian/exporter", 3851 | "version": "3.1.2", 3852 | "source": { 3853 | "type": "git", 3854 | "url": "https://github.com/sebastianbergmann/exporter.git", 3855 | "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e" 3856 | }, 3857 | "dist": { 3858 | "type": "zip", 3859 | "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/68609e1261d215ea5b21b7987539cbfbe156ec3e", 3860 | "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e", 3861 | "shasum": "" 3862 | }, 3863 | "require": { 3864 | "php": "^7.0", 3865 | "sebastian/recursion-context": "^3.0" 3866 | }, 3867 | "require-dev": { 3868 | "ext-mbstring": "*", 3869 | "phpunit/phpunit": "^6.0" 3870 | }, 3871 | "type": "library", 3872 | "extra": { 3873 | "branch-alias": { 3874 | "dev-master": "3.1.x-dev" 3875 | } 3876 | }, 3877 | "autoload": { 3878 | "classmap": [ 3879 | "src/" 3880 | ] 3881 | }, 3882 | "notification-url": "https://packagist.org/downloads/", 3883 | "license": [ 3884 | "BSD-3-Clause" 3885 | ], 3886 | "authors": [ 3887 | { 3888 | "name": "Sebastian Bergmann", 3889 | "email": "sebastian@phpunit.de" 3890 | }, 3891 | { 3892 | "name": "Jeff Welch", 3893 | "email": "whatthejeff@gmail.com" 3894 | }, 3895 | { 3896 | "name": "Volker Dusch", 3897 | "email": "github@wallbash.com" 3898 | }, 3899 | { 3900 | "name": "Adam Harvey", 3901 | "email": "aharvey@php.net" 3902 | }, 3903 | { 3904 | "name": "Bernhard Schussek", 3905 | "email": "bschussek@gmail.com" 3906 | } 3907 | ], 3908 | "description": "Provides the functionality to export PHP variables for visualization", 3909 | "homepage": "http://www.github.com/sebastianbergmann/exporter", 3910 | "keywords": [ 3911 | "export", 3912 | "exporter" 3913 | ], 3914 | "time": "2019-09-14T09:02:43+00:00" 3915 | }, 3916 | { 3917 | "name": "sebastian/global-state", 3918 | "version": "3.0.0", 3919 | "source": { 3920 | "type": "git", 3921 | "url": "https://github.com/sebastianbergmann/global-state.git", 3922 | "reference": "edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4" 3923 | }, 3924 | "dist": { 3925 | "type": "zip", 3926 | "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4", 3927 | "reference": "edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4", 3928 | "shasum": "" 3929 | }, 3930 | "require": { 3931 | "php": "^7.2", 3932 | "sebastian/object-reflector": "^1.1.1", 3933 | "sebastian/recursion-context": "^3.0" 3934 | }, 3935 | "require-dev": { 3936 | "ext-dom": "*", 3937 | "phpunit/phpunit": "^8.0" 3938 | }, 3939 | "suggest": { 3940 | "ext-uopz": "*" 3941 | }, 3942 | "type": "library", 3943 | "extra": { 3944 | "branch-alias": { 3945 | "dev-master": "3.0-dev" 3946 | } 3947 | }, 3948 | "autoload": { 3949 | "classmap": [ 3950 | "src/" 3951 | ] 3952 | }, 3953 | "notification-url": "https://packagist.org/downloads/", 3954 | "license": [ 3955 | "BSD-3-Clause" 3956 | ], 3957 | "authors": [ 3958 | { 3959 | "name": "Sebastian Bergmann", 3960 | "email": "sebastian@phpunit.de" 3961 | } 3962 | ], 3963 | "description": "Snapshotting of global state", 3964 | "homepage": "http://www.github.com/sebastianbergmann/global-state", 3965 | "keywords": [ 3966 | "global state" 3967 | ], 3968 | "time": "2019-02-01T05:30:01+00:00" 3969 | }, 3970 | { 3971 | "name": "sebastian/object-enumerator", 3972 | "version": "3.0.3", 3973 | "source": { 3974 | "type": "git", 3975 | "url": "https://github.com/sebastianbergmann/object-enumerator.git", 3976 | "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5" 3977 | }, 3978 | "dist": { 3979 | "type": "zip", 3980 | "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5", 3981 | "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5", 3982 | "shasum": "" 3983 | }, 3984 | "require": { 3985 | "php": "^7.0", 3986 | "sebastian/object-reflector": "^1.1.1", 3987 | "sebastian/recursion-context": "^3.0" 3988 | }, 3989 | "require-dev": { 3990 | "phpunit/phpunit": "^6.0" 3991 | }, 3992 | "type": "library", 3993 | "extra": { 3994 | "branch-alias": { 3995 | "dev-master": "3.0.x-dev" 3996 | } 3997 | }, 3998 | "autoload": { 3999 | "classmap": [ 4000 | "src/" 4001 | ] 4002 | }, 4003 | "notification-url": "https://packagist.org/downloads/", 4004 | "license": [ 4005 | "BSD-3-Clause" 4006 | ], 4007 | "authors": [ 4008 | { 4009 | "name": "Sebastian Bergmann", 4010 | "email": "sebastian@phpunit.de" 4011 | } 4012 | ], 4013 | "description": "Traverses array structures and object graphs to enumerate all referenced objects", 4014 | "homepage": "https://github.com/sebastianbergmann/object-enumerator/", 4015 | "time": "2017-08-03T12:35:26+00:00" 4016 | }, 4017 | { 4018 | "name": "sebastian/object-reflector", 4019 | "version": "1.1.1", 4020 | "source": { 4021 | "type": "git", 4022 | "url": "https://github.com/sebastianbergmann/object-reflector.git", 4023 | "reference": "773f97c67f28de00d397be301821b06708fca0be" 4024 | }, 4025 | "dist": { 4026 | "type": "zip", 4027 | "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be", 4028 | "reference": "773f97c67f28de00d397be301821b06708fca0be", 4029 | "shasum": "" 4030 | }, 4031 | "require": { 4032 | "php": "^7.0" 4033 | }, 4034 | "require-dev": { 4035 | "phpunit/phpunit": "^6.0" 4036 | }, 4037 | "type": "library", 4038 | "extra": { 4039 | "branch-alias": { 4040 | "dev-master": "1.1-dev" 4041 | } 4042 | }, 4043 | "autoload": { 4044 | "classmap": [ 4045 | "src/" 4046 | ] 4047 | }, 4048 | "notification-url": "https://packagist.org/downloads/", 4049 | "license": [ 4050 | "BSD-3-Clause" 4051 | ], 4052 | "authors": [ 4053 | { 4054 | "name": "Sebastian Bergmann", 4055 | "email": "sebastian@phpunit.de" 4056 | } 4057 | ], 4058 | "description": "Allows reflection of object attributes, including inherited and non-public ones", 4059 | "homepage": "https://github.com/sebastianbergmann/object-reflector/", 4060 | "time": "2017-03-29T09:07:27+00:00" 4061 | }, 4062 | { 4063 | "name": "sebastian/recursion-context", 4064 | "version": "3.0.0", 4065 | "source": { 4066 | "type": "git", 4067 | "url": "https://github.com/sebastianbergmann/recursion-context.git", 4068 | "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8" 4069 | }, 4070 | "dist": { 4071 | "type": "zip", 4072 | "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", 4073 | "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", 4074 | "shasum": "" 4075 | }, 4076 | "require": { 4077 | "php": "^7.0" 4078 | }, 4079 | "require-dev": { 4080 | "phpunit/phpunit": "^6.0" 4081 | }, 4082 | "type": "library", 4083 | "extra": { 4084 | "branch-alias": { 4085 | "dev-master": "3.0.x-dev" 4086 | } 4087 | }, 4088 | "autoload": { 4089 | "classmap": [ 4090 | "src/" 4091 | ] 4092 | }, 4093 | "notification-url": "https://packagist.org/downloads/", 4094 | "license": [ 4095 | "BSD-3-Clause" 4096 | ], 4097 | "authors": [ 4098 | { 4099 | "name": "Jeff Welch", 4100 | "email": "whatthejeff@gmail.com" 4101 | }, 4102 | { 4103 | "name": "Sebastian Bergmann", 4104 | "email": "sebastian@phpunit.de" 4105 | }, 4106 | { 4107 | "name": "Adam Harvey", 4108 | "email": "aharvey@php.net" 4109 | } 4110 | ], 4111 | "description": "Provides functionality to recursively process PHP variables", 4112 | "homepage": "http://www.github.com/sebastianbergmann/recursion-context", 4113 | "time": "2017-03-03T06:23:57+00:00" 4114 | }, 4115 | { 4116 | "name": "sebastian/resource-operations", 4117 | "version": "2.0.1", 4118 | "source": { 4119 | "type": "git", 4120 | "url": "https://github.com/sebastianbergmann/resource-operations.git", 4121 | "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9" 4122 | }, 4123 | "dist": { 4124 | "type": "zip", 4125 | "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/4d7a795d35b889bf80a0cc04e08d77cedfa917a9", 4126 | "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9", 4127 | "shasum": "" 4128 | }, 4129 | "require": { 4130 | "php": "^7.1" 4131 | }, 4132 | "type": "library", 4133 | "extra": { 4134 | "branch-alias": { 4135 | "dev-master": "2.0-dev" 4136 | } 4137 | }, 4138 | "autoload": { 4139 | "classmap": [ 4140 | "src/" 4141 | ] 4142 | }, 4143 | "notification-url": "https://packagist.org/downloads/", 4144 | "license": [ 4145 | "BSD-3-Clause" 4146 | ], 4147 | "authors": [ 4148 | { 4149 | "name": "Sebastian Bergmann", 4150 | "email": "sebastian@phpunit.de" 4151 | } 4152 | ], 4153 | "description": "Provides a list of PHP built-in functions that operate on resources", 4154 | "homepage": "https://www.github.com/sebastianbergmann/resource-operations", 4155 | "time": "2018-10-04T04:07:39+00:00" 4156 | }, 4157 | { 4158 | "name": "sebastian/type", 4159 | "version": "1.1.3", 4160 | "source": { 4161 | "type": "git", 4162 | "url": "https://github.com/sebastianbergmann/type.git", 4163 | "reference": "3aaaa15fa71d27650d62a948be022fe3b48541a3" 4164 | }, 4165 | "dist": { 4166 | "type": "zip", 4167 | "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/3aaaa15fa71d27650d62a948be022fe3b48541a3", 4168 | "reference": "3aaaa15fa71d27650d62a948be022fe3b48541a3", 4169 | "shasum": "" 4170 | }, 4171 | "require": { 4172 | "php": "^7.2" 4173 | }, 4174 | "require-dev": { 4175 | "phpunit/phpunit": "^8.2" 4176 | }, 4177 | "type": "library", 4178 | "extra": { 4179 | "branch-alias": { 4180 | "dev-master": "1.1-dev" 4181 | } 4182 | }, 4183 | "autoload": { 4184 | "classmap": [ 4185 | "src/" 4186 | ] 4187 | }, 4188 | "notification-url": "https://packagist.org/downloads/", 4189 | "license": [ 4190 | "BSD-3-Clause" 4191 | ], 4192 | "authors": [ 4193 | { 4194 | "name": "Sebastian Bergmann", 4195 | "email": "sebastian@phpunit.de", 4196 | "role": "lead" 4197 | } 4198 | ], 4199 | "description": "Collection of value objects that represent the types of the PHP type system", 4200 | "homepage": "https://github.com/sebastianbergmann/type", 4201 | "time": "2019-07-02T08:10:15+00:00" 4202 | }, 4203 | { 4204 | "name": "sebastian/version", 4205 | "version": "2.0.1", 4206 | "source": { 4207 | "type": "git", 4208 | "url": "https://github.com/sebastianbergmann/version.git", 4209 | "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" 4210 | }, 4211 | "dist": { 4212 | "type": "zip", 4213 | "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", 4214 | "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", 4215 | "shasum": "" 4216 | }, 4217 | "require": { 4218 | "php": ">=5.6" 4219 | }, 4220 | "type": "library", 4221 | "extra": { 4222 | "branch-alias": { 4223 | "dev-master": "2.0.x-dev" 4224 | } 4225 | }, 4226 | "autoload": { 4227 | "classmap": [ 4228 | "src/" 4229 | ] 4230 | }, 4231 | "notification-url": "https://packagist.org/downloads/", 4232 | "license": [ 4233 | "BSD-3-Clause" 4234 | ], 4235 | "authors": [ 4236 | { 4237 | "name": "Sebastian Bergmann", 4238 | "email": "sebastian@phpunit.de", 4239 | "role": "lead" 4240 | } 4241 | ], 4242 | "description": "Library that helps with managing the version number of Git-hosted PHP projects", 4243 | "homepage": "https://github.com/sebastianbergmann/version", 4244 | "time": "2016-10-03T07:35:21+00:00" 4245 | }, 4246 | { 4247 | "name": "slevomat/coding-standard", 4248 | "version": "4.8.7", 4249 | "source": { 4250 | "type": "git", 4251 | "url": "https://github.com/slevomat/coding-standard.git", 4252 | "reference": "bff96313d8c7c2ba57a4edb13c1c141df8988c58" 4253 | }, 4254 | "dist": { 4255 | "type": "zip", 4256 | "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/bff96313d8c7c2ba57a4edb13c1c141df8988c58", 4257 | "reference": "bff96313d8c7c2ba57a4edb13c1c141df8988c58", 4258 | "shasum": "" 4259 | }, 4260 | "require": { 4261 | "php": "^7.1", 4262 | "squizlabs/php_codesniffer": "^3.4.0" 4263 | }, 4264 | "require-dev": { 4265 | "jakub-onderka/php-parallel-lint": "1.0.0", 4266 | "phing/phing": "2.16.1", 4267 | "phpstan/phpstan": "0.9.2", 4268 | "phpstan/phpstan-phpunit": "0.9.4", 4269 | "phpstan/phpstan-strict-rules": "0.9", 4270 | "phpunit/phpunit": "7.5.1" 4271 | }, 4272 | "type": "phpcodesniffer-standard", 4273 | "autoload": { 4274 | "psr-4": { 4275 | "SlevomatCodingStandard\\": "SlevomatCodingStandard" 4276 | } 4277 | }, 4278 | "notification-url": "https://packagist.org/downloads/", 4279 | "license": [ 4280 | "MIT" 4281 | ], 4282 | "description": "Slevomat Coding Standard for PHP_CodeSniffer complements Consistence Coding Standard by providing sniffs with additional checks.", 4283 | "time": "2019-01-03T13:15:50+00:00" 4284 | }, 4285 | { 4286 | "name": "squizlabs/php_codesniffer", 4287 | "version": "3.5.5", 4288 | "source": { 4289 | "type": "git", 4290 | "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", 4291 | "reference": "73e2e7f57d958e7228fce50dc0c61f58f017f9f6" 4292 | }, 4293 | "dist": { 4294 | "type": "zip", 4295 | "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/73e2e7f57d958e7228fce50dc0c61f58f017f9f6", 4296 | "reference": "73e2e7f57d958e7228fce50dc0c61f58f017f9f6", 4297 | "shasum": "" 4298 | }, 4299 | "require": { 4300 | "ext-simplexml": "*", 4301 | "ext-tokenizer": "*", 4302 | "ext-xmlwriter": "*", 4303 | "php": ">=5.4.0" 4304 | }, 4305 | "require-dev": { 4306 | "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0" 4307 | }, 4308 | "bin": [ 4309 | "bin/phpcs", 4310 | "bin/phpcbf" 4311 | ], 4312 | "type": "library", 4313 | "extra": { 4314 | "branch-alias": { 4315 | "dev-master": "3.x-dev" 4316 | } 4317 | }, 4318 | "notification-url": "https://packagist.org/downloads/", 4319 | "license": [ 4320 | "BSD-3-Clause" 4321 | ], 4322 | "authors": [ 4323 | { 4324 | "name": "Greg Sherwood", 4325 | "role": "lead" 4326 | } 4327 | ], 4328 | "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", 4329 | "homepage": "https://github.com/squizlabs/PHP_CodeSniffer", 4330 | "keywords": [ 4331 | "phpcs", 4332 | "standards" 4333 | ], 4334 | "time": "2020-04-17T01:09:41+00:00" 4335 | }, 4336 | { 4337 | "name": "theseer/tokenizer", 4338 | "version": "1.1.3", 4339 | "source": { 4340 | "type": "git", 4341 | "url": "https://github.com/theseer/tokenizer.git", 4342 | "reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9" 4343 | }, 4344 | "dist": { 4345 | "type": "zip", 4346 | "url": "https://api.github.com/repos/theseer/tokenizer/zipball/11336f6f84e16a720dae9d8e6ed5019efa85a0f9", 4347 | "reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9", 4348 | "shasum": "" 4349 | }, 4350 | "require": { 4351 | "ext-dom": "*", 4352 | "ext-tokenizer": "*", 4353 | "ext-xmlwriter": "*", 4354 | "php": "^7.0" 4355 | }, 4356 | "type": "library", 4357 | "autoload": { 4358 | "classmap": [ 4359 | "src/" 4360 | ] 4361 | }, 4362 | "notification-url": "https://packagist.org/downloads/", 4363 | "license": [ 4364 | "BSD-3-Clause" 4365 | ], 4366 | "authors": [ 4367 | { 4368 | "name": "Arne Blankerts", 4369 | "email": "arne@blankerts.de", 4370 | "role": "Developer" 4371 | } 4372 | ], 4373 | "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", 4374 | "time": "2019-06-13T22:48:21+00:00" 4375 | }, 4376 | { 4377 | "name": "webmozart/assert", 4378 | "version": "1.8.0", 4379 | "source": { 4380 | "type": "git", 4381 | "url": "https://github.com/webmozart/assert.git", 4382 | "reference": "ab2cb0b3b559010b75981b1bdce728da3ee90ad6" 4383 | }, 4384 | "dist": { 4385 | "type": "zip", 4386 | "url": "https://api.github.com/repos/webmozart/assert/zipball/ab2cb0b3b559010b75981b1bdce728da3ee90ad6", 4387 | "reference": "ab2cb0b3b559010b75981b1bdce728da3ee90ad6", 4388 | "shasum": "" 4389 | }, 4390 | "require": { 4391 | "php": "^5.3.3 || ^7.0", 4392 | "symfony/polyfill-ctype": "^1.8" 4393 | }, 4394 | "conflict": { 4395 | "vimeo/psalm": "<3.9.1" 4396 | }, 4397 | "require-dev": { 4398 | "phpunit/phpunit": "^4.8.36 || ^7.5.13" 4399 | }, 4400 | "type": "library", 4401 | "autoload": { 4402 | "psr-4": { 4403 | "Webmozart\\Assert\\": "src/" 4404 | } 4405 | }, 4406 | "notification-url": "https://packagist.org/downloads/", 4407 | "license": [ 4408 | "MIT" 4409 | ], 4410 | "authors": [ 4411 | { 4412 | "name": "Bernhard Schussek", 4413 | "email": "bschussek@gmail.com" 4414 | } 4415 | ], 4416 | "description": "Assertions to validate method input/output with nice error messages.", 4417 | "keywords": [ 4418 | "assert", 4419 | "check", 4420 | "validate" 4421 | ], 4422 | "time": "2020-04-18T12:12:48+00:00" 4423 | } 4424 | ], 4425 | "aliases": [], 4426 | "minimum-stability": "dev", 4427 | "stability-flags": [], 4428 | "prefer-stable": true, 4429 | "prefer-lowest": false, 4430 | "platform": { 4431 | "php": ">=7.3" 4432 | }, 4433 | "platform-dev": [] 4434 | } 4435 | --------------------------------------------------------------------------------