├── .github ├── CODEOWNERS └── workflows │ └── quality.yml ├── .editorconfig ├── composer.json ├── .phan └── config.php ├── phpcs.xml ├── LICENSE ├── src └── Phantoman.php └── composer.lock /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @grantlucas 2 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # This file is for unifying the coding style for different editors and IDEs 2 | # editorconfig.org 3 | 4 | # PHP PSR-2 Coding Standards 5 | # http://www.php-fig.org/psr/psr-2/ 6 | 7 | root = true 8 | 9 | [*] 10 | charset = utf-8 11 | end_of_line = lf 12 | insert_final_newline = true 13 | trim_trailing_whitespace = true 14 | indent_style = space 15 | indent_size = 4 16 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "site5/phantoman", 3 | "description": "The Codeception extension for automatically starting and stopping PhantomJS when running tests.", 4 | "keywords": ["codeception", "extension", "phantomjs", "headless"], 5 | "homepage": "https://github.com/grantlucas/phantoman", 6 | "license": "MIT", 7 | "authors": [ 8 | { 9 | "name": "Grant Lucas", 10 | "email": "contact@grantlucas.com" 11 | } 12 | ], 13 | "require": { 14 | "php": ">=5.4.0", 15 | "codeception/codeception": "^2.2.7" 16 | }, 17 | "autoload": { 18 | "psr-4": { 19 | "Codeception\\Extension\\": "src/" 20 | } 21 | }, 22 | "suggest": { 23 | "jakoch/phantomjs-installer": "Automatically installs PhantomJS locally to your project." 24 | }, 25 | "require-dev": { 26 | "phan/phan": "^3.2", 27 | "squizlabs/php_codesniffer": "^3.5" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /.phan/config.php: -------------------------------------------------------------------------------- 1 | 7.2, 7 | 'minimum_severity' => Issue::SEVERITY_NORMAL, 8 | 9 | "directory_list" => [ 10 | "src", 11 | "vendor", 12 | ], 13 | 14 | "exclude_analysis_directory_list" => [ 15 | 'vendor/' 16 | ], 17 | 18 | 'plugins' => [ 19 | // checks if a function, closure or method unconditionally returns. 20 | // can also be written as 'vendor/phan/phan/.phan/plugins/AlwaysReturnPlugin.php' 21 | 'AlwaysReturnPlugin', 22 | 'DollarDollarPlugin', 23 | 'DuplicateArrayKeyPlugin', 24 | 'DuplicateExpressionPlugin', 25 | 'PregRegexCheckerPlugin', 26 | 'PrintfCheckerPlugin', 27 | 'SleepCheckerPlugin', 28 | // Checks for syntactically unreachable statements in 29 | // the global scope or function bodies. 30 | 'UnreachableCodePlugin', 31 | 'UseReturnValuePlugin', 32 | 'EmptyStatementListPlugin', 33 | 'LoopVariableReusePlugin', 34 | ], 35 | ]; 36 | -------------------------------------------------------------------------------- /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 | src 33 | 34 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) [2014] [Site5] 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /.github/workflows/quality.yml: -------------------------------------------------------------------------------- 1 | name: Code Quality Checks 2 | 3 | on: 4 | push: 5 | branches: [ master ] 6 | pull_request: 7 | branches: [ master ] 8 | 9 | jobs: 10 | code_quality: 11 | 12 | runs-on: ubuntu-latest 13 | 14 | steps: 15 | - uses: actions/checkout@v2 16 | 17 | - name: Setup PHP for Phan execution 18 | uses: shivammathur/setup-php@v2 19 | with: 20 | php-version: '7.3' 21 | tools: phan 22 | 23 | - name: Validate composer.json and composer.lock 24 | run: composer validate 25 | 26 | - name: Cache Composer packages 27 | id: composer-cache 28 | uses: actions/cache@v2 29 | with: 30 | path: vendor 31 | key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }} 32 | restore-keys: | 33 | ${{ runner.os }}-php- 34 | 35 | - name: Install dependencies 36 | if: steps.composer-cache.outputs.cache-hit != 'true' 37 | run: composer install --prefer-dist --no-progress --no-suggest 38 | 39 | - name: Run Static Analysis 40 | run: ./vendor/bin/phan --no-progress-bar 41 | 42 | - name: Run Code Style Checkes 43 | run: ./vendor/bin/phpcs 44 | -------------------------------------------------------------------------------- /src/Phantoman.php: -------------------------------------------------------------------------------- 1 | 'suiteInit', 31 | ]; 32 | 33 | /** 34 | * A resource representing the PhantomJS process. 35 | * 36 | * @var resource 37 | */ 38 | private $resource; 39 | 40 | /** 41 | * File pointers that correspond to PHP's end of any pipes that are created. 42 | * 43 | * @var array 44 | */ 45 | private $pipes; 46 | 47 | /** 48 | * Phantoman constructor. 49 | * 50 | * @param array $config 51 | * Current extension configuration. 52 | * @param array $options 53 | * Passed running options. 54 | * 55 | * @throws \Codeception\Exception\ExtensionException 56 | */ 57 | public function __construct(array $config, array $options) 58 | { 59 | // Codeception has an option called silent, which suppresses the console 60 | // output. Unfortunately there is no builtin way to activate this mode for 61 | // a single extension. This is why the option will passed from the 62 | // extension configuration ($config) to the global configuration ($options); 63 | // Note: This must be done before calling the parent constructor. 64 | if (isset($config['silent']) && $config['silent']) { 65 | $options['silent'] = true; 66 | } 67 | parent::__construct($config, $options); 68 | 69 | // Set default path for PhantomJS to "vendor/bin/phantomjs" for if it was 70 | // installed via composer. 71 | if (!isset($this->config['path'])) { 72 | $this->config['path'] = 'vendor/bin/phantomjs'; 73 | } 74 | 75 | // Add .exe extension if running on the windows. 76 | if ($this->isWindows() && file_exists(realpath($this->config['path'] . '.exe'))) { 77 | $this->config['path'] .= '.exe'; 78 | } 79 | 80 | if (!file_exists(realpath($this->config['path']))) { 81 | throw new ExtensionException($this, "PhantomJS executable not found: {$this->config['path']}"); 82 | } 83 | 84 | // Set default WebDriver port. 85 | if (!isset($this->config['port'])) { 86 | $this->config['port'] = 4444; 87 | } 88 | 89 | // Set default debug mode. 90 | if (!isset($this->config['debug'])) { 91 | $this->config['debug'] = false; 92 | } 93 | } 94 | 95 | /** 96 | * Stop the server when we get destroyed. 97 | */ 98 | public function __destruct() 99 | { 100 | $this->stopServer(); 101 | } 102 | 103 | /** 104 | * Start PhantomJS server. 105 | * 106 | * @throws \Codeception\Exception\ExtensionException 107 | */ 108 | private function startServer() 109 | { 110 | if ($this->resource !== null) { 111 | return; 112 | } 113 | 114 | $this->writeln(PHP_EOL); 115 | $this->writeln('Starting PhantomJS Server.'); 116 | 117 | $command = $this->getCommand(); 118 | 119 | if ($this->config['debug']) { 120 | $this->writeln(PHP_EOL); 121 | 122 | // Output the generated command. 123 | $this->writeln('Generated PhantomJS Command:'); 124 | $this->writeln($command); 125 | $this->writeln(PHP_EOL); 126 | } 127 | 128 | $descriptorSpec = [ 129 | ['pipe', 'r'], 130 | ['file', $this->getLogDir() . 'phantomjs.output.txt', 'w'], 131 | ['file', $this->getLogDir() . 'phantomjs.errors.txt', 'a'], 132 | ]; 133 | 134 | $this->resource = proc_open($command, $descriptorSpec, $this->pipes, null, null, ['bypass_shell' => true]); 135 | 136 | if (!is_resource($this->resource) || !proc_get_status($this->resource)['running']) { 137 | proc_close($this->resource); 138 | throw new ExtensionException($this, 'Failed to start PhantomJS server.'); 139 | } 140 | 141 | // Wait till the server is reachable before continuing. 142 | $max_checks = 10; 143 | $checks = 0; 144 | 145 | $this->write('Waiting for the PhantomJS server to be reachable.'); 146 | while (true) { 147 | if ($checks >= $max_checks) { 148 | throw new ExtensionException($this, 'PhantomJS server never became reachable.'); 149 | } 150 | 151 | $fp = @fsockopen('127.0.0.1', $this->config['port'], $errCode, $errStr, 10); 152 | if ($fp) { 153 | $this->writeln(''); 154 | $this->writeln('PhantomJS server now accessible.'); 155 | fclose($fp); 156 | break; 157 | } 158 | 159 | $this->write('.'); 160 | $checks++; 161 | 162 | // Wait before checking again. 163 | sleep(1); 164 | } 165 | 166 | // Clear progress line writing. 167 | $this->writeln(''); 168 | } 169 | 170 | /** 171 | * Stop PhantomJS server. 172 | */ 173 | private function stopServer() 174 | { 175 | if ($this->resource !== null) { 176 | $this->write('Stopping PhantomJS Server.'); 177 | 178 | // Wait till the server has been stopped. 179 | $max_checks = 10; 180 | for ($i = 0; $i < $max_checks; $i++) { 181 | // If we're on the last loop, and it's still not shut down, just 182 | // unset resource to allow the tests to finish. 183 | if ($i === $max_checks - 1 && proc_get_status($this->resource)['running'] === true) { 184 | $this->writeln(''); 185 | $this->writeln('Unable to properly shutdown PhantomJS server.'); 186 | unset($this->resource); 187 | break; 188 | } 189 | 190 | // Check if the process has stopped yet. 191 | if (proc_get_status($this->resource)['running'] === false) { 192 | $this->writeln(''); 193 | $this->writeln('PhantomJS server stopped.'); 194 | unset($this->resource); 195 | break; 196 | } 197 | 198 | foreach ($this->pipes as $pipe) { 199 | if (is_resource($pipe)) { 200 | fclose($pipe); 201 | } 202 | } 203 | 204 | // Terminate the process. 205 | // Note: Use of SIGINT adds dependency on PCTNL extension so we 206 | // use the integer value instead. 207 | proc_terminate($this->resource, 2); 208 | 209 | $this->write('.'); 210 | 211 | // Wait before checking again. 212 | sleep(1); 213 | } 214 | } 215 | } 216 | 217 | /** 218 | * Build the parameters for our command. 219 | * 220 | * @return string 221 | * All parameters separated by spaces. 222 | */ 223 | private function getCommandParameters() 224 | { 225 | // Map our config options to PhantomJS options. 226 | $mapping = [ 227 | 'port' => '--webdriver', 228 | 'proxy' => '--proxy', 229 | 'proxyType' => '--proxy-type', 230 | 'proxyAuth' => '--proxy-auth', 231 | 'webSecurity' => '--web-security', 232 | 'ignoreSslErrors' => '--ignore-ssl-errors', 233 | 'sslProtocol' => '--ssl-protocol', 234 | 'sslCertificatesPath' => '--ssl-certificates-path', 235 | 'remoteDebuggerPort' => '--remote-debugger-port', 236 | 'remoteDebuggerAutorun' => '--remote-debugger-autorun', 237 | 'cookiesFile' => '--cookies-file', 238 | 'diskCache' => '--disk-cache', 239 | 'maxDiskCacheSize' => '--max-disk-cache-size', 240 | 'loadImages' => '--load-images', 241 | 'localStoragePath' => '--local-storage-path', 242 | 'localStorageQuota' => '--local-storage-quota', 243 | 'localToRemoteUrlAccess' => '--local-to-remote-url-access', 244 | 'outputEncoding' => '--output-encoding', 245 | 'scriptEncoding' => '--script-encoding', 246 | 'webdriverLoglevel' => '--webdriver-loglevel', 247 | 'webdriverLogfile' => '--webdriver-logfile', 248 | ]; 249 | 250 | $params = []; 251 | foreach ($this->config as $configKey => $configValue) { 252 | if (!empty($mapping[$configKey])) { 253 | if (is_bool($configValue)) { 254 | // Make sure the value is true/false and not 1/0. 255 | $configValue = $configValue ? 'true' : 'false'; 256 | } 257 | $params[] = $mapping[$configKey] . '=' . $configValue; 258 | } 259 | } 260 | 261 | return implode(' ', $params); 262 | } 263 | 264 | /** 265 | * Get PhantomJS command. 266 | * 267 | * @return string 268 | * Command to execute. 269 | */ 270 | private function getCommand() 271 | { 272 | // Prefix command with exec on non Windows systems to ensure that we 273 | // receive the correct pid. 274 | // See http://php.net/manual/en/function.proc-get-status.php#93382 275 | $commandPrefix = $this->isWindows() ? '' : 'exec '; 276 | return $commandPrefix . escapeshellarg(realpath($this->config['path'])) . ' ' . $this->getCommandParameters(); 277 | } 278 | 279 | /** 280 | * Checks if the current machine is Windows. 281 | * 282 | * @return bool 283 | * True if the machine is windows. 284 | */ 285 | private function isWindows() 286 | { 287 | return stripos(PHP_OS, 'WIN') === 0; 288 | } 289 | 290 | /** 291 | * Suite Init. 292 | * 293 | * @param \Codeception\Event\SuiteEvent $e 294 | * The event with suite, result and settings. 295 | * 296 | * @throws \Codeception\Exception\ExtensionException 297 | */ 298 | public function suiteInit(SuiteEvent $e) 299 | { 300 | // Check if PhantomJS should only be started for specific suites. 301 | if (isset($this->config['suites'])) { 302 | if (is_string($this->config['suites'])) { 303 | $suites = [$this->config['suites']]; 304 | } else { 305 | $suites = $this->config['suites']; 306 | } 307 | 308 | // If the current suites aren't in the desired array, return without 309 | // starting PhantomJS. 310 | if ( 311 | !in_array($e->getSuite()->getBaseName(), $suites, true) 312 | && !in_array($e->getSuite()->getName(), $suites, true) 313 | ) { 314 | return; 315 | } 316 | } 317 | 318 | // Start the PhantomJS server. 319 | $this->startServer(); 320 | } 321 | } 322 | -------------------------------------------------------------------------------- /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": "1f305985d4e27d906c709ff7566905fa", 8 | "packages": [ 9 | { 10 | "name": "behat/gherkin", 11 | "version": "v4.6.2", 12 | "source": { 13 | "type": "git", 14 | "url": "https://github.com/Behat/Gherkin.git", 15 | "reference": "51ac4500c4dc30cbaaabcd2f25694299df666a31" 16 | }, 17 | "dist": { 18 | "type": "zip", 19 | "url": "https://api.github.com/repos/Behat/Gherkin/zipball/51ac4500c4dc30cbaaabcd2f25694299df666a31", 20 | "reference": "51ac4500c4dc30cbaaabcd2f25694299df666a31", 21 | "shasum": "" 22 | }, 23 | "require": { 24 | "php": ">=5.3.1" 25 | }, 26 | "require-dev": { 27 | "phpunit/phpunit": "~4.5|~5", 28 | "symfony/phpunit-bridge": "~2.7|~3|~4", 29 | "symfony/yaml": "~2.3|~3|~4" 30 | }, 31 | "suggest": { 32 | "symfony/yaml": "If you want to parse features, represented in YAML files" 33 | }, 34 | "type": "library", 35 | "extra": { 36 | "branch-alias": { 37 | "dev-master": "4.4-dev" 38 | } 39 | }, 40 | "autoload": { 41 | "psr-0": { 42 | "Behat\\Gherkin": "src/" 43 | } 44 | }, 45 | "notification-url": "https://packagist.org/downloads/", 46 | "license": [ 47 | "MIT" 48 | ], 49 | "authors": [ 50 | { 51 | "name": "Konstantin Kudryashov", 52 | "email": "ever.zet@gmail.com", 53 | "homepage": "http://everzet.com" 54 | } 55 | ], 56 | "description": "Gherkin DSL parser for PHP 5.3", 57 | "homepage": "http://behat.org/", 58 | "keywords": [ 59 | "BDD", 60 | "Behat", 61 | "Cucumber", 62 | "DSL", 63 | "gherkin", 64 | "parser" 65 | ], 66 | "time": "2020-03-17T14:03:26+00:00" 67 | }, 68 | { 69 | "name": "codeception/codeception", 70 | "version": "2.5.6", 71 | "source": { 72 | "type": "git", 73 | "url": "https://github.com/Codeception/Codeception.git", 74 | "reference": "b83a9338296e706fab2ceb49de8a352fbca3dc98" 75 | }, 76 | "dist": { 77 | "type": "zip", 78 | "url": "https://api.github.com/repos/Codeception/Codeception/zipball/b83a9338296e706fab2ceb49de8a352fbca3dc98", 79 | "reference": "b83a9338296e706fab2ceb49de8a352fbca3dc98", 80 | "shasum": "" 81 | }, 82 | "require": { 83 | "behat/gherkin": "^4.4.0", 84 | "codeception/phpunit-wrapper": "^6.0.9|^7.0.6", 85 | "codeception/stub": "^2.0", 86 | "ext-curl": "*", 87 | "ext-json": "*", 88 | "ext-mbstring": "*", 89 | "facebook/webdriver": ">=1.1.3 <2.0", 90 | "guzzlehttp/guzzle": ">=4.1.4 <7.0", 91 | "guzzlehttp/psr7": "~1.0", 92 | "php": ">=5.6.0 <8.0", 93 | "symfony/browser-kit": ">=2.7 <5.0", 94 | "symfony/console": ">=2.7 <5.0", 95 | "symfony/css-selector": ">=2.7 <5.0", 96 | "symfony/dom-crawler": ">=2.7 <5.0", 97 | "symfony/event-dispatcher": ">=2.7 <5.0", 98 | "symfony/finder": ">=2.7 <5.0", 99 | "symfony/yaml": ">=2.7 <5.0" 100 | }, 101 | "require-dev": { 102 | "codeception/specify": "~0.3", 103 | "facebook/graph-sdk": "~5.3", 104 | "flow/jsonpath": "~0.2", 105 | "monolog/monolog": "~1.8", 106 | "pda/pheanstalk": "~3.0", 107 | "php-amqplib/php-amqplib": "~2.4", 108 | "predis/predis": "^1.0", 109 | "squizlabs/php_codesniffer": "~2.0", 110 | "symfony/process": ">=2.7 <5.0", 111 | "vlucas/phpdotenv": "^3.0" 112 | }, 113 | "suggest": { 114 | "aws/aws-sdk-php": "For using AWS Auth in REST module and Queue module", 115 | "codeception/phpbuiltinserver": "Start and stop PHP built-in web server for your tests", 116 | "codeception/specify": "BDD-style code blocks", 117 | "codeception/verify": "BDD-style assertions", 118 | "flow/jsonpath": "For using JSONPath in REST module", 119 | "league/factory-muffin": "For DataFactory module", 120 | "league/factory-muffin-faker": "For Faker support in DataFactory module", 121 | "phpseclib/phpseclib": "for SFTP option in FTP Module", 122 | "stecman/symfony-console-completion": "For BASH autocompletion", 123 | "symfony/phpunit-bridge": "For phpunit-bridge support" 124 | }, 125 | "bin": [ 126 | "codecept" 127 | ], 128 | "type": "library", 129 | "extra": { 130 | "branch-alias": [] 131 | }, 132 | "autoload": { 133 | "psr-4": { 134 | "Codeception\\": "src/Codeception", 135 | "Codeception\\Extension\\": "ext" 136 | } 137 | }, 138 | "notification-url": "https://packagist.org/downloads/", 139 | "license": [ 140 | "MIT" 141 | ], 142 | "authors": [ 143 | { 144 | "name": "Michael Bodnarchuk", 145 | "email": "davert@mail.ua", 146 | "homepage": "http://codegyre.com" 147 | } 148 | ], 149 | "description": "BDD-style testing framework", 150 | "homepage": "http://codeception.com/", 151 | "keywords": [ 152 | "BDD", 153 | "TDD", 154 | "acceptance testing", 155 | "functional testing", 156 | "unit testing" 157 | ], 158 | "time": "2019-04-24T11:28:19+00:00" 159 | }, 160 | { 161 | "name": "codeception/phpunit-wrapper", 162 | "version": "7.8.1", 163 | "source": { 164 | "type": "git", 165 | "url": "https://github.com/Codeception/phpunit-wrapper.git", 166 | "reference": "bc6f37d770ec00c4c7c78a1cac2b8ac0f9c9eec5" 167 | }, 168 | "dist": { 169 | "type": "zip", 170 | "url": "https://api.github.com/repos/Codeception/phpunit-wrapper/zipball/bc6f37d770ec00c4c7c78a1cac2b8ac0f9c9eec5", 171 | "reference": "bc6f37d770ec00c4c7c78a1cac2b8ac0f9c9eec5", 172 | "shasum": "" 173 | }, 174 | "require": { 175 | "phpunit/php-code-coverage": "^6.0", 176 | "phpunit/phpunit": "7.5.*", 177 | "sebastian/comparator": "^3.0", 178 | "sebastian/diff": "^3.0" 179 | }, 180 | "require-dev": { 181 | "codeception/specify": "*", 182 | "vlucas/phpdotenv": "^3.0" 183 | }, 184 | "type": "library", 185 | "autoload": { 186 | "psr-4": { 187 | "Codeception\\PHPUnit\\": "src/" 188 | } 189 | }, 190 | "notification-url": "https://packagist.org/downloads/", 191 | "license": [ 192 | "MIT" 193 | ], 194 | "authors": [ 195 | { 196 | "name": "Davert", 197 | "email": "davert.php@resend.cc" 198 | } 199 | ], 200 | "description": "PHPUnit classes used by Codeception", 201 | "time": "2020-10-11T18:23:48+00:00" 202 | }, 203 | { 204 | "name": "codeception/stub", 205 | "version": "2.1.0", 206 | "source": { 207 | "type": "git", 208 | "url": "https://github.com/Codeception/Stub.git", 209 | "reference": "853657f988942f7afb69becf3fd0059f192c705a" 210 | }, 211 | "dist": { 212 | "type": "zip", 213 | "url": "https://api.github.com/repos/Codeception/Stub/zipball/853657f988942f7afb69becf3fd0059f192c705a", 214 | "reference": "853657f988942f7afb69becf3fd0059f192c705a", 215 | "shasum": "" 216 | }, 217 | "require": { 218 | "codeception/phpunit-wrapper": ">6.0.15 <6.1.0 | ^6.6.1 | ^7.7.1 | ^8.0.3" 219 | }, 220 | "type": "library", 221 | "autoload": { 222 | "psr-4": { 223 | "Codeception\\": "src/" 224 | } 225 | }, 226 | "notification-url": "https://packagist.org/downloads/", 227 | "license": [ 228 | "MIT" 229 | ], 230 | "description": "Flexible Stub wrapper for PHPUnit's Mock Builder", 231 | "time": "2019-03-02T15:35:10+00:00" 232 | }, 233 | { 234 | "name": "doctrine/instantiator", 235 | "version": "1.3.1", 236 | "source": { 237 | "type": "git", 238 | "url": "https://github.com/doctrine/instantiator.git", 239 | "reference": "f350df0268e904597e3bd9c4685c53e0e333feea" 240 | }, 241 | "dist": { 242 | "type": "zip", 243 | "url": "https://api.github.com/repos/doctrine/instantiator/zipball/f350df0268e904597e3bd9c4685c53e0e333feea", 244 | "reference": "f350df0268e904597e3bd9c4685c53e0e333feea", 245 | "shasum": "" 246 | }, 247 | "require": { 248 | "php": "^7.1 || ^8.0" 249 | }, 250 | "require-dev": { 251 | "doctrine/coding-standard": "^6.0", 252 | "ext-pdo": "*", 253 | "ext-phar": "*", 254 | "phpbench/phpbench": "^0.13", 255 | "phpstan/phpstan-phpunit": "^0.11", 256 | "phpstan/phpstan-shim": "^0.11", 257 | "phpunit/phpunit": "^7.0" 258 | }, 259 | "type": "library", 260 | "extra": { 261 | "branch-alias": { 262 | "dev-master": "1.2.x-dev" 263 | } 264 | }, 265 | "autoload": { 266 | "psr-4": { 267 | "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" 268 | } 269 | }, 270 | "notification-url": "https://packagist.org/downloads/", 271 | "license": [ 272 | "MIT" 273 | ], 274 | "authors": [ 275 | { 276 | "name": "Marco Pivetta", 277 | "email": "ocramius@gmail.com", 278 | "homepage": "http://ocramius.github.com/" 279 | } 280 | ], 281 | "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", 282 | "homepage": "https://www.doctrine-project.org/projects/instantiator.html", 283 | "keywords": [ 284 | "constructor", 285 | "instantiate" 286 | ], 287 | "funding": [ 288 | { 289 | "url": "https://www.doctrine-project.org/sponsorship.html", 290 | "type": "custom" 291 | }, 292 | { 293 | "url": "https://www.patreon.com/phpdoctrine", 294 | "type": "patreon" 295 | }, 296 | { 297 | "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", 298 | "type": "tidelift" 299 | } 300 | ], 301 | "time": "2020-05-29T17:27:14+00:00" 302 | }, 303 | { 304 | "name": "facebook/webdriver", 305 | "version": "1.7.1", 306 | "source": { 307 | "type": "git", 308 | "url": "https://github.com/php-webdriver/php-webdriver-archive.git", 309 | "reference": "e43de70f3c7166169d0f14a374505392734160e5" 310 | }, 311 | "dist": { 312 | "type": "zip", 313 | "url": "https://api.github.com/repos/php-webdriver/php-webdriver-archive/zipball/e43de70f3c7166169d0f14a374505392734160e5", 314 | "reference": "e43de70f3c7166169d0f14a374505392734160e5", 315 | "shasum": "" 316 | }, 317 | "require": { 318 | "ext-curl": "*", 319 | "ext-json": "*", 320 | "ext-mbstring": "*", 321 | "ext-zip": "*", 322 | "php": "^5.6 || ~7.0", 323 | "symfony/process": "^2.8 || ^3.1 || ^4.0" 324 | }, 325 | "require-dev": { 326 | "friendsofphp/php-cs-fixer": "^2.0", 327 | "jakub-onderka/php-parallel-lint": "^0.9.2", 328 | "php-coveralls/php-coveralls": "^2.0", 329 | "php-mock/php-mock-phpunit": "^1.1", 330 | "phpunit/phpunit": "^5.7", 331 | "sebastian/environment": "^1.3.4 || ^2.0 || ^3.0", 332 | "squizlabs/php_codesniffer": "^2.6", 333 | "symfony/var-dumper": "^3.3 || ^4.0" 334 | }, 335 | "suggest": { 336 | "ext-SimpleXML": "For Firefox profile creation" 337 | }, 338 | "type": "library", 339 | "extra": { 340 | "branch-alias": { 341 | "dev-community": "1.5-dev" 342 | } 343 | }, 344 | "autoload": { 345 | "psr-4": { 346 | "Facebook\\WebDriver\\": "lib/" 347 | } 348 | }, 349 | "notification-url": "https://packagist.org/downloads/", 350 | "license": [ 351 | "Apache-2.0" 352 | ], 353 | "description": "A PHP client for Selenium WebDriver", 354 | "homepage": "https://github.com/facebook/php-webdriver", 355 | "keywords": [ 356 | "facebook", 357 | "php", 358 | "selenium", 359 | "webdriver" 360 | ], 361 | "abandoned": "php-webdriver/webdriver", 362 | "time": "2019-06-13T08:02:18+00:00" 363 | }, 364 | { 365 | "name": "guzzlehttp/guzzle", 366 | "version": "6.5.5", 367 | "source": { 368 | "type": "git", 369 | "url": "https://github.com/guzzle/guzzle.git", 370 | "reference": "9d4290de1cfd701f38099ef7e183b64b4b7b0c5e" 371 | }, 372 | "dist": { 373 | "type": "zip", 374 | "url": "https://api.github.com/repos/guzzle/guzzle/zipball/9d4290de1cfd701f38099ef7e183b64b4b7b0c5e", 375 | "reference": "9d4290de1cfd701f38099ef7e183b64b4b7b0c5e", 376 | "shasum": "" 377 | }, 378 | "require": { 379 | "ext-json": "*", 380 | "guzzlehttp/promises": "^1.0", 381 | "guzzlehttp/psr7": "^1.6.1", 382 | "php": ">=5.5", 383 | "symfony/polyfill-intl-idn": "^1.17.0" 384 | }, 385 | "require-dev": { 386 | "ext-curl": "*", 387 | "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0", 388 | "psr/log": "^1.1" 389 | }, 390 | "suggest": { 391 | "psr/log": "Required for using the Log middleware" 392 | }, 393 | "type": "library", 394 | "extra": { 395 | "branch-alias": { 396 | "dev-master": "6.5-dev" 397 | } 398 | }, 399 | "autoload": { 400 | "psr-4": { 401 | "GuzzleHttp\\": "src/" 402 | }, 403 | "files": [ 404 | "src/functions_include.php" 405 | ] 406 | }, 407 | "notification-url": "https://packagist.org/downloads/", 408 | "license": [ 409 | "MIT" 410 | ], 411 | "authors": [ 412 | { 413 | "name": "Michael Dowling", 414 | "email": "mtdowling@gmail.com", 415 | "homepage": "https://github.com/mtdowling" 416 | } 417 | ], 418 | "description": "Guzzle is a PHP HTTP client library", 419 | "homepage": "http://guzzlephp.org/", 420 | "keywords": [ 421 | "client", 422 | "curl", 423 | "framework", 424 | "http", 425 | "http client", 426 | "rest", 427 | "web service" 428 | ], 429 | "time": "2020-06-16T21:01:06+00:00" 430 | }, 431 | { 432 | "name": "guzzlehttp/promises", 433 | "version": "1.4.0", 434 | "source": { 435 | "type": "git", 436 | "url": "https://github.com/guzzle/promises.git", 437 | "reference": "60d379c243457e073cff02bc323a2a86cb355631" 438 | }, 439 | "dist": { 440 | "type": "zip", 441 | "url": "https://api.github.com/repos/guzzle/promises/zipball/60d379c243457e073cff02bc323a2a86cb355631", 442 | "reference": "60d379c243457e073cff02bc323a2a86cb355631", 443 | "shasum": "" 444 | }, 445 | "require": { 446 | "php": ">=5.5" 447 | }, 448 | "require-dev": { 449 | "symfony/phpunit-bridge": "^4.4 || ^5.1" 450 | }, 451 | "type": "library", 452 | "extra": { 453 | "branch-alias": { 454 | "dev-master": "1.4-dev" 455 | } 456 | }, 457 | "autoload": { 458 | "psr-4": { 459 | "GuzzleHttp\\Promise\\": "src/" 460 | }, 461 | "files": [ 462 | "src/functions_include.php" 463 | ] 464 | }, 465 | "notification-url": "https://packagist.org/downloads/", 466 | "license": [ 467 | "MIT" 468 | ], 469 | "authors": [ 470 | { 471 | "name": "Michael Dowling", 472 | "email": "mtdowling@gmail.com", 473 | "homepage": "https://github.com/mtdowling" 474 | } 475 | ], 476 | "description": "Guzzle promises library", 477 | "keywords": [ 478 | "promise" 479 | ], 480 | "time": "2020-09-30T07:37:28+00:00" 481 | }, 482 | { 483 | "name": "guzzlehttp/psr7", 484 | "version": "1.7.0", 485 | "source": { 486 | "type": "git", 487 | "url": "https://github.com/guzzle/psr7.git", 488 | "reference": "53330f47520498c0ae1f61f7e2c90f55690c06a3" 489 | }, 490 | "dist": { 491 | "type": "zip", 492 | "url": "https://api.github.com/repos/guzzle/psr7/zipball/53330f47520498c0ae1f61f7e2c90f55690c06a3", 493 | "reference": "53330f47520498c0ae1f61f7e2c90f55690c06a3", 494 | "shasum": "" 495 | }, 496 | "require": { 497 | "php": ">=5.4.0", 498 | "psr/http-message": "~1.0", 499 | "ralouphie/getallheaders": "^2.0.5 || ^3.0.0" 500 | }, 501 | "provide": { 502 | "psr/http-message-implementation": "1.0" 503 | }, 504 | "require-dev": { 505 | "ext-zlib": "*", 506 | "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.10" 507 | }, 508 | "suggest": { 509 | "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" 510 | }, 511 | "type": "library", 512 | "extra": { 513 | "branch-alias": { 514 | "dev-master": "1.7-dev" 515 | } 516 | }, 517 | "autoload": { 518 | "psr-4": { 519 | "GuzzleHttp\\Psr7\\": "src/" 520 | }, 521 | "files": [ 522 | "src/functions_include.php" 523 | ] 524 | }, 525 | "notification-url": "https://packagist.org/downloads/", 526 | "license": [ 527 | "MIT" 528 | ], 529 | "authors": [ 530 | { 531 | "name": "Michael Dowling", 532 | "email": "mtdowling@gmail.com", 533 | "homepage": "https://github.com/mtdowling" 534 | }, 535 | { 536 | "name": "Tobias Schultze", 537 | "homepage": "https://github.com/Tobion" 538 | } 539 | ], 540 | "description": "PSR-7 message implementation that also provides common utility methods", 541 | "keywords": [ 542 | "http", 543 | "message", 544 | "psr-7", 545 | "request", 546 | "response", 547 | "stream", 548 | "uri", 549 | "url" 550 | ], 551 | "time": "2020-09-30T07:37:11+00:00" 552 | }, 553 | { 554 | "name": "myclabs/deep-copy", 555 | "version": "1.10.1", 556 | "source": { 557 | "type": "git", 558 | "url": "https://github.com/myclabs/DeepCopy.git", 559 | "reference": "969b211f9a51aa1f6c01d1d2aef56d3bd91598e5" 560 | }, 561 | "dist": { 562 | "type": "zip", 563 | "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/969b211f9a51aa1f6c01d1d2aef56d3bd91598e5", 564 | "reference": "969b211f9a51aa1f6c01d1d2aef56d3bd91598e5", 565 | "shasum": "" 566 | }, 567 | "require": { 568 | "php": "^7.1 || ^8.0" 569 | }, 570 | "replace": { 571 | "myclabs/deep-copy": "self.version" 572 | }, 573 | "require-dev": { 574 | "doctrine/collections": "^1.0", 575 | "doctrine/common": "^2.6", 576 | "phpunit/phpunit": "^7.1" 577 | }, 578 | "type": "library", 579 | "autoload": { 580 | "psr-4": { 581 | "DeepCopy\\": "src/DeepCopy/" 582 | }, 583 | "files": [ 584 | "src/DeepCopy/deep_copy.php" 585 | ] 586 | }, 587 | "notification-url": "https://packagist.org/downloads/", 588 | "license": [ 589 | "MIT" 590 | ], 591 | "description": "Create deep copies (clones) of your objects", 592 | "keywords": [ 593 | "clone", 594 | "copy", 595 | "duplicate", 596 | "object", 597 | "object graph" 598 | ], 599 | "funding": [ 600 | { 601 | "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", 602 | "type": "tidelift" 603 | } 604 | ], 605 | "time": "2020-06-29T13:22:24+00:00" 606 | }, 607 | { 608 | "name": "phar-io/manifest", 609 | "version": "1.0.3", 610 | "source": { 611 | "type": "git", 612 | "url": "https://github.com/phar-io/manifest.git", 613 | "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4" 614 | }, 615 | "dist": { 616 | "type": "zip", 617 | "url": "https://api.github.com/repos/phar-io/manifest/zipball/7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", 618 | "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", 619 | "shasum": "" 620 | }, 621 | "require": { 622 | "ext-dom": "*", 623 | "ext-phar": "*", 624 | "phar-io/version": "^2.0", 625 | "php": "^5.6 || ^7.0" 626 | }, 627 | "type": "library", 628 | "extra": { 629 | "branch-alias": { 630 | "dev-master": "1.0.x-dev" 631 | } 632 | }, 633 | "autoload": { 634 | "classmap": [ 635 | "src/" 636 | ] 637 | }, 638 | "notification-url": "https://packagist.org/downloads/", 639 | "license": [ 640 | "BSD-3-Clause" 641 | ], 642 | "authors": [ 643 | { 644 | "name": "Arne Blankerts", 645 | "email": "arne@blankerts.de", 646 | "role": "Developer" 647 | }, 648 | { 649 | "name": "Sebastian Heuer", 650 | "email": "sebastian@phpeople.de", 651 | "role": "Developer" 652 | }, 653 | { 654 | "name": "Sebastian Bergmann", 655 | "email": "sebastian@phpunit.de", 656 | "role": "Developer" 657 | } 658 | ], 659 | "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", 660 | "time": "2018-07-08T19:23:20+00:00" 661 | }, 662 | { 663 | "name": "phar-io/version", 664 | "version": "2.0.1", 665 | "source": { 666 | "type": "git", 667 | "url": "https://github.com/phar-io/version.git", 668 | "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6" 669 | }, 670 | "dist": { 671 | "type": "zip", 672 | "url": "https://api.github.com/repos/phar-io/version/zipball/45a2ec53a73c70ce41d55cedef9063630abaf1b6", 673 | "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6", 674 | "shasum": "" 675 | }, 676 | "require": { 677 | "php": "^5.6 || ^7.0" 678 | }, 679 | "type": "library", 680 | "autoload": { 681 | "classmap": [ 682 | "src/" 683 | ] 684 | }, 685 | "notification-url": "https://packagist.org/downloads/", 686 | "license": [ 687 | "BSD-3-Clause" 688 | ], 689 | "authors": [ 690 | { 691 | "name": "Arne Blankerts", 692 | "email": "arne@blankerts.de", 693 | "role": "Developer" 694 | }, 695 | { 696 | "name": "Sebastian Heuer", 697 | "email": "sebastian@phpeople.de", 698 | "role": "Developer" 699 | }, 700 | { 701 | "name": "Sebastian Bergmann", 702 | "email": "sebastian@phpunit.de", 703 | "role": "Developer" 704 | } 705 | ], 706 | "description": "Library for handling version information and constraints", 707 | "time": "2018-07-08T19:19:57+00:00" 708 | }, 709 | { 710 | "name": "phpdocumentor/reflection-common", 711 | "version": "2.2.0", 712 | "source": { 713 | "type": "git", 714 | "url": "https://github.com/phpDocumentor/ReflectionCommon.git", 715 | "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b" 716 | }, 717 | "dist": { 718 | "type": "zip", 719 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b", 720 | "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b", 721 | "shasum": "" 722 | }, 723 | "require": { 724 | "php": "^7.2 || ^8.0" 725 | }, 726 | "type": "library", 727 | "extra": { 728 | "branch-alias": { 729 | "dev-2.x": "2.x-dev" 730 | } 731 | }, 732 | "autoload": { 733 | "psr-4": { 734 | "phpDocumentor\\Reflection\\": "src/" 735 | } 736 | }, 737 | "notification-url": "https://packagist.org/downloads/", 738 | "license": [ 739 | "MIT" 740 | ], 741 | "authors": [ 742 | { 743 | "name": "Jaap van Otterdijk", 744 | "email": "opensource@ijaap.nl" 745 | } 746 | ], 747 | "description": "Common reflection classes used by phpdocumentor to reflect the code structure", 748 | "homepage": "http://www.phpdoc.org", 749 | "keywords": [ 750 | "FQSEN", 751 | "phpDocumentor", 752 | "phpdoc", 753 | "reflection", 754 | "static analysis" 755 | ], 756 | "time": "2020-06-27T09:03:43+00:00" 757 | }, 758 | { 759 | "name": "phpdocumentor/reflection-docblock", 760 | "version": "5.2.2", 761 | "source": { 762 | "type": "git", 763 | "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", 764 | "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556" 765 | }, 766 | "dist": { 767 | "type": "zip", 768 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556", 769 | "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556", 770 | "shasum": "" 771 | }, 772 | "require": { 773 | "ext-filter": "*", 774 | "php": "^7.2 || ^8.0", 775 | "phpdocumentor/reflection-common": "^2.2", 776 | "phpdocumentor/type-resolver": "^1.3", 777 | "webmozart/assert": "^1.9.1" 778 | }, 779 | "require-dev": { 780 | "mockery/mockery": "~1.3.2" 781 | }, 782 | "type": "library", 783 | "extra": { 784 | "branch-alias": { 785 | "dev-master": "5.x-dev" 786 | } 787 | }, 788 | "autoload": { 789 | "psr-4": { 790 | "phpDocumentor\\Reflection\\": "src" 791 | } 792 | }, 793 | "notification-url": "https://packagist.org/downloads/", 794 | "license": [ 795 | "MIT" 796 | ], 797 | "authors": [ 798 | { 799 | "name": "Mike van Riel", 800 | "email": "me@mikevanriel.com" 801 | }, 802 | { 803 | "name": "Jaap van Otterdijk", 804 | "email": "account@ijaap.nl" 805 | } 806 | ], 807 | "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", 808 | "time": "2020-09-03T19:13:55+00:00" 809 | }, 810 | { 811 | "name": "phpdocumentor/type-resolver", 812 | "version": "1.4.0", 813 | "source": { 814 | "type": "git", 815 | "url": "https://github.com/phpDocumentor/TypeResolver.git", 816 | "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0" 817 | }, 818 | "dist": { 819 | "type": "zip", 820 | "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", 821 | "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", 822 | "shasum": "" 823 | }, 824 | "require": { 825 | "php": "^7.2 || ^8.0", 826 | "phpdocumentor/reflection-common": "^2.0" 827 | }, 828 | "require-dev": { 829 | "ext-tokenizer": "*" 830 | }, 831 | "type": "library", 832 | "extra": { 833 | "branch-alias": { 834 | "dev-1.x": "1.x-dev" 835 | } 836 | }, 837 | "autoload": { 838 | "psr-4": { 839 | "phpDocumentor\\Reflection\\": "src" 840 | } 841 | }, 842 | "notification-url": "https://packagist.org/downloads/", 843 | "license": [ 844 | "MIT" 845 | ], 846 | "authors": [ 847 | { 848 | "name": "Mike van Riel", 849 | "email": "me@mikevanriel.com" 850 | } 851 | ], 852 | "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", 853 | "time": "2020-09-17T18:55:26+00:00" 854 | }, 855 | { 856 | "name": "phpspec/prophecy", 857 | "version": "1.12.1", 858 | "source": { 859 | "type": "git", 860 | "url": "https://github.com/phpspec/prophecy.git", 861 | "reference": "8ce87516be71aae9b956f81906aaf0338e0d8a2d" 862 | }, 863 | "dist": { 864 | "type": "zip", 865 | "url": "https://api.github.com/repos/phpspec/prophecy/zipball/8ce87516be71aae9b956f81906aaf0338e0d8a2d", 866 | "reference": "8ce87516be71aae9b956f81906aaf0338e0d8a2d", 867 | "shasum": "" 868 | }, 869 | "require": { 870 | "doctrine/instantiator": "^1.2", 871 | "php": "^7.2 || ~8.0, <8.1", 872 | "phpdocumentor/reflection-docblock": "^5.2", 873 | "sebastian/comparator": "^3.0 || ^4.0", 874 | "sebastian/recursion-context": "^3.0 || ^4.0" 875 | }, 876 | "require-dev": { 877 | "phpspec/phpspec": "^6.0", 878 | "phpunit/phpunit": "^8.0 || ^9.0 <9.3" 879 | }, 880 | "type": "library", 881 | "extra": { 882 | "branch-alias": { 883 | "dev-master": "1.11.x-dev" 884 | } 885 | }, 886 | "autoload": { 887 | "psr-4": { 888 | "Prophecy\\": "src/Prophecy" 889 | } 890 | }, 891 | "notification-url": "https://packagist.org/downloads/", 892 | "license": [ 893 | "MIT" 894 | ], 895 | "authors": [ 896 | { 897 | "name": "Konstantin Kudryashov", 898 | "email": "ever.zet@gmail.com", 899 | "homepage": "http://everzet.com" 900 | }, 901 | { 902 | "name": "Marcello Duarte", 903 | "email": "marcello.duarte@gmail.com" 904 | } 905 | ], 906 | "description": "Highly opinionated mocking framework for PHP 5.3+", 907 | "homepage": "https://github.com/phpspec/prophecy", 908 | "keywords": [ 909 | "Double", 910 | "Dummy", 911 | "fake", 912 | "mock", 913 | "spy", 914 | "stub" 915 | ], 916 | "time": "2020-09-29T09:10:42+00:00" 917 | }, 918 | { 919 | "name": "phpunit/php-code-coverage", 920 | "version": "6.1.4", 921 | "source": { 922 | "type": "git", 923 | "url": "https://github.com/sebastianbergmann/php-code-coverage.git", 924 | "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d" 925 | }, 926 | "dist": { 927 | "type": "zip", 928 | "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/807e6013b00af69b6c5d9ceb4282d0393dbb9d8d", 929 | "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d", 930 | "shasum": "" 931 | }, 932 | "require": { 933 | "ext-dom": "*", 934 | "ext-xmlwriter": "*", 935 | "php": "^7.1", 936 | "phpunit/php-file-iterator": "^2.0", 937 | "phpunit/php-text-template": "^1.2.1", 938 | "phpunit/php-token-stream": "^3.0", 939 | "sebastian/code-unit-reverse-lookup": "^1.0.1", 940 | "sebastian/environment": "^3.1 || ^4.0", 941 | "sebastian/version": "^2.0.1", 942 | "theseer/tokenizer": "^1.1" 943 | }, 944 | "require-dev": { 945 | "phpunit/phpunit": "^7.0" 946 | }, 947 | "suggest": { 948 | "ext-xdebug": "^2.6.0" 949 | }, 950 | "type": "library", 951 | "extra": { 952 | "branch-alias": { 953 | "dev-master": "6.1-dev" 954 | } 955 | }, 956 | "autoload": { 957 | "classmap": [ 958 | "src/" 959 | ] 960 | }, 961 | "notification-url": "https://packagist.org/downloads/", 962 | "license": [ 963 | "BSD-3-Clause" 964 | ], 965 | "authors": [ 966 | { 967 | "name": "Sebastian Bergmann", 968 | "email": "sebastian@phpunit.de", 969 | "role": "lead" 970 | } 971 | ], 972 | "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", 973 | "homepage": "https://github.com/sebastianbergmann/php-code-coverage", 974 | "keywords": [ 975 | "coverage", 976 | "testing", 977 | "xunit" 978 | ], 979 | "time": "2018-10-31T16:06:48+00:00" 980 | }, 981 | { 982 | "name": "phpunit/php-file-iterator", 983 | "version": "2.0.2", 984 | "source": { 985 | "type": "git", 986 | "url": "https://github.com/sebastianbergmann/php-file-iterator.git", 987 | "reference": "050bedf145a257b1ff02746c31894800e5122946" 988 | }, 989 | "dist": { 990 | "type": "zip", 991 | "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/050bedf145a257b1ff02746c31894800e5122946", 992 | "reference": "050bedf145a257b1ff02746c31894800e5122946", 993 | "shasum": "" 994 | }, 995 | "require": { 996 | "php": "^7.1" 997 | }, 998 | "require-dev": { 999 | "phpunit/phpunit": "^7.1" 1000 | }, 1001 | "type": "library", 1002 | "extra": { 1003 | "branch-alias": { 1004 | "dev-master": "2.0.x-dev" 1005 | } 1006 | }, 1007 | "autoload": { 1008 | "classmap": [ 1009 | "src/" 1010 | ] 1011 | }, 1012 | "notification-url": "https://packagist.org/downloads/", 1013 | "license": [ 1014 | "BSD-3-Clause" 1015 | ], 1016 | "authors": [ 1017 | { 1018 | "name": "Sebastian Bergmann", 1019 | "email": "sebastian@phpunit.de", 1020 | "role": "lead" 1021 | } 1022 | ], 1023 | "description": "FilterIterator implementation that filters files based on a list of suffixes.", 1024 | "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", 1025 | "keywords": [ 1026 | "filesystem", 1027 | "iterator" 1028 | ], 1029 | "time": "2018-09-13T20:33:42+00:00" 1030 | }, 1031 | { 1032 | "name": "phpunit/php-text-template", 1033 | "version": "1.2.1", 1034 | "source": { 1035 | "type": "git", 1036 | "url": "https://github.com/sebastianbergmann/php-text-template.git", 1037 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" 1038 | }, 1039 | "dist": { 1040 | "type": "zip", 1041 | "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", 1042 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", 1043 | "shasum": "" 1044 | }, 1045 | "require": { 1046 | "php": ">=5.3.3" 1047 | }, 1048 | "type": "library", 1049 | "autoload": { 1050 | "classmap": [ 1051 | "src/" 1052 | ] 1053 | }, 1054 | "notification-url": "https://packagist.org/downloads/", 1055 | "license": [ 1056 | "BSD-3-Clause" 1057 | ], 1058 | "authors": [ 1059 | { 1060 | "name": "Sebastian Bergmann", 1061 | "email": "sebastian@phpunit.de", 1062 | "role": "lead" 1063 | } 1064 | ], 1065 | "description": "Simple template engine.", 1066 | "homepage": "https://github.com/sebastianbergmann/php-text-template/", 1067 | "keywords": [ 1068 | "template" 1069 | ], 1070 | "time": "2015-06-21T13:50:34+00:00" 1071 | }, 1072 | { 1073 | "name": "phpunit/php-timer", 1074 | "version": "2.1.2", 1075 | "source": { 1076 | "type": "git", 1077 | "url": "https://github.com/sebastianbergmann/php-timer.git", 1078 | "reference": "1038454804406b0b5f5f520358e78c1c2f71501e" 1079 | }, 1080 | "dist": { 1081 | "type": "zip", 1082 | "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/1038454804406b0b5f5f520358e78c1c2f71501e", 1083 | "reference": "1038454804406b0b5f5f520358e78c1c2f71501e", 1084 | "shasum": "" 1085 | }, 1086 | "require": { 1087 | "php": "^7.1" 1088 | }, 1089 | "require-dev": { 1090 | "phpunit/phpunit": "^7.0" 1091 | }, 1092 | "type": "library", 1093 | "extra": { 1094 | "branch-alias": { 1095 | "dev-master": "2.1-dev" 1096 | } 1097 | }, 1098 | "autoload": { 1099 | "classmap": [ 1100 | "src/" 1101 | ] 1102 | }, 1103 | "notification-url": "https://packagist.org/downloads/", 1104 | "license": [ 1105 | "BSD-3-Clause" 1106 | ], 1107 | "authors": [ 1108 | { 1109 | "name": "Sebastian Bergmann", 1110 | "email": "sebastian@phpunit.de", 1111 | "role": "lead" 1112 | } 1113 | ], 1114 | "description": "Utility class for timing", 1115 | "homepage": "https://github.com/sebastianbergmann/php-timer/", 1116 | "keywords": [ 1117 | "timer" 1118 | ], 1119 | "time": "2019-06-07T04:22:29+00:00" 1120 | }, 1121 | { 1122 | "name": "phpunit/php-token-stream", 1123 | "version": "3.1.1", 1124 | "source": { 1125 | "type": "git", 1126 | "url": "https://github.com/sebastianbergmann/php-token-stream.git", 1127 | "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff" 1128 | }, 1129 | "dist": { 1130 | "type": "zip", 1131 | "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/995192df77f63a59e47f025390d2d1fdf8f425ff", 1132 | "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff", 1133 | "shasum": "" 1134 | }, 1135 | "require": { 1136 | "ext-tokenizer": "*", 1137 | "php": "^7.1" 1138 | }, 1139 | "require-dev": { 1140 | "phpunit/phpunit": "^7.0" 1141 | }, 1142 | "type": "library", 1143 | "extra": { 1144 | "branch-alias": { 1145 | "dev-master": "3.1-dev" 1146 | } 1147 | }, 1148 | "autoload": { 1149 | "classmap": [ 1150 | "src/" 1151 | ] 1152 | }, 1153 | "notification-url": "https://packagist.org/downloads/", 1154 | "license": [ 1155 | "BSD-3-Clause" 1156 | ], 1157 | "authors": [ 1158 | { 1159 | "name": "Sebastian Bergmann", 1160 | "email": "sebastian@phpunit.de" 1161 | } 1162 | ], 1163 | "description": "Wrapper around PHP's tokenizer extension.", 1164 | "homepage": "https://github.com/sebastianbergmann/php-token-stream/", 1165 | "keywords": [ 1166 | "tokenizer" 1167 | ], 1168 | "abandoned": true, 1169 | "time": "2019-09-17T06:23:10+00:00" 1170 | }, 1171 | { 1172 | "name": "phpunit/phpunit", 1173 | "version": "7.5.20", 1174 | "source": { 1175 | "type": "git", 1176 | "url": "https://github.com/sebastianbergmann/phpunit.git", 1177 | "reference": "9467db479d1b0487c99733bb1e7944d32deded2c" 1178 | }, 1179 | "dist": { 1180 | "type": "zip", 1181 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/9467db479d1b0487c99733bb1e7944d32deded2c", 1182 | "reference": "9467db479d1b0487c99733bb1e7944d32deded2c", 1183 | "shasum": "" 1184 | }, 1185 | "require": { 1186 | "doctrine/instantiator": "^1.1", 1187 | "ext-dom": "*", 1188 | "ext-json": "*", 1189 | "ext-libxml": "*", 1190 | "ext-mbstring": "*", 1191 | "ext-xml": "*", 1192 | "myclabs/deep-copy": "^1.7", 1193 | "phar-io/manifest": "^1.0.2", 1194 | "phar-io/version": "^2.0", 1195 | "php": "^7.1", 1196 | "phpspec/prophecy": "^1.7", 1197 | "phpunit/php-code-coverage": "^6.0.7", 1198 | "phpunit/php-file-iterator": "^2.0.1", 1199 | "phpunit/php-text-template": "^1.2.1", 1200 | "phpunit/php-timer": "^2.1", 1201 | "sebastian/comparator": "^3.0", 1202 | "sebastian/diff": "^3.0", 1203 | "sebastian/environment": "^4.0", 1204 | "sebastian/exporter": "^3.1", 1205 | "sebastian/global-state": "^2.0", 1206 | "sebastian/object-enumerator": "^3.0.3", 1207 | "sebastian/resource-operations": "^2.0", 1208 | "sebastian/version": "^2.0.1" 1209 | }, 1210 | "conflict": { 1211 | "phpunit/phpunit-mock-objects": "*" 1212 | }, 1213 | "require-dev": { 1214 | "ext-pdo": "*" 1215 | }, 1216 | "suggest": { 1217 | "ext-soap": "*", 1218 | "ext-xdebug": "*", 1219 | "phpunit/php-invoker": "^2.0" 1220 | }, 1221 | "bin": [ 1222 | "phpunit" 1223 | ], 1224 | "type": "library", 1225 | "extra": { 1226 | "branch-alias": { 1227 | "dev-master": "7.5-dev" 1228 | } 1229 | }, 1230 | "autoload": { 1231 | "classmap": [ 1232 | "src/" 1233 | ] 1234 | }, 1235 | "notification-url": "https://packagist.org/downloads/", 1236 | "license": [ 1237 | "BSD-3-Clause" 1238 | ], 1239 | "authors": [ 1240 | { 1241 | "name": "Sebastian Bergmann", 1242 | "email": "sebastian@phpunit.de", 1243 | "role": "lead" 1244 | } 1245 | ], 1246 | "description": "The PHP Unit Testing framework.", 1247 | "homepage": "https://phpunit.de/", 1248 | "keywords": [ 1249 | "phpunit", 1250 | "testing", 1251 | "xunit" 1252 | ], 1253 | "time": "2020-01-08T08:45:45+00:00" 1254 | }, 1255 | { 1256 | "name": "psr/container", 1257 | "version": "1.0.0", 1258 | "source": { 1259 | "type": "git", 1260 | "url": "https://github.com/php-fig/container.git", 1261 | "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" 1262 | }, 1263 | "dist": { 1264 | "type": "zip", 1265 | "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", 1266 | "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", 1267 | "shasum": "" 1268 | }, 1269 | "require": { 1270 | "php": ">=5.3.0" 1271 | }, 1272 | "type": "library", 1273 | "extra": { 1274 | "branch-alias": { 1275 | "dev-master": "1.0.x-dev" 1276 | } 1277 | }, 1278 | "autoload": { 1279 | "psr-4": { 1280 | "Psr\\Container\\": "src/" 1281 | } 1282 | }, 1283 | "notification-url": "https://packagist.org/downloads/", 1284 | "license": [ 1285 | "MIT" 1286 | ], 1287 | "authors": [ 1288 | { 1289 | "name": "PHP-FIG", 1290 | "homepage": "http://www.php-fig.org/" 1291 | } 1292 | ], 1293 | "description": "Common Container Interface (PHP FIG PSR-11)", 1294 | "homepage": "https://github.com/php-fig/container", 1295 | "keywords": [ 1296 | "PSR-11", 1297 | "container", 1298 | "container-interface", 1299 | "container-interop", 1300 | "psr" 1301 | ], 1302 | "time": "2017-02-14T16:28:37+00:00" 1303 | }, 1304 | { 1305 | "name": "psr/http-message", 1306 | "version": "1.0.1", 1307 | "source": { 1308 | "type": "git", 1309 | "url": "https://github.com/php-fig/http-message.git", 1310 | "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" 1311 | }, 1312 | "dist": { 1313 | "type": "zip", 1314 | "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", 1315 | "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", 1316 | "shasum": "" 1317 | }, 1318 | "require": { 1319 | "php": ">=5.3.0" 1320 | }, 1321 | "type": "library", 1322 | "extra": { 1323 | "branch-alias": { 1324 | "dev-master": "1.0.x-dev" 1325 | } 1326 | }, 1327 | "autoload": { 1328 | "psr-4": { 1329 | "Psr\\Http\\Message\\": "src/" 1330 | } 1331 | }, 1332 | "notification-url": "https://packagist.org/downloads/", 1333 | "license": [ 1334 | "MIT" 1335 | ], 1336 | "authors": [ 1337 | { 1338 | "name": "PHP-FIG", 1339 | "homepage": "http://www.php-fig.org/" 1340 | } 1341 | ], 1342 | "description": "Common interface for HTTP messages", 1343 | "homepage": "https://github.com/php-fig/http-message", 1344 | "keywords": [ 1345 | "http", 1346 | "http-message", 1347 | "psr", 1348 | "psr-7", 1349 | "request", 1350 | "response" 1351 | ], 1352 | "time": "2016-08-06T14:39:51+00:00" 1353 | }, 1354 | { 1355 | "name": "ralouphie/getallheaders", 1356 | "version": "3.0.3", 1357 | "source": { 1358 | "type": "git", 1359 | "url": "https://github.com/ralouphie/getallheaders.git", 1360 | "reference": "120b605dfeb996808c31b6477290a714d356e822" 1361 | }, 1362 | "dist": { 1363 | "type": "zip", 1364 | "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", 1365 | "reference": "120b605dfeb996808c31b6477290a714d356e822", 1366 | "shasum": "" 1367 | }, 1368 | "require": { 1369 | "php": ">=5.6" 1370 | }, 1371 | "require-dev": { 1372 | "php-coveralls/php-coveralls": "^2.1", 1373 | "phpunit/phpunit": "^5 || ^6.5" 1374 | }, 1375 | "type": "library", 1376 | "autoload": { 1377 | "files": [ 1378 | "src/getallheaders.php" 1379 | ] 1380 | }, 1381 | "notification-url": "https://packagist.org/downloads/", 1382 | "license": [ 1383 | "MIT" 1384 | ], 1385 | "authors": [ 1386 | { 1387 | "name": "Ralph Khattar", 1388 | "email": "ralph.khattar@gmail.com" 1389 | } 1390 | ], 1391 | "description": "A polyfill for getallheaders.", 1392 | "time": "2019-03-08T08:55:37+00:00" 1393 | }, 1394 | { 1395 | "name": "sebastian/code-unit-reverse-lookup", 1396 | "version": "1.0.1", 1397 | "source": { 1398 | "type": "git", 1399 | "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", 1400 | "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18" 1401 | }, 1402 | "dist": { 1403 | "type": "zip", 1404 | "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", 1405 | "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", 1406 | "shasum": "" 1407 | }, 1408 | "require": { 1409 | "php": "^5.6 || ^7.0" 1410 | }, 1411 | "require-dev": { 1412 | "phpunit/phpunit": "^5.7 || ^6.0" 1413 | }, 1414 | "type": "library", 1415 | "extra": { 1416 | "branch-alias": { 1417 | "dev-master": "1.0.x-dev" 1418 | } 1419 | }, 1420 | "autoload": { 1421 | "classmap": [ 1422 | "src/" 1423 | ] 1424 | }, 1425 | "notification-url": "https://packagist.org/downloads/", 1426 | "license": [ 1427 | "BSD-3-Clause" 1428 | ], 1429 | "authors": [ 1430 | { 1431 | "name": "Sebastian Bergmann", 1432 | "email": "sebastian@phpunit.de" 1433 | } 1434 | ], 1435 | "description": "Looks up which function or method a line of code belongs to", 1436 | "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", 1437 | "time": "2017-03-04T06:30:41+00:00" 1438 | }, 1439 | { 1440 | "name": "sebastian/comparator", 1441 | "version": "3.0.2", 1442 | "source": { 1443 | "type": "git", 1444 | "url": "https://github.com/sebastianbergmann/comparator.git", 1445 | "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da" 1446 | }, 1447 | "dist": { 1448 | "type": "zip", 1449 | "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/5de4fc177adf9bce8df98d8d141a7559d7ccf6da", 1450 | "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da", 1451 | "shasum": "" 1452 | }, 1453 | "require": { 1454 | "php": "^7.1", 1455 | "sebastian/diff": "^3.0", 1456 | "sebastian/exporter": "^3.1" 1457 | }, 1458 | "require-dev": { 1459 | "phpunit/phpunit": "^7.1" 1460 | }, 1461 | "type": "library", 1462 | "extra": { 1463 | "branch-alias": { 1464 | "dev-master": "3.0-dev" 1465 | } 1466 | }, 1467 | "autoload": { 1468 | "classmap": [ 1469 | "src/" 1470 | ] 1471 | }, 1472 | "notification-url": "https://packagist.org/downloads/", 1473 | "license": [ 1474 | "BSD-3-Clause" 1475 | ], 1476 | "authors": [ 1477 | { 1478 | "name": "Jeff Welch", 1479 | "email": "whatthejeff@gmail.com" 1480 | }, 1481 | { 1482 | "name": "Volker Dusch", 1483 | "email": "github@wallbash.com" 1484 | }, 1485 | { 1486 | "name": "Bernhard Schussek", 1487 | "email": "bschussek@2bepublished.at" 1488 | }, 1489 | { 1490 | "name": "Sebastian Bergmann", 1491 | "email": "sebastian@phpunit.de" 1492 | } 1493 | ], 1494 | "description": "Provides the functionality to compare PHP values for equality", 1495 | "homepage": "https://github.com/sebastianbergmann/comparator", 1496 | "keywords": [ 1497 | "comparator", 1498 | "compare", 1499 | "equality" 1500 | ], 1501 | "time": "2018-07-12T15:12:46+00:00" 1502 | }, 1503 | { 1504 | "name": "sebastian/diff", 1505 | "version": "3.0.2", 1506 | "source": { 1507 | "type": "git", 1508 | "url": "https://github.com/sebastianbergmann/diff.git", 1509 | "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29" 1510 | }, 1511 | "dist": { 1512 | "type": "zip", 1513 | "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/720fcc7e9b5cf384ea68d9d930d480907a0c1a29", 1514 | "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29", 1515 | "shasum": "" 1516 | }, 1517 | "require": { 1518 | "php": "^7.1" 1519 | }, 1520 | "require-dev": { 1521 | "phpunit/phpunit": "^7.5 || ^8.0", 1522 | "symfony/process": "^2 || ^3.3 || ^4" 1523 | }, 1524 | "type": "library", 1525 | "extra": { 1526 | "branch-alias": { 1527 | "dev-master": "3.0-dev" 1528 | } 1529 | }, 1530 | "autoload": { 1531 | "classmap": [ 1532 | "src/" 1533 | ] 1534 | }, 1535 | "notification-url": "https://packagist.org/downloads/", 1536 | "license": [ 1537 | "BSD-3-Clause" 1538 | ], 1539 | "authors": [ 1540 | { 1541 | "name": "Kore Nordmann", 1542 | "email": "mail@kore-nordmann.de" 1543 | }, 1544 | { 1545 | "name": "Sebastian Bergmann", 1546 | "email": "sebastian@phpunit.de" 1547 | } 1548 | ], 1549 | "description": "Diff implementation", 1550 | "homepage": "https://github.com/sebastianbergmann/diff", 1551 | "keywords": [ 1552 | "diff", 1553 | "udiff", 1554 | "unidiff", 1555 | "unified diff" 1556 | ], 1557 | "time": "2019-02-04T06:01:07+00:00" 1558 | }, 1559 | { 1560 | "name": "sebastian/environment", 1561 | "version": "4.2.3", 1562 | "source": { 1563 | "type": "git", 1564 | "url": "https://github.com/sebastianbergmann/environment.git", 1565 | "reference": "464c90d7bdf5ad4e8a6aea15c091fec0603d4368" 1566 | }, 1567 | "dist": { 1568 | "type": "zip", 1569 | "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/464c90d7bdf5ad4e8a6aea15c091fec0603d4368", 1570 | "reference": "464c90d7bdf5ad4e8a6aea15c091fec0603d4368", 1571 | "shasum": "" 1572 | }, 1573 | "require": { 1574 | "php": "^7.1" 1575 | }, 1576 | "require-dev": { 1577 | "phpunit/phpunit": "^7.5" 1578 | }, 1579 | "suggest": { 1580 | "ext-posix": "*" 1581 | }, 1582 | "type": "library", 1583 | "extra": { 1584 | "branch-alias": { 1585 | "dev-master": "4.2-dev" 1586 | } 1587 | }, 1588 | "autoload": { 1589 | "classmap": [ 1590 | "src/" 1591 | ] 1592 | }, 1593 | "notification-url": "https://packagist.org/downloads/", 1594 | "license": [ 1595 | "BSD-3-Clause" 1596 | ], 1597 | "authors": [ 1598 | { 1599 | "name": "Sebastian Bergmann", 1600 | "email": "sebastian@phpunit.de" 1601 | } 1602 | ], 1603 | "description": "Provides functionality to handle HHVM/PHP environments", 1604 | "homepage": "http://www.github.com/sebastianbergmann/environment", 1605 | "keywords": [ 1606 | "Xdebug", 1607 | "environment", 1608 | "hhvm" 1609 | ], 1610 | "time": "2019-11-20T08:46:58+00:00" 1611 | }, 1612 | { 1613 | "name": "sebastian/exporter", 1614 | "version": "3.1.2", 1615 | "source": { 1616 | "type": "git", 1617 | "url": "https://github.com/sebastianbergmann/exporter.git", 1618 | "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e" 1619 | }, 1620 | "dist": { 1621 | "type": "zip", 1622 | "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/68609e1261d215ea5b21b7987539cbfbe156ec3e", 1623 | "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e", 1624 | "shasum": "" 1625 | }, 1626 | "require": { 1627 | "php": "^7.0", 1628 | "sebastian/recursion-context": "^3.0" 1629 | }, 1630 | "require-dev": { 1631 | "ext-mbstring": "*", 1632 | "phpunit/phpunit": "^6.0" 1633 | }, 1634 | "type": "library", 1635 | "extra": { 1636 | "branch-alias": { 1637 | "dev-master": "3.1.x-dev" 1638 | } 1639 | }, 1640 | "autoload": { 1641 | "classmap": [ 1642 | "src/" 1643 | ] 1644 | }, 1645 | "notification-url": "https://packagist.org/downloads/", 1646 | "license": [ 1647 | "BSD-3-Clause" 1648 | ], 1649 | "authors": [ 1650 | { 1651 | "name": "Sebastian Bergmann", 1652 | "email": "sebastian@phpunit.de" 1653 | }, 1654 | { 1655 | "name": "Jeff Welch", 1656 | "email": "whatthejeff@gmail.com" 1657 | }, 1658 | { 1659 | "name": "Volker Dusch", 1660 | "email": "github@wallbash.com" 1661 | }, 1662 | { 1663 | "name": "Adam Harvey", 1664 | "email": "aharvey@php.net" 1665 | }, 1666 | { 1667 | "name": "Bernhard Schussek", 1668 | "email": "bschussek@gmail.com" 1669 | } 1670 | ], 1671 | "description": "Provides the functionality to export PHP variables for visualization", 1672 | "homepage": "http://www.github.com/sebastianbergmann/exporter", 1673 | "keywords": [ 1674 | "export", 1675 | "exporter" 1676 | ], 1677 | "time": "2019-09-14T09:02:43+00:00" 1678 | }, 1679 | { 1680 | "name": "sebastian/global-state", 1681 | "version": "2.0.0", 1682 | "source": { 1683 | "type": "git", 1684 | "url": "https://github.com/sebastianbergmann/global-state.git", 1685 | "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4" 1686 | }, 1687 | "dist": { 1688 | "type": "zip", 1689 | "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", 1690 | "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", 1691 | "shasum": "" 1692 | }, 1693 | "require": { 1694 | "php": "^7.0" 1695 | }, 1696 | "require-dev": { 1697 | "phpunit/phpunit": "^6.0" 1698 | }, 1699 | "suggest": { 1700 | "ext-uopz": "*" 1701 | }, 1702 | "type": "library", 1703 | "extra": { 1704 | "branch-alias": { 1705 | "dev-master": "2.0-dev" 1706 | } 1707 | }, 1708 | "autoload": { 1709 | "classmap": [ 1710 | "src/" 1711 | ] 1712 | }, 1713 | "notification-url": "https://packagist.org/downloads/", 1714 | "license": [ 1715 | "BSD-3-Clause" 1716 | ], 1717 | "authors": [ 1718 | { 1719 | "name": "Sebastian Bergmann", 1720 | "email": "sebastian@phpunit.de" 1721 | } 1722 | ], 1723 | "description": "Snapshotting of global state", 1724 | "homepage": "http://www.github.com/sebastianbergmann/global-state", 1725 | "keywords": [ 1726 | "global state" 1727 | ], 1728 | "time": "2017-04-27T15:39:26+00:00" 1729 | }, 1730 | { 1731 | "name": "sebastian/object-enumerator", 1732 | "version": "3.0.3", 1733 | "source": { 1734 | "type": "git", 1735 | "url": "https://github.com/sebastianbergmann/object-enumerator.git", 1736 | "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5" 1737 | }, 1738 | "dist": { 1739 | "type": "zip", 1740 | "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5", 1741 | "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5", 1742 | "shasum": "" 1743 | }, 1744 | "require": { 1745 | "php": "^7.0", 1746 | "sebastian/object-reflector": "^1.1.1", 1747 | "sebastian/recursion-context": "^3.0" 1748 | }, 1749 | "require-dev": { 1750 | "phpunit/phpunit": "^6.0" 1751 | }, 1752 | "type": "library", 1753 | "extra": { 1754 | "branch-alias": { 1755 | "dev-master": "3.0.x-dev" 1756 | } 1757 | }, 1758 | "autoload": { 1759 | "classmap": [ 1760 | "src/" 1761 | ] 1762 | }, 1763 | "notification-url": "https://packagist.org/downloads/", 1764 | "license": [ 1765 | "BSD-3-Clause" 1766 | ], 1767 | "authors": [ 1768 | { 1769 | "name": "Sebastian Bergmann", 1770 | "email": "sebastian@phpunit.de" 1771 | } 1772 | ], 1773 | "description": "Traverses array structures and object graphs to enumerate all referenced objects", 1774 | "homepage": "https://github.com/sebastianbergmann/object-enumerator/", 1775 | "time": "2017-08-03T12:35:26+00:00" 1776 | }, 1777 | { 1778 | "name": "sebastian/object-reflector", 1779 | "version": "1.1.1", 1780 | "source": { 1781 | "type": "git", 1782 | "url": "https://github.com/sebastianbergmann/object-reflector.git", 1783 | "reference": "773f97c67f28de00d397be301821b06708fca0be" 1784 | }, 1785 | "dist": { 1786 | "type": "zip", 1787 | "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be", 1788 | "reference": "773f97c67f28de00d397be301821b06708fca0be", 1789 | "shasum": "" 1790 | }, 1791 | "require": { 1792 | "php": "^7.0" 1793 | }, 1794 | "require-dev": { 1795 | "phpunit/phpunit": "^6.0" 1796 | }, 1797 | "type": "library", 1798 | "extra": { 1799 | "branch-alias": { 1800 | "dev-master": "1.1-dev" 1801 | } 1802 | }, 1803 | "autoload": { 1804 | "classmap": [ 1805 | "src/" 1806 | ] 1807 | }, 1808 | "notification-url": "https://packagist.org/downloads/", 1809 | "license": [ 1810 | "BSD-3-Clause" 1811 | ], 1812 | "authors": [ 1813 | { 1814 | "name": "Sebastian Bergmann", 1815 | "email": "sebastian@phpunit.de" 1816 | } 1817 | ], 1818 | "description": "Allows reflection of object attributes, including inherited and non-public ones", 1819 | "homepage": "https://github.com/sebastianbergmann/object-reflector/", 1820 | "time": "2017-03-29T09:07:27+00:00" 1821 | }, 1822 | { 1823 | "name": "sebastian/recursion-context", 1824 | "version": "3.0.0", 1825 | "source": { 1826 | "type": "git", 1827 | "url": "https://github.com/sebastianbergmann/recursion-context.git", 1828 | "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8" 1829 | }, 1830 | "dist": { 1831 | "type": "zip", 1832 | "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", 1833 | "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", 1834 | "shasum": "" 1835 | }, 1836 | "require": { 1837 | "php": "^7.0" 1838 | }, 1839 | "require-dev": { 1840 | "phpunit/phpunit": "^6.0" 1841 | }, 1842 | "type": "library", 1843 | "extra": { 1844 | "branch-alias": { 1845 | "dev-master": "3.0.x-dev" 1846 | } 1847 | }, 1848 | "autoload": { 1849 | "classmap": [ 1850 | "src/" 1851 | ] 1852 | }, 1853 | "notification-url": "https://packagist.org/downloads/", 1854 | "license": [ 1855 | "BSD-3-Clause" 1856 | ], 1857 | "authors": [ 1858 | { 1859 | "name": "Jeff Welch", 1860 | "email": "whatthejeff@gmail.com" 1861 | }, 1862 | { 1863 | "name": "Sebastian Bergmann", 1864 | "email": "sebastian@phpunit.de" 1865 | }, 1866 | { 1867 | "name": "Adam Harvey", 1868 | "email": "aharvey@php.net" 1869 | } 1870 | ], 1871 | "description": "Provides functionality to recursively process PHP variables", 1872 | "homepage": "http://www.github.com/sebastianbergmann/recursion-context", 1873 | "time": "2017-03-03T06:23:57+00:00" 1874 | }, 1875 | { 1876 | "name": "sebastian/resource-operations", 1877 | "version": "2.0.1", 1878 | "source": { 1879 | "type": "git", 1880 | "url": "https://github.com/sebastianbergmann/resource-operations.git", 1881 | "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9" 1882 | }, 1883 | "dist": { 1884 | "type": "zip", 1885 | "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/4d7a795d35b889bf80a0cc04e08d77cedfa917a9", 1886 | "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9", 1887 | "shasum": "" 1888 | }, 1889 | "require": { 1890 | "php": "^7.1" 1891 | }, 1892 | "type": "library", 1893 | "extra": { 1894 | "branch-alias": { 1895 | "dev-master": "2.0-dev" 1896 | } 1897 | }, 1898 | "autoload": { 1899 | "classmap": [ 1900 | "src/" 1901 | ] 1902 | }, 1903 | "notification-url": "https://packagist.org/downloads/", 1904 | "license": [ 1905 | "BSD-3-Clause" 1906 | ], 1907 | "authors": [ 1908 | { 1909 | "name": "Sebastian Bergmann", 1910 | "email": "sebastian@phpunit.de" 1911 | } 1912 | ], 1913 | "description": "Provides a list of PHP built-in functions that operate on resources", 1914 | "homepage": "https://www.github.com/sebastianbergmann/resource-operations", 1915 | "time": "2018-10-04T04:07:39+00:00" 1916 | }, 1917 | { 1918 | "name": "sebastian/version", 1919 | "version": "2.0.1", 1920 | "source": { 1921 | "type": "git", 1922 | "url": "https://github.com/sebastianbergmann/version.git", 1923 | "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" 1924 | }, 1925 | "dist": { 1926 | "type": "zip", 1927 | "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", 1928 | "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", 1929 | "shasum": "" 1930 | }, 1931 | "require": { 1932 | "php": ">=5.6" 1933 | }, 1934 | "type": "library", 1935 | "extra": { 1936 | "branch-alias": { 1937 | "dev-master": "2.0.x-dev" 1938 | } 1939 | }, 1940 | "autoload": { 1941 | "classmap": [ 1942 | "src/" 1943 | ] 1944 | }, 1945 | "notification-url": "https://packagist.org/downloads/", 1946 | "license": [ 1947 | "BSD-3-Clause" 1948 | ], 1949 | "authors": [ 1950 | { 1951 | "name": "Sebastian Bergmann", 1952 | "email": "sebastian@phpunit.de", 1953 | "role": "lead" 1954 | } 1955 | ], 1956 | "description": "Library that helps with managing the version number of Git-hosted PHP projects", 1957 | "homepage": "https://github.com/sebastianbergmann/version", 1958 | "time": "2016-10-03T07:35:21+00:00" 1959 | }, 1960 | { 1961 | "name": "symfony/browser-kit", 1962 | "version": "v4.4.15", 1963 | "source": { 1964 | "type": "git", 1965 | "url": "https://github.com/symfony/browser-kit.git", 1966 | "reference": "9a1786e5020783605a30cff2ceed9aca030e8d80" 1967 | }, 1968 | "dist": { 1969 | "type": "zip", 1970 | "url": "https://api.github.com/repos/symfony/browser-kit/zipball/9a1786e5020783605a30cff2ceed9aca030e8d80", 1971 | "reference": "9a1786e5020783605a30cff2ceed9aca030e8d80", 1972 | "shasum": "" 1973 | }, 1974 | "require": { 1975 | "php": ">=7.1.3", 1976 | "symfony/dom-crawler": "^3.4|^4.0|^5.0" 1977 | }, 1978 | "require-dev": { 1979 | "symfony/css-selector": "^3.4|^4.0|^5.0", 1980 | "symfony/http-client": "^4.3|^5.0", 1981 | "symfony/mime": "^4.3|^5.0", 1982 | "symfony/process": "^3.4|^4.0|^5.0" 1983 | }, 1984 | "suggest": { 1985 | "symfony/process": "" 1986 | }, 1987 | "type": "library", 1988 | "extra": { 1989 | "branch-alias": { 1990 | "dev-master": "4.4-dev" 1991 | } 1992 | }, 1993 | "autoload": { 1994 | "psr-4": { 1995 | "Symfony\\Component\\BrowserKit\\": "" 1996 | }, 1997 | "exclude-from-classmap": [ 1998 | "/Tests/" 1999 | ] 2000 | }, 2001 | "notification-url": "https://packagist.org/downloads/", 2002 | "license": [ 2003 | "MIT" 2004 | ], 2005 | "authors": [ 2006 | { 2007 | "name": "Fabien Potencier", 2008 | "email": "fabien@symfony.com" 2009 | }, 2010 | { 2011 | "name": "Symfony Community", 2012 | "homepage": "https://symfony.com/contributors" 2013 | } 2014 | ], 2015 | "description": "Symfony BrowserKit Component", 2016 | "homepage": "https://symfony.com", 2017 | "funding": [ 2018 | { 2019 | "url": "https://symfony.com/sponsor", 2020 | "type": "custom" 2021 | }, 2022 | { 2023 | "url": "https://github.com/fabpot", 2024 | "type": "github" 2025 | }, 2026 | { 2027 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 2028 | "type": "tidelift" 2029 | } 2030 | ], 2031 | "time": "2020-10-02T08:38:15+00:00" 2032 | }, 2033 | { 2034 | "name": "symfony/console", 2035 | "version": "v4.4.15", 2036 | "source": { 2037 | "type": "git", 2038 | "url": "https://github.com/symfony/console.git", 2039 | "reference": "90933b39c7b312fc3ceaa1ddeac7eb48cb953124" 2040 | }, 2041 | "dist": { 2042 | "type": "zip", 2043 | "url": "https://api.github.com/repos/symfony/console/zipball/90933b39c7b312fc3ceaa1ddeac7eb48cb953124", 2044 | "reference": "90933b39c7b312fc3ceaa1ddeac7eb48cb953124", 2045 | "shasum": "" 2046 | }, 2047 | "require": { 2048 | "php": ">=7.1.3", 2049 | "symfony/polyfill-mbstring": "~1.0", 2050 | "symfony/polyfill-php73": "^1.8", 2051 | "symfony/polyfill-php80": "^1.15", 2052 | "symfony/service-contracts": "^1.1|^2" 2053 | }, 2054 | "conflict": { 2055 | "symfony/dependency-injection": "<3.4", 2056 | "symfony/event-dispatcher": "<4.3|>=5", 2057 | "symfony/lock": "<4.4", 2058 | "symfony/process": "<3.3" 2059 | }, 2060 | "provide": { 2061 | "psr/log-implementation": "1.0" 2062 | }, 2063 | "require-dev": { 2064 | "psr/log": "~1.0", 2065 | "symfony/config": "^3.4|^4.0|^5.0", 2066 | "symfony/dependency-injection": "^3.4|^4.0|^5.0", 2067 | "symfony/event-dispatcher": "^4.3", 2068 | "symfony/lock": "^4.4|^5.0", 2069 | "symfony/process": "^3.4|^4.0|^5.0", 2070 | "symfony/var-dumper": "^4.3|^5.0" 2071 | }, 2072 | "suggest": { 2073 | "psr/log": "For using the console logger", 2074 | "symfony/event-dispatcher": "", 2075 | "symfony/lock": "", 2076 | "symfony/process": "" 2077 | }, 2078 | "type": "library", 2079 | "extra": { 2080 | "branch-alias": { 2081 | "dev-master": "4.4-dev" 2082 | } 2083 | }, 2084 | "autoload": { 2085 | "psr-4": { 2086 | "Symfony\\Component\\Console\\": "" 2087 | }, 2088 | "exclude-from-classmap": [ 2089 | "/Tests/" 2090 | ] 2091 | }, 2092 | "notification-url": "https://packagist.org/downloads/", 2093 | "license": [ 2094 | "MIT" 2095 | ], 2096 | "authors": [ 2097 | { 2098 | "name": "Fabien Potencier", 2099 | "email": "fabien@symfony.com" 2100 | }, 2101 | { 2102 | "name": "Symfony Community", 2103 | "homepage": "https://symfony.com/contributors" 2104 | } 2105 | ], 2106 | "description": "Symfony Console Component", 2107 | "homepage": "https://symfony.com", 2108 | "funding": [ 2109 | { 2110 | "url": "https://symfony.com/sponsor", 2111 | "type": "custom" 2112 | }, 2113 | { 2114 | "url": "https://github.com/fabpot", 2115 | "type": "github" 2116 | }, 2117 | { 2118 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 2119 | "type": "tidelift" 2120 | } 2121 | ], 2122 | "time": "2020-09-15T07:58:55+00:00" 2123 | }, 2124 | { 2125 | "name": "symfony/css-selector", 2126 | "version": "v4.4.15", 2127 | "source": { 2128 | "type": "git", 2129 | "url": "https://github.com/symfony/css-selector.git", 2130 | "reference": "bf17dc9f6ce144e41f786c32435feea4d8e11dcc" 2131 | }, 2132 | "dist": { 2133 | "type": "zip", 2134 | "url": "https://api.github.com/repos/symfony/css-selector/zipball/bf17dc9f6ce144e41f786c32435feea4d8e11dcc", 2135 | "reference": "bf17dc9f6ce144e41f786c32435feea4d8e11dcc", 2136 | "shasum": "" 2137 | }, 2138 | "require": { 2139 | "php": ">=7.1.3" 2140 | }, 2141 | "type": "library", 2142 | "extra": { 2143 | "branch-alias": { 2144 | "dev-master": "4.4-dev" 2145 | } 2146 | }, 2147 | "autoload": { 2148 | "psr-4": { 2149 | "Symfony\\Component\\CssSelector\\": "" 2150 | }, 2151 | "exclude-from-classmap": [ 2152 | "/Tests/" 2153 | ] 2154 | }, 2155 | "notification-url": "https://packagist.org/downloads/", 2156 | "license": [ 2157 | "MIT" 2158 | ], 2159 | "authors": [ 2160 | { 2161 | "name": "Fabien Potencier", 2162 | "email": "fabien@symfony.com" 2163 | }, 2164 | { 2165 | "name": "Jean-François Simon", 2166 | "email": "jeanfrancois.simon@sensiolabs.com" 2167 | }, 2168 | { 2169 | "name": "Symfony Community", 2170 | "homepage": "https://symfony.com/contributors" 2171 | } 2172 | ], 2173 | "description": "Symfony CssSelector Component", 2174 | "homepage": "https://symfony.com", 2175 | "funding": [ 2176 | { 2177 | "url": "https://symfony.com/sponsor", 2178 | "type": "custom" 2179 | }, 2180 | { 2181 | "url": "https://github.com/fabpot", 2182 | "type": "github" 2183 | }, 2184 | { 2185 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 2186 | "type": "tidelift" 2187 | } 2188 | ], 2189 | "time": "2020-07-05T09:39:30+00:00" 2190 | }, 2191 | { 2192 | "name": "symfony/dom-crawler", 2193 | "version": "v4.4.15", 2194 | "source": { 2195 | "type": "git", 2196 | "url": "https://github.com/symfony/dom-crawler.git", 2197 | "reference": "bdcb7633a501770a0daefbf81d2e6b28c3864f2b" 2198 | }, 2199 | "dist": { 2200 | "type": "zip", 2201 | "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/bdcb7633a501770a0daefbf81d2e6b28c3864f2b", 2202 | "reference": "bdcb7633a501770a0daefbf81d2e6b28c3864f2b", 2203 | "shasum": "" 2204 | }, 2205 | "require": { 2206 | "php": ">=7.1.3", 2207 | "symfony/polyfill-ctype": "~1.8", 2208 | "symfony/polyfill-mbstring": "~1.0" 2209 | }, 2210 | "conflict": { 2211 | "masterminds/html5": "<2.6" 2212 | }, 2213 | "require-dev": { 2214 | "masterminds/html5": "^2.6", 2215 | "symfony/css-selector": "^3.4|^4.0|^5.0" 2216 | }, 2217 | "suggest": { 2218 | "symfony/css-selector": "" 2219 | }, 2220 | "type": "library", 2221 | "extra": { 2222 | "branch-alias": { 2223 | "dev-master": "4.4-dev" 2224 | } 2225 | }, 2226 | "autoload": { 2227 | "psr-4": { 2228 | "Symfony\\Component\\DomCrawler\\": "" 2229 | }, 2230 | "exclude-from-classmap": [ 2231 | "/Tests/" 2232 | ] 2233 | }, 2234 | "notification-url": "https://packagist.org/downloads/", 2235 | "license": [ 2236 | "MIT" 2237 | ], 2238 | "authors": [ 2239 | { 2240 | "name": "Fabien Potencier", 2241 | "email": "fabien@symfony.com" 2242 | }, 2243 | { 2244 | "name": "Symfony Community", 2245 | "homepage": "https://symfony.com/contributors" 2246 | } 2247 | ], 2248 | "description": "Symfony DomCrawler Component", 2249 | "homepage": "https://symfony.com", 2250 | "funding": [ 2251 | { 2252 | "url": "https://symfony.com/sponsor", 2253 | "type": "custom" 2254 | }, 2255 | { 2256 | "url": "https://github.com/fabpot", 2257 | "type": "github" 2258 | }, 2259 | { 2260 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 2261 | "type": "tidelift" 2262 | } 2263 | ], 2264 | "time": "2020-10-02T07:34:48+00:00" 2265 | }, 2266 | { 2267 | "name": "symfony/event-dispatcher", 2268 | "version": "v4.4.15", 2269 | "source": { 2270 | "type": "git", 2271 | "url": "https://github.com/symfony/event-dispatcher.git", 2272 | "reference": "e17bb5e0663dc725f7cdcafc932132735b4725cd" 2273 | }, 2274 | "dist": { 2275 | "type": "zip", 2276 | "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/e17bb5e0663dc725f7cdcafc932132735b4725cd", 2277 | "reference": "e17bb5e0663dc725f7cdcafc932132735b4725cd", 2278 | "shasum": "" 2279 | }, 2280 | "require": { 2281 | "php": ">=7.1.3", 2282 | "symfony/event-dispatcher-contracts": "^1.1" 2283 | }, 2284 | "conflict": { 2285 | "symfony/dependency-injection": "<3.4" 2286 | }, 2287 | "provide": { 2288 | "psr/event-dispatcher-implementation": "1.0", 2289 | "symfony/event-dispatcher-implementation": "1.1" 2290 | }, 2291 | "require-dev": { 2292 | "psr/log": "~1.0", 2293 | "symfony/config": "^3.4|^4.0|^5.0", 2294 | "symfony/dependency-injection": "^3.4|^4.0|^5.0", 2295 | "symfony/error-handler": "~3.4|~4.4", 2296 | "symfony/expression-language": "^3.4|^4.0|^5.0", 2297 | "symfony/http-foundation": "^3.4|^4.0|^5.0", 2298 | "symfony/service-contracts": "^1.1|^2", 2299 | "symfony/stopwatch": "^3.4|^4.0|^5.0" 2300 | }, 2301 | "suggest": { 2302 | "symfony/dependency-injection": "", 2303 | "symfony/http-kernel": "" 2304 | }, 2305 | "type": "library", 2306 | "extra": { 2307 | "branch-alias": { 2308 | "dev-master": "4.4-dev" 2309 | } 2310 | }, 2311 | "autoload": { 2312 | "psr-4": { 2313 | "Symfony\\Component\\EventDispatcher\\": "" 2314 | }, 2315 | "exclude-from-classmap": [ 2316 | "/Tests/" 2317 | ] 2318 | }, 2319 | "notification-url": "https://packagist.org/downloads/", 2320 | "license": [ 2321 | "MIT" 2322 | ], 2323 | "authors": [ 2324 | { 2325 | "name": "Fabien Potencier", 2326 | "email": "fabien@symfony.com" 2327 | }, 2328 | { 2329 | "name": "Symfony Community", 2330 | "homepage": "https://symfony.com/contributors" 2331 | } 2332 | ], 2333 | "description": "Symfony EventDispatcher Component", 2334 | "homepage": "https://symfony.com", 2335 | "funding": [ 2336 | { 2337 | "url": "https://symfony.com/sponsor", 2338 | "type": "custom" 2339 | }, 2340 | { 2341 | "url": "https://github.com/fabpot", 2342 | "type": "github" 2343 | }, 2344 | { 2345 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 2346 | "type": "tidelift" 2347 | } 2348 | ], 2349 | "time": "2020-09-18T14:07:46+00:00" 2350 | }, 2351 | { 2352 | "name": "symfony/event-dispatcher-contracts", 2353 | "version": "v1.1.9", 2354 | "source": { 2355 | "type": "git", 2356 | "url": "https://github.com/symfony/event-dispatcher-contracts.git", 2357 | "reference": "84e23fdcd2517bf37aecbd16967e83f0caee25a7" 2358 | }, 2359 | "dist": { 2360 | "type": "zip", 2361 | "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/84e23fdcd2517bf37aecbd16967e83f0caee25a7", 2362 | "reference": "84e23fdcd2517bf37aecbd16967e83f0caee25a7", 2363 | "shasum": "" 2364 | }, 2365 | "require": { 2366 | "php": ">=7.1.3" 2367 | }, 2368 | "suggest": { 2369 | "psr/event-dispatcher": "", 2370 | "symfony/event-dispatcher-implementation": "" 2371 | }, 2372 | "type": "library", 2373 | "extra": { 2374 | "branch-alias": { 2375 | "dev-master": "1.1-dev" 2376 | }, 2377 | "thanks": { 2378 | "name": "symfony/contracts", 2379 | "url": "https://github.com/symfony/contracts" 2380 | } 2381 | }, 2382 | "autoload": { 2383 | "psr-4": { 2384 | "Symfony\\Contracts\\EventDispatcher\\": "" 2385 | } 2386 | }, 2387 | "notification-url": "https://packagist.org/downloads/", 2388 | "license": [ 2389 | "MIT" 2390 | ], 2391 | "authors": [ 2392 | { 2393 | "name": "Nicolas Grekas", 2394 | "email": "p@tchwork.com" 2395 | }, 2396 | { 2397 | "name": "Symfony Community", 2398 | "homepage": "https://symfony.com/contributors" 2399 | } 2400 | ], 2401 | "description": "Generic abstractions related to dispatching event", 2402 | "homepage": "https://symfony.com", 2403 | "keywords": [ 2404 | "abstractions", 2405 | "contracts", 2406 | "decoupling", 2407 | "interfaces", 2408 | "interoperability", 2409 | "standards" 2410 | ], 2411 | "funding": [ 2412 | { 2413 | "url": "https://symfony.com/sponsor", 2414 | "type": "custom" 2415 | }, 2416 | { 2417 | "url": "https://github.com/fabpot", 2418 | "type": "github" 2419 | }, 2420 | { 2421 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 2422 | "type": "tidelift" 2423 | } 2424 | ], 2425 | "time": "2020-07-06T13:19:58+00:00" 2426 | }, 2427 | { 2428 | "name": "symfony/finder", 2429 | "version": "v4.4.15", 2430 | "source": { 2431 | "type": "git", 2432 | "url": "https://github.com/symfony/finder.git", 2433 | "reference": "60d08560f9aa72997c44077c40d47aa28a963230" 2434 | }, 2435 | "dist": { 2436 | "type": "zip", 2437 | "url": "https://api.github.com/repos/symfony/finder/zipball/60d08560f9aa72997c44077c40d47aa28a963230", 2438 | "reference": "60d08560f9aa72997c44077c40d47aa28a963230", 2439 | "shasum": "" 2440 | }, 2441 | "require": { 2442 | "php": ">=7.1.3" 2443 | }, 2444 | "type": "library", 2445 | "extra": { 2446 | "branch-alias": { 2447 | "dev-master": "4.4-dev" 2448 | } 2449 | }, 2450 | "autoload": { 2451 | "psr-4": { 2452 | "Symfony\\Component\\Finder\\": "" 2453 | }, 2454 | "exclude-from-classmap": [ 2455 | "/Tests/" 2456 | ] 2457 | }, 2458 | "notification-url": "https://packagist.org/downloads/", 2459 | "license": [ 2460 | "MIT" 2461 | ], 2462 | "authors": [ 2463 | { 2464 | "name": "Fabien Potencier", 2465 | "email": "fabien@symfony.com" 2466 | }, 2467 | { 2468 | "name": "Symfony Community", 2469 | "homepage": "https://symfony.com/contributors" 2470 | } 2471 | ], 2472 | "description": "Symfony Finder Component", 2473 | "homepage": "https://symfony.com", 2474 | "funding": [ 2475 | { 2476 | "url": "https://symfony.com/sponsor", 2477 | "type": "custom" 2478 | }, 2479 | { 2480 | "url": "https://github.com/fabpot", 2481 | "type": "github" 2482 | }, 2483 | { 2484 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 2485 | "type": "tidelift" 2486 | } 2487 | ], 2488 | "time": "2020-10-02T07:34:48+00:00" 2489 | }, 2490 | { 2491 | "name": "symfony/polyfill-ctype", 2492 | "version": "v1.20.0", 2493 | "source": { 2494 | "type": "git", 2495 | "url": "https://github.com/symfony/polyfill-ctype.git", 2496 | "reference": "f4ba089a5b6366e453971d3aad5fe8e897b37f41" 2497 | }, 2498 | "dist": { 2499 | "type": "zip", 2500 | "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/f4ba089a5b6366e453971d3aad5fe8e897b37f41", 2501 | "reference": "f4ba089a5b6366e453971d3aad5fe8e897b37f41", 2502 | "shasum": "" 2503 | }, 2504 | "require": { 2505 | "php": ">=7.1" 2506 | }, 2507 | "suggest": { 2508 | "ext-ctype": "For best performance" 2509 | }, 2510 | "type": "library", 2511 | "extra": { 2512 | "branch-alias": { 2513 | "dev-main": "1.20-dev" 2514 | }, 2515 | "thanks": { 2516 | "name": "symfony/polyfill", 2517 | "url": "https://github.com/symfony/polyfill" 2518 | } 2519 | }, 2520 | "autoload": { 2521 | "psr-4": { 2522 | "Symfony\\Polyfill\\Ctype\\": "" 2523 | }, 2524 | "files": [ 2525 | "bootstrap.php" 2526 | ] 2527 | }, 2528 | "notification-url": "https://packagist.org/downloads/", 2529 | "license": [ 2530 | "MIT" 2531 | ], 2532 | "authors": [ 2533 | { 2534 | "name": "Gert de Pagter", 2535 | "email": "BackEndTea@gmail.com" 2536 | }, 2537 | { 2538 | "name": "Symfony Community", 2539 | "homepage": "https://symfony.com/contributors" 2540 | } 2541 | ], 2542 | "description": "Symfony polyfill for ctype functions", 2543 | "homepage": "https://symfony.com", 2544 | "keywords": [ 2545 | "compatibility", 2546 | "ctype", 2547 | "polyfill", 2548 | "portable" 2549 | ], 2550 | "funding": [ 2551 | { 2552 | "url": "https://symfony.com/sponsor", 2553 | "type": "custom" 2554 | }, 2555 | { 2556 | "url": "https://github.com/fabpot", 2557 | "type": "github" 2558 | }, 2559 | { 2560 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 2561 | "type": "tidelift" 2562 | } 2563 | ], 2564 | "time": "2020-10-23T14:02:19+00:00" 2565 | }, 2566 | { 2567 | "name": "symfony/polyfill-intl-idn", 2568 | "version": "v1.20.0", 2569 | "source": { 2570 | "type": "git", 2571 | "url": "https://github.com/symfony/polyfill-intl-idn.git", 2572 | "reference": "3b75acd829741c768bc8b1f84eb33265e7cc5117" 2573 | }, 2574 | "dist": { 2575 | "type": "zip", 2576 | "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/3b75acd829741c768bc8b1f84eb33265e7cc5117", 2577 | "reference": "3b75acd829741c768bc8b1f84eb33265e7cc5117", 2578 | "shasum": "" 2579 | }, 2580 | "require": { 2581 | "php": ">=7.1", 2582 | "symfony/polyfill-intl-normalizer": "^1.10", 2583 | "symfony/polyfill-php72": "^1.10" 2584 | }, 2585 | "suggest": { 2586 | "ext-intl": "For best performance" 2587 | }, 2588 | "type": "library", 2589 | "extra": { 2590 | "branch-alias": { 2591 | "dev-main": "1.20-dev" 2592 | }, 2593 | "thanks": { 2594 | "name": "symfony/polyfill", 2595 | "url": "https://github.com/symfony/polyfill" 2596 | } 2597 | }, 2598 | "autoload": { 2599 | "psr-4": { 2600 | "Symfony\\Polyfill\\Intl\\Idn\\": "" 2601 | }, 2602 | "files": [ 2603 | "bootstrap.php" 2604 | ] 2605 | }, 2606 | "notification-url": "https://packagist.org/downloads/", 2607 | "license": [ 2608 | "MIT" 2609 | ], 2610 | "authors": [ 2611 | { 2612 | "name": "Laurent Bassin", 2613 | "email": "laurent@bassin.info" 2614 | }, 2615 | { 2616 | "name": "Trevor Rowbotham", 2617 | "email": "trevor.rowbotham@pm.me" 2618 | }, 2619 | { 2620 | "name": "Symfony Community", 2621 | "homepage": "https://symfony.com/contributors" 2622 | } 2623 | ], 2624 | "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", 2625 | "homepage": "https://symfony.com", 2626 | "keywords": [ 2627 | "compatibility", 2628 | "idn", 2629 | "intl", 2630 | "polyfill", 2631 | "portable", 2632 | "shim" 2633 | ], 2634 | "funding": [ 2635 | { 2636 | "url": "https://symfony.com/sponsor", 2637 | "type": "custom" 2638 | }, 2639 | { 2640 | "url": "https://github.com/fabpot", 2641 | "type": "github" 2642 | }, 2643 | { 2644 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 2645 | "type": "tidelift" 2646 | } 2647 | ], 2648 | "time": "2020-10-23T14:02:19+00:00" 2649 | }, 2650 | { 2651 | "name": "symfony/polyfill-intl-normalizer", 2652 | "version": "v1.20.0", 2653 | "source": { 2654 | "type": "git", 2655 | "url": "https://github.com/symfony/polyfill-intl-normalizer.git", 2656 | "reference": "727d1096295d807c309fb01a851577302394c897" 2657 | }, 2658 | "dist": { 2659 | "type": "zip", 2660 | "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/727d1096295d807c309fb01a851577302394c897", 2661 | "reference": "727d1096295d807c309fb01a851577302394c897", 2662 | "shasum": "" 2663 | }, 2664 | "require": { 2665 | "php": ">=7.1" 2666 | }, 2667 | "suggest": { 2668 | "ext-intl": "For best performance" 2669 | }, 2670 | "type": "library", 2671 | "extra": { 2672 | "branch-alias": { 2673 | "dev-main": "1.20-dev" 2674 | }, 2675 | "thanks": { 2676 | "name": "symfony/polyfill", 2677 | "url": "https://github.com/symfony/polyfill" 2678 | } 2679 | }, 2680 | "autoload": { 2681 | "psr-4": { 2682 | "Symfony\\Polyfill\\Intl\\Normalizer\\": "" 2683 | }, 2684 | "files": [ 2685 | "bootstrap.php" 2686 | ], 2687 | "classmap": [ 2688 | "Resources/stubs" 2689 | ] 2690 | }, 2691 | "notification-url": "https://packagist.org/downloads/", 2692 | "license": [ 2693 | "MIT" 2694 | ], 2695 | "authors": [ 2696 | { 2697 | "name": "Nicolas Grekas", 2698 | "email": "p@tchwork.com" 2699 | }, 2700 | { 2701 | "name": "Symfony Community", 2702 | "homepage": "https://symfony.com/contributors" 2703 | } 2704 | ], 2705 | "description": "Symfony polyfill for intl's Normalizer class and related functions", 2706 | "homepage": "https://symfony.com", 2707 | "keywords": [ 2708 | "compatibility", 2709 | "intl", 2710 | "normalizer", 2711 | "polyfill", 2712 | "portable", 2713 | "shim" 2714 | ], 2715 | "funding": [ 2716 | { 2717 | "url": "https://symfony.com/sponsor", 2718 | "type": "custom" 2719 | }, 2720 | { 2721 | "url": "https://github.com/fabpot", 2722 | "type": "github" 2723 | }, 2724 | { 2725 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 2726 | "type": "tidelift" 2727 | } 2728 | ], 2729 | "time": "2020-10-23T14:02:19+00:00" 2730 | }, 2731 | { 2732 | "name": "symfony/polyfill-mbstring", 2733 | "version": "v1.20.0", 2734 | "source": { 2735 | "type": "git", 2736 | "url": "https://github.com/symfony/polyfill-mbstring.git", 2737 | "reference": "39d483bdf39be819deabf04ec872eb0b2410b531" 2738 | }, 2739 | "dist": { 2740 | "type": "zip", 2741 | "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/39d483bdf39be819deabf04ec872eb0b2410b531", 2742 | "reference": "39d483bdf39be819deabf04ec872eb0b2410b531", 2743 | "shasum": "" 2744 | }, 2745 | "require": { 2746 | "php": ">=7.1" 2747 | }, 2748 | "suggest": { 2749 | "ext-mbstring": "For best performance" 2750 | }, 2751 | "type": "library", 2752 | "extra": { 2753 | "branch-alias": { 2754 | "dev-main": "1.20-dev" 2755 | }, 2756 | "thanks": { 2757 | "name": "symfony/polyfill", 2758 | "url": "https://github.com/symfony/polyfill" 2759 | } 2760 | }, 2761 | "autoload": { 2762 | "psr-4": { 2763 | "Symfony\\Polyfill\\Mbstring\\": "" 2764 | }, 2765 | "files": [ 2766 | "bootstrap.php" 2767 | ] 2768 | }, 2769 | "notification-url": "https://packagist.org/downloads/", 2770 | "license": [ 2771 | "MIT" 2772 | ], 2773 | "authors": [ 2774 | { 2775 | "name": "Nicolas Grekas", 2776 | "email": "p@tchwork.com" 2777 | }, 2778 | { 2779 | "name": "Symfony Community", 2780 | "homepage": "https://symfony.com/contributors" 2781 | } 2782 | ], 2783 | "description": "Symfony polyfill for the Mbstring extension", 2784 | "homepage": "https://symfony.com", 2785 | "keywords": [ 2786 | "compatibility", 2787 | "mbstring", 2788 | "polyfill", 2789 | "portable", 2790 | "shim" 2791 | ], 2792 | "funding": [ 2793 | { 2794 | "url": "https://symfony.com/sponsor", 2795 | "type": "custom" 2796 | }, 2797 | { 2798 | "url": "https://github.com/fabpot", 2799 | "type": "github" 2800 | }, 2801 | { 2802 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 2803 | "type": "tidelift" 2804 | } 2805 | ], 2806 | "time": "2020-10-23T14:02:19+00:00" 2807 | }, 2808 | { 2809 | "name": "symfony/polyfill-php72", 2810 | "version": "v1.20.0", 2811 | "source": { 2812 | "type": "git", 2813 | "url": "https://github.com/symfony/polyfill-php72.git", 2814 | "reference": "cede45fcdfabdd6043b3592e83678e42ec69e930" 2815 | }, 2816 | "dist": { 2817 | "type": "zip", 2818 | "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/cede45fcdfabdd6043b3592e83678e42ec69e930", 2819 | "reference": "cede45fcdfabdd6043b3592e83678e42ec69e930", 2820 | "shasum": "" 2821 | }, 2822 | "require": { 2823 | "php": ">=7.1" 2824 | }, 2825 | "type": "library", 2826 | "extra": { 2827 | "branch-alias": { 2828 | "dev-main": "1.20-dev" 2829 | }, 2830 | "thanks": { 2831 | "name": "symfony/polyfill", 2832 | "url": "https://github.com/symfony/polyfill" 2833 | } 2834 | }, 2835 | "autoload": { 2836 | "psr-4": { 2837 | "Symfony\\Polyfill\\Php72\\": "" 2838 | }, 2839 | "files": [ 2840 | "bootstrap.php" 2841 | ] 2842 | }, 2843 | "notification-url": "https://packagist.org/downloads/", 2844 | "license": [ 2845 | "MIT" 2846 | ], 2847 | "authors": [ 2848 | { 2849 | "name": "Nicolas Grekas", 2850 | "email": "p@tchwork.com" 2851 | }, 2852 | { 2853 | "name": "Symfony Community", 2854 | "homepage": "https://symfony.com/contributors" 2855 | } 2856 | ], 2857 | "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", 2858 | "homepage": "https://symfony.com", 2859 | "keywords": [ 2860 | "compatibility", 2861 | "polyfill", 2862 | "portable", 2863 | "shim" 2864 | ], 2865 | "funding": [ 2866 | { 2867 | "url": "https://symfony.com/sponsor", 2868 | "type": "custom" 2869 | }, 2870 | { 2871 | "url": "https://github.com/fabpot", 2872 | "type": "github" 2873 | }, 2874 | { 2875 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 2876 | "type": "tidelift" 2877 | } 2878 | ], 2879 | "time": "2020-10-23T14:02:19+00:00" 2880 | }, 2881 | { 2882 | "name": "symfony/polyfill-php73", 2883 | "version": "v1.20.0", 2884 | "source": { 2885 | "type": "git", 2886 | "url": "https://github.com/symfony/polyfill-php73.git", 2887 | "reference": "8ff431c517be11c78c48a39a66d37431e26a6bed" 2888 | }, 2889 | "dist": { 2890 | "type": "zip", 2891 | "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/8ff431c517be11c78c48a39a66d37431e26a6bed", 2892 | "reference": "8ff431c517be11c78c48a39a66d37431e26a6bed", 2893 | "shasum": "" 2894 | }, 2895 | "require": { 2896 | "php": ">=7.1" 2897 | }, 2898 | "type": "library", 2899 | "extra": { 2900 | "branch-alias": { 2901 | "dev-main": "1.20-dev" 2902 | }, 2903 | "thanks": { 2904 | "name": "symfony/polyfill", 2905 | "url": "https://github.com/symfony/polyfill" 2906 | } 2907 | }, 2908 | "autoload": { 2909 | "psr-4": { 2910 | "Symfony\\Polyfill\\Php73\\": "" 2911 | }, 2912 | "files": [ 2913 | "bootstrap.php" 2914 | ], 2915 | "classmap": [ 2916 | "Resources/stubs" 2917 | ] 2918 | }, 2919 | "notification-url": "https://packagist.org/downloads/", 2920 | "license": [ 2921 | "MIT" 2922 | ], 2923 | "authors": [ 2924 | { 2925 | "name": "Nicolas Grekas", 2926 | "email": "p@tchwork.com" 2927 | }, 2928 | { 2929 | "name": "Symfony Community", 2930 | "homepage": "https://symfony.com/contributors" 2931 | } 2932 | ], 2933 | "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", 2934 | "homepage": "https://symfony.com", 2935 | "keywords": [ 2936 | "compatibility", 2937 | "polyfill", 2938 | "portable", 2939 | "shim" 2940 | ], 2941 | "funding": [ 2942 | { 2943 | "url": "https://symfony.com/sponsor", 2944 | "type": "custom" 2945 | }, 2946 | { 2947 | "url": "https://github.com/fabpot", 2948 | "type": "github" 2949 | }, 2950 | { 2951 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 2952 | "type": "tidelift" 2953 | } 2954 | ], 2955 | "time": "2020-10-23T14:02:19+00:00" 2956 | }, 2957 | { 2958 | "name": "symfony/polyfill-php80", 2959 | "version": "v1.20.0", 2960 | "source": { 2961 | "type": "git", 2962 | "url": "https://github.com/symfony/polyfill-php80.git", 2963 | "reference": "e70aa8b064c5b72d3df2abd5ab1e90464ad009de" 2964 | }, 2965 | "dist": { 2966 | "type": "zip", 2967 | "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/e70aa8b064c5b72d3df2abd5ab1e90464ad009de", 2968 | "reference": "e70aa8b064c5b72d3df2abd5ab1e90464ad009de", 2969 | "shasum": "" 2970 | }, 2971 | "require": { 2972 | "php": ">=7.1" 2973 | }, 2974 | "type": "library", 2975 | "extra": { 2976 | "branch-alias": { 2977 | "dev-main": "1.20-dev" 2978 | }, 2979 | "thanks": { 2980 | "name": "symfony/polyfill", 2981 | "url": "https://github.com/symfony/polyfill" 2982 | } 2983 | }, 2984 | "autoload": { 2985 | "psr-4": { 2986 | "Symfony\\Polyfill\\Php80\\": "" 2987 | }, 2988 | "files": [ 2989 | "bootstrap.php" 2990 | ], 2991 | "classmap": [ 2992 | "Resources/stubs" 2993 | ] 2994 | }, 2995 | "notification-url": "https://packagist.org/downloads/", 2996 | "license": [ 2997 | "MIT" 2998 | ], 2999 | "authors": [ 3000 | { 3001 | "name": "Ion Bazan", 3002 | "email": "ion.bazan@gmail.com" 3003 | }, 3004 | { 3005 | "name": "Nicolas Grekas", 3006 | "email": "p@tchwork.com" 3007 | }, 3008 | { 3009 | "name": "Symfony Community", 3010 | "homepage": "https://symfony.com/contributors" 3011 | } 3012 | ], 3013 | "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", 3014 | "homepage": "https://symfony.com", 3015 | "keywords": [ 3016 | "compatibility", 3017 | "polyfill", 3018 | "portable", 3019 | "shim" 3020 | ], 3021 | "funding": [ 3022 | { 3023 | "url": "https://symfony.com/sponsor", 3024 | "type": "custom" 3025 | }, 3026 | { 3027 | "url": "https://github.com/fabpot", 3028 | "type": "github" 3029 | }, 3030 | { 3031 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 3032 | "type": "tidelift" 3033 | } 3034 | ], 3035 | "time": "2020-10-23T14:02:19+00:00" 3036 | }, 3037 | { 3038 | "name": "symfony/process", 3039 | "version": "v4.4.15", 3040 | "source": { 3041 | "type": "git", 3042 | "url": "https://github.com/symfony/process.git", 3043 | "reference": "9b887acc522935f77555ae8813495958c7771ba7" 3044 | }, 3045 | "dist": { 3046 | "type": "zip", 3047 | "url": "https://api.github.com/repos/symfony/process/zipball/9b887acc522935f77555ae8813495958c7771ba7", 3048 | "reference": "9b887acc522935f77555ae8813495958c7771ba7", 3049 | "shasum": "" 3050 | }, 3051 | "require": { 3052 | "php": ">=7.1.3" 3053 | }, 3054 | "type": "library", 3055 | "extra": { 3056 | "branch-alias": { 3057 | "dev-master": "4.4-dev" 3058 | } 3059 | }, 3060 | "autoload": { 3061 | "psr-4": { 3062 | "Symfony\\Component\\Process\\": "" 3063 | }, 3064 | "exclude-from-classmap": [ 3065 | "/Tests/" 3066 | ] 3067 | }, 3068 | "notification-url": "https://packagist.org/downloads/", 3069 | "license": [ 3070 | "MIT" 3071 | ], 3072 | "authors": [ 3073 | { 3074 | "name": "Fabien Potencier", 3075 | "email": "fabien@symfony.com" 3076 | }, 3077 | { 3078 | "name": "Symfony Community", 3079 | "homepage": "https://symfony.com/contributors" 3080 | } 3081 | ], 3082 | "description": "Symfony Process Component", 3083 | "homepage": "https://symfony.com", 3084 | "funding": [ 3085 | { 3086 | "url": "https://symfony.com/sponsor", 3087 | "type": "custom" 3088 | }, 3089 | { 3090 | "url": "https://github.com/fabpot", 3091 | "type": "github" 3092 | }, 3093 | { 3094 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 3095 | "type": "tidelift" 3096 | } 3097 | ], 3098 | "time": "2020-09-02T16:08:58+00:00" 3099 | }, 3100 | { 3101 | "name": "symfony/service-contracts", 3102 | "version": "v2.2.0", 3103 | "source": { 3104 | "type": "git", 3105 | "url": "https://github.com/symfony/service-contracts.git", 3106 | "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1" 3107 | }, 3108 | "dist": { 3109 | "type": "zip", 3110 | "url": "https://api.github.com/repos/symfony/service-contracts/zipball/d15da7ba4957ffb8f1747218be9e1a121fd298a1", 3111 | "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1", 3112 | "shasum": "" 3113 | }, 3114 | "require": { 3115 | "php": ">=7.2.5", 3116 | "psr/container": "^1.0" 3117 | }, 3118 | "suggest": { 3119 | "symfony/service-implementation": "" 3120 | }, 3121 | "type": "library", 3122 | "extra": { 3123 | "branch-alias": { 3124 | "dev-master": "2.2-dev" 3125 | }, 3126 | "thanks": { 3127 | "name": "symfony/contracts", 3128 | "url": "https://github.com/symfony/contracts" 3129 | } 3130 | }, 3131 | "autoload": { 3132 | "psr-4": { 3133 | "Symfony\\Contracts\\Service\\": "" 3134 | } 3135 | }, 3136 | "notification-url": "https://packagist.org/downloads/", 3137 | "license": [ 3138 | "MIT" 3139 | ], 3140 | "authors": [ 3141 | { 3142 | "name": "Nicolas Grekas", 3143 | "email": "p@tchwork.com" 3144 | }, 3145 | { 3146 | "name": "Symfony Community", 3147 | "homepage": "https://symfony.com/contributors" 3148 | } 3149 | ], 3150 | "description": "Generic abstractions related to writing services", 3151 | "homepage": "https://symfony.com", 3152 | "keywords": [ 3153 | "abstractions", 3154 | "contracts", 3155 | "decoupling", 3156 | "interfaces", 3157 | "interoperability", 3158 | "standards" 3159 | ], 3160 | "funding": [ 3161 | { 3162 | "url": "https://symfony.com/sponsor", 3163 | "type": "custom" 3164 | }, 3165 | { 3166 | "url": "https://github.com/fabpot", 3167 | "type": "github" 3168 | }, 3169 | { 3170 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 3171 | "type": "tidelift" 3172 | } 3173 | ], 3174 | "time": "2020-09-07T11:33:47+00:00" 3175 | }, 3176 | { 3177 | "name": "symfony/yaml", 3178 | "version": "v4.4.15", 3179 | "source": { 3180 | "type": "git", 3181 | "url": "https://github.com/symfony/yaml.git", 3182 | "reference": "c7885964b1eceb70b0981556d0a9b01d2d97c8d1" 3183 | }, 3184 | "dist": { 3185 | "type": "zip", 3186 | "url": "https://api.github.com/repos/symfony/yaml/zipball/c7885964b1eceb70b0981556d0a9b01d2d97c8d1", 3187 | "reference": "c7885964b1eceb70b0981556d0a9b01d2d97c8d1", 3188 | "shasum": "" 3189 | }, 3190 | "require": { 3191 | "php": ">=7.1.3", 3192 | "symfony/polyfill-ctype": "~1.8" 3193 | }, 3194 | "conflict": { 3195 | "symfony/console": "<3.4" 3196 | }, 3197 | "require-dev": { 3198 | "symfony/console": "^3.4|^4.0|^5.0" 3199 | }, 3200 | "suggest": { 3201 | "symfony/console": "For validating YAML files using the lint command" 3202 | }, 3203 | "type": "library", 3204 | "extra": { 3205 | "branch-alias": { 3206 | "dev-master": "4.4-dev" 3207 | } 3208 | }, 3209 | "autoload": { 3210 | "psr-4": { 3211 | "Symfony\\Component\\Yaml\\": "" 3212 | }, 3213 | "exclude-from-classmap": [ 3214 | "/Tests/" 3215 | ] 3216 | }, 3217 | "notification-url": "https://packagist.org/downloads/", 3218 | "license": [ 3219 | "MIT" 3220 | ], 3221 | "authors": [ 3222 | { 3223 | "name": "Fabien Potencier", 3224 | "email": "fabien@symfony.com" 3225 | }, 3226 | { 3227 | "name": "Symfony Community", 3228 | "homepage": "https://symfony.com/contributors" 3229 | } 3230 | ], 3231 | "description": "Symfony Yaml Component", 3232 | "homepage": "https://symfony.com", 3233 | "funding": [ 3234 | { 3235 | "url": "https://symfony.com/sponsor", 3236 | "type": "custom" 3237 | }, 3238 | { 3239 | "url": "https://github.com/fabpot", 3240 | "type": "github" 3241 | }, 3242 | { 3243 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", 3244 | "type": "tidelift" 3245 | } 3246 | ], 3247 | "time": "2020-09-27T03:36:23+00:00" 3248 | }, 3249 | { 3250 | "name": "theseer/tokenizer", 3251 | "version": "1.2.0", 3252 | "source": { 3253 | "type": "git", 3254 | "url": "https://github.com/theseer/tokenizer.git", 3255 | "reference": "75a63c33a8577608444246075ea0af0d052e452a" 3256 | }, 3257 | "dist": { 3258 | "type": "zip", 3259 | "url": "https://api.github.com/repos/theseer/tokenizer/zipball/75a63c33a8577608444246075ea0af0d052e452a", 3260 | "reference": "75a63c33a8577608444246075ea0af0d052e452a", 3261 | "shasum": "" 3262 | }, 3263 | "require": { 3264 | "ext-dom": "*", 3265 | "ext-tokenizer": "*", 3266 | "ext-xmlwriter": "*", 3267 | "php": "^7.2 || ^8.0" 3268 | }, 3269 | "type": "library", 3270 | "autoload": { 3271 | "classmap": [ 3272 | "src/" 3273 | ] 3274 | }, 3275 | "notification-url": "https://packagist.org/downloads/", 3276 | "license": [ 3277 | "BSD-3-Clause" 3278 | ], 3279 | "authors": [ 3280 | { 3281 | "name": "Arne Blankerts", 3282 | "email": "arne@blankerts.de", 3283 | "role": "Developer" 3284 | } 3285 | ], 3286 | "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", 3287 | "funding": [ 3288 | { 3289 | "url": "https://github.com/theseer", 3290 | "type": "github" 3291 | } 3292 | ], 3293 | "time": "2020-07-12T23:59:07+00:00" 3294 | }, 3295 | { 3296 | "name": "webmozart/assert", 3297 | "version": "1.9.1", 3298 | "source": { 3299 | "type": "git", 3300 | "url": "https://github.com/webmozart/assert.git", 3301 | "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389" 3302 | }, 3303 | "dist": { 3304 | "type": "zip", 3305 | "url": "https://api.github.com/repos/webmozart/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389", 3306 | "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389", 3307 | "shasum": "" 3308 | }, 3309 | "require": { 3310 | "php": "^5.3.3 || ^7.0 || ^8.0", 3311 | "symfony/polyfill-ctype": "^1.8" 3312 | }, 3313 | "conflict": { 3314 | "phpstan/phpstan": "<0.12.20", 3315 | "vimeo/psalm": "<3.9.1" 3316 | }, 3317 | "require-dev": { 3318 | "phpunit/phpunit": "^4.8.36 || ^7.5.13" 3319 | }, 3320 | "type": "library", 3321 | "autoload": { 3322 | "psr-4": { 3323 | "Webmozart\\Assert\\": "src/" 3324 | } 3325 | }, 3326 | "notification-url": "https://packagist.org/downloads/", 3327 | "license": [ 3328 | "MIT" 3329 | ], 3330 | "authors": [ 3331 | { 3332 | "name": "Bernhard Schussek", 3333 | "email": "bschussek@gmail.com" 3334 | } 3335 | ], 3336 | "description": "Assertions to validate method input/output with nice error messages.", 3337 | "keywords": [ 3338 | "assert", 3339 | "check", 3340 | "validate" 3341 | ], 3342 | "time": "2020-07-08T17:02:28+00:00" 3343 | } 3344 | ], 3345 | "packages-dev": [ 3346 | { 3347 | "name": "composer/semver", 3348 | "version": "3.2.2", 3349 | "source": { 3350 | "type": "git", 3351 | "url": "https://github.com/composer/semver.git", 3352 | "reference": "4089fddb67bcf6bf860d91b979e95be303835002" 3353 | }, 3354 | "dist": { 3355 | "type": "zip", 3356 | "url": "https://api.github.com/repos/composer/semver/zipball/4089fddb67bcf6bf860d91b979e95be303835002", 3357 | "reference": "4089fddb67bcf6bf860d91b979e95be303835002", 3358 | "shasum": "" 3359 | }, 3360 | "require": { 3361 | "php": "^5.3.2 || ^7.0 || ^8.0" 3362 | }, 3363 | "require-dev": { 3364 | "phpstan/phpstan": "^0.12.19", 3365 | "symfony/phpunit-bridge": "^4.2 || ^5" 3366 | }, 3367 | "type": "library", 3368 | "extra": { 3369 | "branch-alias": { 3370 | "dev-main": "3.x-dev" 3371 | } 3372 | }, 3373 | "autoload": { 3374 | "psr-4": { 3375 | "Composer\\Semver\\": "src" 3376 | } 3377 | }, 3378 | "notification-url": "https://packagist.org/downloads/", 3379 | "license": [ 3380 | "MIT" 3381 | ], 3382 | "authors": [ 3383 | { 3384 | "name": "Nils Adermann", 3385 | "email": "naderman@naderman.de", 3386 | "homepage": "http://www.naderman.de" 3387 | }, 3388 | { 3389 | "name": "Jordi Boggiano", 3390 | "email": "j.boggiano@seld.be", 3391 | "homepage": "http://seld.be" 3392 | }, 3393 | { 3394 | "name": "Rob Bast", 3395 | "email": "rob.bast@gmail.com", 3396 | "homepage": "http://robbast.nl" 3397 | } 3398 | ], 3399 | "description": "Semver library that offers utilities, version constraint parsing and validation.", 3400 | "keywords": [ 3401 | "semantic", 3402 | "semver", 3403 | "validation", 3404 | "versioning" 3405 | ], 3406 | "funding": [ 3407 | { 3408 | "url": "https://packagist.com", 3409 | "type": "custom" 3410 | }, 3411 | { 3412 | "url": "https://github.com/composer", 3413 | "type": "github" 3414 | }, 3415 | { 3416 | "url": "https://tidelift.com/funding/github/packagist/composer/composer", 3417 | "type": "tidelift" 3418 | } 3419 | ], 3420 | "time": "2020-10-14T08:51:15+00:00" 3421 | }, 3422 | { 3423 | "name": "composer/xdebug-handler", 3424 | "version": "1.4.4", 3425 | "source": { 3426 | "type": "git", 3427 | "url": "https://github.com/composer/xdebug-handler.git", 3428 | "reference": "6e076a124f7ee146f2487554a94b6a19a74887ba" 3429 | }, 3430 | "dist": { 3431 | "type": "zip", 3432 | "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/6e076a124f7ee146f2487554a94b6a19a74887ba", 3433 | "reference": "6e076a124f7ee146f2487554a94b6a19a74887ba", 3434 | "shasum": "" 3435 | }, 3436 | "require": { 3437 | "php": "^5.3.2 || ^7.0 || ^8.0", 3438 | "psr/log": "^1.0" 3439 | }, 3440 | "require-dev": { 3441 | "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 8" 3442 | }, 3443 | "type": "library", 3444 | "autoload": { 3445 | "psr-4": { 3446 | "Composer\\XdebugHandler\\": "src" 3447 | } 3448 | }, 3449 | "notification-url": "https://packagist.org/downloads/", 3450 | "license": [ 3451 | "MIT" 3452 | ], 3453 | "authors": [ 3454 | { 3455 | "name": "John Stevenson", 3456 | "email": "john-stevenson@blueyonder.co.uk" 3457 | } 3458 | ], 3459 | "description": "Restarts a process without Xdebug.", 3460 | "keywords": [ 3461 | "Xdebug", 3462 | "performance" 3463 | ], 3464 | "funding": [ 3465 | { 3466 | "url": "https://packagist.com", 3467 | "type": "custom" 3468 | }, 3469 | { 3470 | "url": "https://github.com/composer", 3471 | "type": "github" 3472 | }, 3473 | { 3474 | "url": "https://tidelift.com/funding/github/packagist/composer/composer", 3475 | "type": "tidelift" 3476 | } 3477 | ], 3478 | "time": "2020-10-24T12:39:10+00:00" 3479 | }, 3480 | { 3481 | "name": "felixfbecker/advanced-json-rpc", 3482 | "version": "v3.1.1", 3483 | "source": { 3484 | "type": "git", 3485 | "url": "https://github.com/felixfbecker/php-advanced-json-rpc.git", 3486 | "reference": "0ed363f8de17d284d479ec813c9ad3f6834b5c40" 3487 | }, 3488 | "dist": { 3489 | "type": "zip", 3490 | "url": "https://api.github.com/repos/felixfbecker/php-advanced-json-rpc/zipball/0ed363f8de17d284d479ec813c9ad3f6834b5c40", 3491 | "reference": "0ed363f8de17d284d479ec813c9ad3f6834b5c40", 3492 | "shasum": "" 3493 | }, 3494 | "require": { 3495 | "netresearch/jsonmapper": "^1.0 || ^2.0", 3496 | "php": ">=7.0", 3497 | "phpdocumentor/reflection-docblock": "^4.0.0 || ^5.0.0" 3498 | }, 3499 | "require-dev": { 3500 | "phpunit/phpunit": "^6.0.0" 3501 | }, 3502 | "type": "library", 3503 | "autoload": { 3504 | "psr-4": { 3505 | "AdvancedJsonRpc\\": "lib/" 3506 | } 3507 | }, 3508 | "notification-url": "https://packagist.org/downloads/", 3509 | "license": [ 3510 | "ISC" 3511 | ], 3512 | "authors": [ 3513 | { 3514 | "name": "Felix Becker", 3515 | "email": "felix.b@outlook.com" 3516 | } 3517 | ], 3518 | "description": "A more advanced JSONRPC implementation", 3519 | "time": "2020-03-11T15:21:41+00:00" 3520 | }, 3521 | { 3522 | "name": "microsoft/tolerant-php-parser", 3523 | "version": "v0.0.23", 3524 | "source": { 3525 | "type": "git", 3526 | "url": "https://github.com/microsoft/tolerant-php-parser.git", 3527 | "reference": "1d76657e3271754515ace52501d3e427eca42ad0" 3528 | }, 3529 | "dist": { 3530 | "type": "zip", 3531 | "url": "https://api.github.com/repos/microsoft/tolerant-php-parser/zipball/1d76657e3271754515ace52501d3e427eca42ad0", 3532 | "reference": "1d76657e3271754515ace52501d3e427eca42ad0", 3533 | "shasum": "" 3534 | }, 3535 | "require": { 3536 | "php": ">=7.0" 3537 | }, 3538 | "require-dev": { 3539 | "phpunit/phpunit": "^6.4" 3540 | }, 3541 | "type": "library", 3542 | "autoload": { 3543 | "psr-4": { 3544 | "Microsoft\\PhpParser\\": [ 3545 | "src/" 3546 | ] 3547 | } 3548 | }, 3549 | "notification-url": "https://packagist.org/downloads/", 3550 | "license": [ 3551 | "MIT" 3552 | ], 3553 | "authors": [ 3554 | { 3555 | "name": "Rob Lourens", 3556 | "email": "roblou@microsoft.com" 3557 | } 3558 | ], 3559 | "description": "Tolerant PHP-to-AST parser designed for IDE usage scenarios", 3560 | "time": "2020-09-13T17:29:12+00:00" 3561 | }, 3562 | { 3563 | "name": "netresearch/jsonmapper", 3564 | "version": "v2.1.0", 3565 | "source": { 3566 | "type": "git", 3567 | "url": "https://github.com/cweiske/jsonmapper.git", 3568 | "reference": "e0f1e33a71587aca81be5cffbb9746510e1fe04e" 3569 | }, 3570 | "dist": { 3571 | "type": "zip", 3572 | "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/e0f1e33a71587aca81be5cffbb9746510e1fe04e", 3573 | "reference": "e0f1e33a71587aca81be5cffbb9746510e1fe04e", 3574 | "shasum": "" 3575 | }, 3576 | "require": { 3577 | "ext-json": "*", 3578 | "ext-pcre": "*", 3579 | "ext-reflection": "*", 3580 | "ext-spl": "*", 3581 | "php": ">=5.6" 3582 | }, 3583 | "require-dev": { 3584 | "phpunit/phpunit": "~4.8.35 || ~5.7 || ~6.4 || ~7.0", 3585 | "squizlabs/php_codesniffer": "~3.5" 3586 | }, 3587 | "type": "library", 3588 | "autoload": { 3589 | "psr-0": { 3590 | "JsonMapper": "src/" 3591 | } 3592 | }, 3593 | "notification-url": "https://packagist.org/downloads/", 3594 | "license": [ 3595 | "OSL-3.0" 3596 | ], 3597 | "authors": [ 3598 | { 3599 | "name": "Christian Weiske", 3600 | "email": "cweiske@cweiske.de", 3601 | "homepage": "http://github.com/cweiske/jsonmapper/", 3602 | "role": "Developer" 3603 | } 3604 | ], 3605 | "description": "Map nested JSON structures onto PHP classes", 3606 | "time": "2020-04-16T18:48:43+00:00" 3607 | }, 3608 | { 3609 | "name": "phan/phan", 3610 | "version": "3.2.3", 3611 | "source": { 3612 | "type": "git", 3613 | "url": "https://github.com/phan/phan.git", 3614 | "reference": "fa98748d8cb130e159317cb8ed4af3ddd19092eb" 3615 | }, 3616 | "dist": { 3617 | "type": "zip", 3618 | "url": "https://api.github.com/repos/phan/phan/zipball/fa98748d8cb130e159317cb8ed4af3ddd19092eb", 3619 | "reference": "fa98748d8cb130e159317cb8ed4af3ddd19092eb", 3620 | "shasum": "" 3621 | }, 3622 | "require": { 3623 | "composer/semver": "^1.4|^2.0|^3.0", 3624 | "composer/xdebug-handler": "^1.3.2", 3625 | "ext-filter": "*", 3626 | "ext-json": "*", 3627 | "ext-tokenizer": "*", 3628 | "felixfbecker/advanced-json-rpc": "^3.0.4", 3629 | "microsoft/tolerant-php-parser": "0.0.23", 3630 | "netresearch/jsonmapper": "^1.6.0|^2.0|^3.0", 3631 | "php": "^7.2.0|^8.0.0", 3632 | "sabre/event": "^5.0.3", 3633 | "symfony/console": "^3.2|^4.0|^5.0", 3634 | "symfony/polyfill-mbstring": "^1.11.0" 3635 | }, 3636 | "require-dev": { 3637 | "phpunit/phpunit": "^8.5.0" 3638 | }, 3639 | "suggest": { 3640 | "ext-ast": "Needed for parsing ASTs (unless --use-fallback-parser is used). 1.0.1+ is needed, 1.0.8+ is recommended.", 3641 | "ext-iconv": "Either iconv or mbstring is needed to ensure issue messages are valid utf-8", 3642 | "ext-igbinary": "Improves performance of polyfill when ext-ast is unavailable", 3643 | "ext-mbstring": "Either iconv or mbstring is needed to ensure issue messages are valid utf-8", 3644 | "ext-tokenizer": "Needed for fallback/polyfill parser support and file/line-based suppressions." 3645 | }, 3646 | "bin": [ 3647 | "phan", 3648 | "phan_client", 3649 | "tocheckstyle" 3650 | ], 3651 | "type": "project", 3652 | "autoload": { 3653 | "psr-4": { 3654 | "Phan\\": "src/Phan" 3655 | } 3656 | }, 3657 | "notification-url": "https://packagist.org/downloads/", 3658 | "license": [ 3659 | "MIT" 3660 | ], 3661 | "authors": [ 3662 | { 3663 | "name": "Tyson Andre" 3664 | }, 3665 | { 3666 | "name": "Rasmus Lerdorf" 3667 | }, 3668 | { 3669 | "name": "Andrew S. Morrison" 3670 | } 3671 | ], 3672 | "description": "A static analyzer for PHP", 3673 | "keywords": [ 3674 | "analyzer", 3675 | "php", 3676 | "static" 3677 | ], 3678 | "time": "2020-10-12T16:23:28+00:00" 3679 | }, 3680 | { 3681 | "name": "psr/log", 3682 | "version": "1.1.3", 3683 | "source": { 3684 | "type": "git", 3685 | "url": "https://github.com/php-fig/log.git", 3686 | "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc" 3687 | }, 3688 | "dist": { 3689 | "type": "zip", 3690 | "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc", 3691 | "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc", 3692 | "shasum": "" 3693 | }, 3694 | "require": { 3695 | "php": ">=5.3.0" 3696 | }, 3697 | "type": "library", 3698 | "extra": { 3699 | "branch-alias": { 3700 | "dev-master": "1.1.x-dev" 3701 | } 3702 | }, 3703 | "autoload": { 3704 | "psr-4": { 3705 | "Psr\\Log\\": "Psr/Log/" 3706 | } 3707 | }, 3708 | "notification-url": "https://packagist.org/downloads/", 3709 | "license": [ 3710 | "MIT" 3711 | ], 3712 | "authors": [ 3713 | { 3714 | "name": "PHP-FIG", 3715 | "homepage": "http://www.php-fig.org/" 3716 | } 3717 | ], 3718 | "description": "Common interface for logging libraries", 3719 | "homepage": "https://github.com/php-fig/log", 3720 | "keywords": [ 3721 | "log", 3722 | "psr", 3723 | "psr-3" 3724 | ], 3725 | "time": "2020-03-23T09:12:05+00:00" 3726 | }, 3727 | { 3728 | "name": "sabre/event", 3729 | "version": "5.1.2", 3730 | "source": { 3731 | "type": "git", 3732 | "url": "https://github.com/sabre-io/event.git", 3733 | "reference": "c120bec57c17b6251a496efc82b732418b49d50a" 3734 | }, 3735 | "dist": { 3736 | "type": "zip", 3737 | "url": "https://api.github.com/repos/sabre-io/event/zipball/c120bec57c17b6251a496efc82b732418b49d50a", 3738 | "reference": "c120bec57c17b6251a496efc82b732418b49d50a", 3739 | "shasum": "" 3740 | }, 3741 | "require": { 3742 | "php": "^7.1 || ^8.0" 3743 | }, 3744 | "require-dev": { 3745 | "friendsofphp/php-cs-fixer": "~2.16.1", 3746 | "phpstan/phpstan": "^0.12", 3747 | "phpunit/phpunit": "^7.5 || ^8.5 || ^9.0" 3748 | }, 3749 | "type": "library", 3750 | "autoload": { 3751 | "psr-4": { 3752 | "Sabre\\Event\\": "lib/" 3753 | }, 3754 | "files": [ 3755 | "lib/coroutine.php", 3756 | "lib/Loop/functions.php", 3757 | "lib/Promise/functions.php" 3758 | ] 3759 | }, 3760 | "notification-url": "https://packagist.org/downloads/", 3761 | "license": [ 3762 | "BSD-3-Clause" 3763 | ], 3764 | "authors": [ 3765 | { 3766 | "name": "Evert Pot", 3767 | "email": "me@evertpot.com", 3768 | "homepage": "http://evertpot.com/", 3769 | "role": "Developer" 3770 | } 3771 | ], 3772 | "description": "sabre/event is a library for lightweight event-based programming", 3773 | "homepage": "http://sabre.io/event/", 3774 | "keywords": [ 3775 | "EventEmitter", 3776 | "async", 3777 | "coroutine", 3778 | "eventloop", 3779 | "events", 3780 | "hooks", 3781 | "plugin", 3782 | "promise", 3783 | "reactor", 3784 | "signal" 3785 | ], 3786 | "time": "2020-10-03T11:02:22+00:00" 3787 | }, 3788 | { 3789 | "name": "squizlabs/php_codesniffer", 3790 | "version": "3.5.8", 3791 | "source": { 3792 | "type": "git", 3793 | "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", 3794 | "reference": "9d583721a7157ee997f235f327de038e7ea6dac4" 3795 | }, 3796 | "dist": { 3797 | "type": "zip", 3798 | "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/9d583721a7157ee997f235f327de038e7ea6dac4", 3799 | "reference": "9d583721a7157ee997f235f327de038e7ea6dac4", 3800 | "shasum": "" 3801 | }, 3802 | "require": { 3803 | "ext-simplexml": "*", 3804 | "ext-tokenizer": "*", 3805 | "ext-xmlwriter": "*", 3806 | "php": ">=5.4.0" 3807 | }, 3808 | "require-dev": { 3809 | "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0" 3810 | }, 3811 | "bin": [ 3812 | "bin/phpcs", 3813 | "bin/phpcbf" 3814 | ], 3815 | "type": "library", 3816 | "extra": { 3817 | "branch-alias": { 3818 | "dev-master": "3.x-dev" 3819 | } 3820 | }, 3821 | "notification-url": "https://packagist.org/downloads/", 3822 | "license": [ 3823 | "BSD-3-Clause" 3824 | ], 3825 | "authors": [ 3826 | { 3827 | "name": "Greg Sherwood", 3828 | "role": "lead" 3829 | } 3830 | ], 3831 | "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", 3832 | "homepage": "https://github.com/squizlabs/PHP_CodeSniffer", 3833 | "keywords": [ 3834 | "phpcs", 3835 | "standards" 3836 | ], 3837 | "time": "2020-10-23T02:01:07+00:00" 3838 | } 3839 | ], 3840 | "aliases": [], 3841 | "minimum-stability": "stable", 3842 | "stability-flags": [], 3843 | "prefer-stable": false, 3844 | "prefer-lowest": false, 3845 | "platform": { 3846 | "php": ">=5.4.0" 3847 | }, 3848 | "platform-dev": [], 3849 | "plugin-api-version": "1.1.0" 3850 | } 3851 | --------------------------------------------------------------------------------