composer
Signed-off-by: Jeff <jeff@gotenzing.com>
Showing
15 changed files
with
274 additions
and
981 deletions
| ... | @@ -70,9 +70,6 @@ | ... | @@ -70,9 +70,6 @@ |
| 70 | "portable", | 70 | "portable", |
| 71 | "shim" | 71 | "shim" |
| 72 | ], | 72 | ], |
| 73 | "support": { | ||
| 74 | "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0" | ||
| 75 | }, | ||
| 76 | "funding": [ | 73 | "funding": [ |
| 77 | { | 74 | { |
| 78 | "url": "https://symfony.com/sponsor", | 75 | "url": "https://symfony.com/sponsor", |
| ... | @@ -155,9 +152,6 @@ | ... | @@ -155,9 +152,6 @@ |
| 155 | "debug", | 152 | "debug", |
| 156 | "dump" | 153 | "dump" |
| 157 | ], | 154 | ], |
| 158 | "support": { | ||
| 159 | "source": "https://github.com/symfony/var-dumper/tree/v2.8.50" | ||
| 160 | }, | ||
| 161 | "time": "2018-11-11T11:18:13+00:00" | 155 | "time": "2018-11-11T11:18:13+00:00" |
| 162 | }, | 156 | }, |
| 163 | { | 157 | { |
| ... | @@ -204,10 +198,6 @@ | ... | @@ -204,10 +198,6 @@ |
| 204 | "env", | 198 | "env", |
| 205 | "environment" | 199 | "environment" |
| 206 | ], | 200 | ], |
| 207 | "support": { | ||
| 208 | "issues": "https://github.com/vlucas/phpdotenv/issues", | ||
| 209 | "source": "https://github.com/vlucas/phpdotenv/tree/1.1" | ||
| 210 | }, | ||
| 211 | "time": "2015-05-30T15:59:26+00:00" | 201 | "time": "2015-05-30T15:59:26+00:00" |
| 212 | } | 202 | } |
| 213 | ], | 203 | ], |
| ... | @@ -221,5 +211,5 @@ | ... | @@ -221,5 +211,5 @@ |
| 221 | "php": ">=5.4" | 211 | "php": ">=5.4" |
| 222 | }, | 212 | }, |
| 223 | "platform-dev": [], | 213 | "platform-dev": [], |
| 224 | "plugin-api-version": "2.3.0" | 214 | "plugin-api-version": "1.1.0" |
| 225 | } | 215 | } | ... | ... |
No preview for this file type
| ... | @@ -2,24 +2,6 @@ | ... | @@ -2,24 +2,6 @@ |
| 2 | 2 | ||
| 3 | // autoload.php @generated by Composer | 3 | // autoload.php @generated by Composer |
| 4 | 4 | ||
| 5 | if (PHP_VERSION_ID < 50600) { | ||
| 6 | if (!headers_sent()) { | ||
| 7 | header('HTTP/1.1 500 Internal Server Error'); | ||
| 8 | } | ||
| 9 | $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; | ||
| 10 | if (!ini_get('display_errors')) { | ||
| 11 | if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { | ||
| 12 | fwrite(STDERR, $err); | ||
| 13 | } elseif (!headers_sent()) { | ||
| 14 | echo $err; | ||
| 15 | } | ||
| 16 | } | ||
| 17 | trigger_error( | ||
| 18 | $err, | ||
| 19 | E_USER_ERROR | ||
| 20 | ); | ||
| 21 | } | ||
| 22 | |||
| 23 | require_once __DIR__ . '/composer/autoload_real.php'; | 5 | require_once __DIR__ . '/composer/autoload_real.php'; |
| 24 | 6 | ||
| 25 | return ComposerAutoloaderInit03eba1cd2ecc731639bb7ed2e1143f46::getLoader(); | 7 | return ComposerAutoloaderInit4e792a61d8d81319296bf3b53dfc6d3f::getLoader(); | ... | ... |
| ... | @@ -37,84 +37,26 @@ namespace Composer\Autoload; | ... | @@ -37,84 +37,26 @@ namespace Composer\Autoload; |
| 37 | * | 37 | * |
| 38 | * @author Fabien Potencier <fabien@symfony.com> | 38 | * @author Fabien Potencier <fabien@symfony.com> |
| 39 | * @author Jordi Boggiano <j.boggiano@seld.be> | 39 | * @author Jordi Boggiano <j.boggiano@seld.be> |
| 40 | * @see https://www.php-fig.org/psr/psr-0/ | 40 | * @see http://www.php-fig.org/psr/psr-0/ |
| 41 | * @see https://www.php-fig.org/psr/psr-4/ | 41 | * @see http://www.php-fig.org/psr/psr-4/ |
| 42 | */ | 42 | */ |
| 43 | class ClassLoader | 43 | class ClassLoader |
| 44 | { | 44 | { |
| 45 | /** @var \Closure(string):void */ | ||
| 46 | private static $includeFile; | ||
| 47 | |||
| 48 | /** @var ?string */ | ||
| 49 | private $vendorDir; | ||
| 50 | |||
| 51 | // PSR-4 | 45 | // PSR-4 |
| 52 | /** | ||
| 53 | * @var array[] | ||
| 54 | * @psalm-var array<string, array<string, int>> | ||
| 55 | */ | ||
| 56 | private $prefixLengthsPsr4 = array(); | 46 | private $prefixLengthsPsr4 = array(); |
| 57 | /** | ||
| 58 | * @var array[] | ||
| 59 | * @psalm-var array<string, array<int, string>> | ||
| 60 | */ | ||
| 61 | private $prefixDirsPsr4 = array(); | 47 | private $prefixDirsPsr4 = array(); |
| 62 | /** | ||
| 63 | * @var array[] | ||
| 64 | * @psalm-var array<string, string> | ||
| 65 | */ | ||
| 66 | private $fallbackDirsPsr4 = array(); | 48 | private $fallbackDirsPsr4 = array(); |
| 67 | 49 | ||
| 68 | // PSR-0 | 50 | // PSR-0 |
| 69 | /** | ||
| 70 | * @var array[] | ||
| 71 | * @psalm-var array<string, array<string, string[]>> | ||
| 72 | */ | ||
| 73 | private $prefixesPsr0 = array(); | 51 | private $prefixesPsr0 = array(); |
| 74 | /** | ||
| 75 | * @var array[] | ||
| 76 | * @psalm-var array<string, string> | ||
| 77 | */ | ||
| 78 | private $fallbackDirsPsr0 = array(); | 52 | private $fallbackDirsPsr0 = array(); |
| 79 | 53 | ||
| 80 | /** @var bool */ | ||
| 81 | private $useIncludePath = false; | 54 | private $useIncludePath = false; |
| 82 | |||
| 83 | /** | ||
| 84 | * @var string[] | ||
| 85 | * @psalm-var array<string, string> | ||
| 86 | */ | ||
| 87 | private $classMap = array(); | 55 | private $classMap = array(); |
| 88 | |||
| 89 | /** @var bool */ | ||
| 90 | private $classMapAuthoritative = false; | 56 | private $classMapAuthoritative = false; |
| 91 | |||
| 92 | /** | ||
| 93 | * @var bool[] | ||
| 94 | * @psalm-var array<string, bool> | ||
| 95 | */ | ||
| 96 | private $missingClasses = array(); | 57 | private $missingClasses = array(); |
| 97 | |||
| 98 | /** @var ?string */ | ||
| 99 | private $apcuPrefix; | 58 | private $apcuPrefix; |
| 100 | 59 | ||
| 101 | /** | ||
| 102 | * @var self[] | ||
| 103 | */ | ||
| 104 | private static $registeredLoaders = array(); | ||
| 105 | |||
| 106 | /** | ||
| 107 | * @param ?string $vendorDir | ||
| 108 | */ | ||
| 109 | public function __construct($vendorDir = null) | ||
| 110 | { | ||
| 111 | $this->vendorDir = $vendorDir; | ||
| 112 | self::initializeIncludeClosure(); | ||
| 113 | } | ||
| 114 | |||
| 115 | /** | ||
| 116 | * @return string[] | ||
| 117 | */ | ||
| 118 | public function getPrefixes() | 60 | public function getPrefixes() |
| 119 | { | 61 | { |
| 120 | if (!empty($this->prefixesPsr0)) { | 62 | if (!empty($this->prefixesPsr0)) { |
| ... | @@ -124,47 +66,28 @@ class ClassLoader | ... | @@ -124,47 +66,28 @@ class ClassLoader |
| 124 | return array(); | 66 | return array(); |
| 125 | } | 67 | } |
| 126 | 68 | ||
| 127 | /** | ||
| 128 | * @return array[] | ||
| 129 | * @psalm-return array<string, array<int, string>> | ||
| 130 | */ | ||
| 131 | public function getPrefixesPsr4() | 69 | public function getPrefixesPsr4() |
| 132 | { | 70 | { |
| 133 | return $this->prefixDirsPsr4; | 71 | return $this->prefixDirsPsr4; |
| 134 | } | 72 | } |
| 135 | 73 | ||
| 136 | /** | ||
| 137 | * @return array[] | ||
| 138 | * @psalm-return array<string, string> | ||
| 139 | */ | ||
| 140 | public function getFallbackDirs() | 74 | public function getFallbackDirs() |
| 141 | { | 75 | { |
| 142 | return $this->fallbackDirsPsr0; | 76 | return $this->fallbackDirsPsr0; |
| 143 | } | 77 | } |
| 144 | 78 | ||
| 145 | /** | ||
| 146 | * @return array[] | ||
| 147 | * @psalm-return array<string, string> | ||
| 148 | */ | ||
| 149 | public function getFallbackDirsPsr4() | 79 | public function getFallbackDirsPsr4() |
| 150 | { | 80 | { |
| 151 | return $this->fallbackDirsPsr4; | 81 | return $this->fallbackDirsPsr4; |
| 152 | } | 82 | } |
| 153 | 83 | ||
| 154 | /** | ||
| 155 | * @return string[] Array of classname => path | ||
| 156 | * @psalm-return array<string, string> | ||
| 157 | */ | ||
| 158 | public function getClassMap() | 84 | public function getClassMap() |
| 159 | { | 85 | { |
| 160 | return $this->classMap; | 86 | return $this->classMap; |
| 161 | } | 87 | } |
| 162 | 88 | ||
| 163 | /** | 89 | /** |
| 164 | * @param string[] $classMap Class to filename map | 90 | * @param array $classMap Class to filename map |
| 165 | * @psalm-param array<string, string> $classMap | ||
| 166 | * | ||
| 167 | * @return void | ||
| 168 | */ | 91 | */ |
| 169 | public function addClassMap(array $classMap) | 92 | public function addClassMap(array $classMap) |
| 170 | { | 93 | { |
| ... | @@ -179,11 +102,9 @@ class ClassLoader | ... | @@ -179,11 +102,9 @@ class ClassLoader |
| 179 | * Registers a set of PSR-0 directories for a given prefix, either | 102 | * Registers a set of PSR-0 directories for a given prefix, either |
| 180 | * appending or prepending to the ones previously set for this prefix. | 103 | * appending or prepending to the ones previously set for this prefix. |
| 181 | * | 104 | * |
| 182 | * @param string $prefix The prefix | 105 | * @param string $prefix The prefix |
| 183 | * @param string[]|string $paths The PSR-0 root directories | 106 | * @param array|string $paths The PSR-0 root directories |
| 184 | * @param bool $prepend Whether to prepend the directories | 107 | * @param bool $prepend Whether to prepend the directories |
| 185 | * | ||
| 186 | * @return void | ||
| 187 | */ | 108 | */ |
| 188 | public function add($prefix, $paths, $prepend = false) | 109 | public function add($prefix, $paths, $prepend = false) |
| 189 | { | 110 | { |
| ... | @@ -226,13 +147,11 @@ class ClassLoader | ... | @@ -226,13 +147,11 @@ class ClassLoader |
| 226 | * Registers a set of PSR-4 directories for a given namespace, either | 147 | * Registers a set of PSR-4 directories for a given namespace, either |
| 227 | * appending or prepending to the ones previously set for this namespace. | 148 | * appending or prepending to the ones previously set for this namespace. |
| 228 | * | 149 | * |
| 229 | * @param string $prefix The prefix/namespace, with trailing '\\' | 150 | * @param string $prefix The prefix/namespace, with trailing '\\' |
| 230 | * @param string[]|string $paths The PSR-4 base directories | 151 | * @param array|string $paths The PSR-4 base directories |
| 231 | * @param bool $prepend Whether to prepend the directories | 152 | * @param bool $prepend Whether to prepend the directories |
| 232 | * | 153 | * |
| 233 | * @throws \InvalidArgumentException | 154 | * @throws \InvalidArgumentException |
| 234 | * | ||
| 235 | * @return void | ||
| 236 | */ | 155 | */ |
| 237 | public function addPsr4($prefix, $paths, $prepend = false) | 156 | public function addPsr4($prefix, $paths, $prepend = false) |
| 238 | { | 157 | { |
| ... | @@ -276,10 +195,8 @@ class ClassLoader | ... | @@ -276,10 +195,8 @@ class ClassLoader |
| 276 | * Registers a set of PSR-0 directories for a given prefix, | 195 | * Registers a set of PSR-0 directories for a given prefix, |
| 277 | * replacing any others previously set for this prefix. | 196 | * replacing any others previously set for this prefix. |
| 278 | * | 197 | * |
| 279 | * @param string $prefix The prefix | 198 | * @param string $prefix The prefix |
| 280 | * @param string[]|string $paths The PSR-0 base directories | 199 | * @param array|string $paths The PSR-0 base directories |
| 281 | * | ||
| 282 | * @return void | ||
| 283 | */ | 200 | */ |
| 284 | public function set($prefix, $paths) | 201 | public function set($prefix, $paths) |
| 285 | { | 202 | { |
| ... | @@ -294,12 +211,10 @@ class ClassLoader | ... | @@ -294,12 +211,10 @@ class ClassLoader |
| 294 | * Registers a set of PSR-4 directories for a given namespace, | 211 | * Registers a set of PSR-4 directories for a given namespace, |
| 295 | * replacing any others previously set for this namespace. | 212 | * replacing any others previously set for this namespace. |
| 296 | * | 213 | * |
| 297 | * @param string $prefix The prefix/namespace, with trailing '\\' | 214 | * @param string $prefix The prefix/namespace, with trailing '\\' |
| 298 | * @param string[]|string $paths The PSR-4 base directories | 215 | * @param array|string $paths The PSR-4 base directories |
| 299 | * | 216 | * |
| 300 | * @throws \InvalidArgumentException | 217 | * @throws \InvalidArgumentException |
| 301 | * | ||
| 302 | * @return void | ||
| 303 | */ | 218 | */ |
| 304 | public function setPsr4($prefix, $paths) | 219 | public function setPsr4($prefix, $paths) |
| 305 | { | 220 | { |
| ... | @@ -319,8 +234,6 @@ class ClassLoader | ... | @@ -319,8 +234,6 @@ class ClassLoader |
| 319 | * Turns on searching the include path for class files. | 234 | * Turns on searching the include path for class files. |
| 320 | * | 235 | * |
| 321 | * @param bool $useIncludePath | 236 | * @param bool $useIncludePath |
| 322 | * | ||
| 323 | * @return void | ||
| 324 | */ | 237 | */ |
| 325 | public function setUseIncludePath($useIncludePath) | 238 | public function setUseIncludePath($useIncludePath) |
| 326 | { | 239 | { |
| ... | @@ -343,8 +256,6 @@ class ClassLoader | ... | @@ -343,8 +256,6 @@ class ClassLoader |
| 343 | * that have not been registered with the class map. | 256 | * that have not been registered with the class map. |
| 344 | * | 257 | * |
| 345 | * @param bool $classMapAuthoritative | 258 | * @param bool $classMapAuthoritative |
| 346 | * | ||
| 347 | * @return void | ||
| 348 | */ | 259 | */ |
| 349 | public function setClassMapAuthoritative($classMapAuthoritative) | 260 | public function setClassMapAuthoritative($classMapAuthoritative) |
| 350 | { | 261 | { |
| ... | @@ -365,8 +276,6 @@ class ClassLoader | ... | @@ -365,8 +276,6 @@ class ClassLoader |
| 365 | * APCu prefix to use to cache found/not-found classes, if the extension is enabled. | 276 | * APCu prefix to use to cache found/not-found classes, if the extension is enabled. |
| 366 | * | 277 | * |
| 367 | * @param string|null $apcuPrefix | 278 | * @param string|null $apcuPrefix |
| 368 | * | ||
| 369 | * @return void | ||
| 370 | */ | 279 | */ |
| 371 | public function setApcuPrefix($apcuPrefix) | 280 | public function setApcuPrefix($apcuPrefix) |
| 372 | { | 281 | { |
| ... | @@ -387,55 +296,33 @@ class ClassLoader | ... | @@ -387,55 +296,33 @@ class ClassLoader |
| 387 | * Registers this instance as an autoloader. | 296 | * Registers this instance as an autoloader. |
| 388 | * | 297 | * |
| 389 | * @param bool $prepend Whether to prepend the autoloader or not | 298 | * @param bool $prepend Whether to prepend the autoloader or not |
| 390 | * | ||
| 391 | * @return void | ||
| 392 | */ | 299 | */ |
| 393 | public function register($prepend = false) | 300 | public function register($prepend = false) |
| 394 | { | 301 | { |
| 395 | spl_autoload_register(array($this, 'loadClass'), true, $prepend); | 302 | spl_autoload_register(array($this, 'loadClass'), true, $prepend); |
| 396 | |||
| 397 | if (null === $this->vendorDir) { | ||
| 398 | return; | ||
| 399 | } | ||
| 400 | |||
| 401 | if ($prepend) { | ||
| 402 | self::$registeredLoaders = array($this->vendorDir => $this) + self::$registeredLoaders; | ||
| 403 | } else { | ||
| 404 | unset(self::$registeredLoaders[$this->vendorDir]); | ||
| 405 | self::$registeredLoaders[$this->vendorDir] = $this; | ||
| 406 | } | ||
| 407 | } | 303 | } |
| 408 | 304 | ||
| 409 | /** | 305 | /** |
| 410 | * Unregisters this instance as an autoloader. | 306 | * Unregisters this instance as an autoloader. |
| 411 | * | ||
| 412 | * @return void | ||
| 413 | */ | 307 | */ |
| 414 | public function unregister() | 308 | public function unregister() |
| 415 | { | 309 | { |
| 416 | spl_autoload_unregister(array($this, 'loadClass')); | 310 | spl_autoload_unregister(array($this, 'loadClass')); |
| 417 | |||
| 418 | if (null !== $this->vendorDir) { | ||
| 419 | unset(self::$registeredLoaders[$this->vendorDir]); | ||
| 420 | } | ||
| 421 | } | 311 | } |
| 422 | 312 | ||
| 423 | /** | 313 | /** |
| 424 | * Loads the given class or interface. | 314 | * Loads the given class or interface. |
| 425 | * | 315 | * |
| 426 | * @param string $class The name of the class | 316 | * @param string $class The name of the class |
| 427 | * @return true|null True if loaded, null otherwise | 317 | * @return bool|null True if loaded, null otherwise |
| 428 | */ | 318 | */ |
| 429 | public function loadClass($class) | 319 | public function loadClass($class) |
| 430 | { | 320 | { |
| 431 | if ($file = $this->findFile($class)) { | 321 | if ($file = $this->findFile($class)) { |
| 432 | $includeFile = self::$includeFile; | 322 | includeFile($file); |
| 433 | $includeFile($file); | ||
| 434 | 323 | ||
| 435 | return true; | 324 | return true; |
| 436 | } | 325 | } |
| 437 | |||
| 438 | return null; | ||
| 439 | } | 326 | } |
| 440 | 327 | ||
| 441 | /** | 328 | /** |
| ... | @@ -480,21 +367,6 @@ class ClassLoader | ... | @@ -480,21 +367,6 @@ class ClassLoader |
| 480 | return $file; | 367 | return $file; |
| 481 | } | 368 | } |
| 482 | 369 | ||
| 483 | /** | ||
| 484 | * Returns the currently registered loaders indexed by their corresponding vendor directories. | ||
| 485 | * | ||
| 486 | * @return self[] | ||
| 487 | */ | ||
| 488 | public static function getRegisteredLoaders() | ||
| 489 | { | ||
| 490 | return self::$registeredLoaders; | ||
| 491 | } | ||
| 492 | |||
| 493 | /** | ||
| 494 | * @param string $class | ||
| 495 | * @param string $ext | ||
| 496 | * @return string|false | ||
| 497 | */ | ||
| 498 | private function findFileWithExtension($class, $ext) | 370 | private function findFileWithExtension($class, $ext) |
| 499 | { | 371 | { |
| 500 | // PSR-4 lookup | 372 | // PSR-4 lookup |
| ... | @@ -560,26 +432,14 @@ class ClassLoader | ... | @@ -560,26 +432,14 @@ class ClassLoader |
| 560 | 432 | ||
| 561 | return false; | 433 | return false; |
| 562 | } | 434 | } |
| 435 | } | ||
| 563 | 436 | ||
| 564 | /** | 437 | /** |
| 565 | * @return void | 438 | * Scope isolated include. |
| 566 | */ | 439 | * |
| 567 | private static function initializeIncludeClosure() | 440 | * Prevents access to $this/self from included files. |
| 568 | { | 441 | */ |
| 569 | if (self::$includeFile !== null) { | 442 | function includeFile($file) |
| 570 | return; | 443 | { |
| 571 | } | 444 | include $file; |
| 572 | |||
| 573 | /** | ||
| 574 | * Scope isolated include. | ||
| 575 | * | ||
| 576 | * Prevents access to $this/self from included files. | ||
| 577 | * | ||
| 578 | * @param string $file | ||
| 579 | * @return void | ||
| 580 | */ | ||
| 581 | self::$includeFile = \Closure::bind(static function($file) { | ||
| 582 | include $file; | ||
| 583 | }, null, null); | ||
| 584 | } | ||
| 585 | } | 445 | } | ... | ... |
| 1 | <?php | ||
| 2 | |||
| 3 | /* | ||
| 4 | * This file is part of Composer. | ||
| 5 | * | ||
| 6 | * (c) Nils Adermann <naderman@naderman.de> | ||
| 7 | * Jordi Boggiano <j.boggiano@seld.be> | ||
| 8 | * | ||
| 9 | * For the full copyright and license information, please view the LICENSE | ||
| 10 | * file that was distributed with this source code. | ||
| 11 | */ | ||
| 12 | |||
| 13 | namespace Composer; | ||
| 14 | |||
| 15 | use Composer\Autoload\ClassLoader; | ||
| 16 | use Composer\Semver\VersionParser; | ||
| 17 | |||
| 18 | /** | ||
| 19 | * This class is copied in every Composer installed project and available to all | ||
| 20 | * | ||
| 21 | * See also https://getcomposer.org/doc/07-runtime.md#installed-versions | ||
| 22 | * | ||
| 23 | * To require its presence, you can require `composer-runtime-api ^2.0` | ||
| 24 | * | ||
| 25 | * @final | ||
| 26 | */ | ||
| 27 | class InstalledVersions | ||
| 28 | { | ||
| 29 | /** | ||
| 30 | * @var mixed[]|null | ||
| 31 | * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null | ||
| 32 | */ | ||
| 33 | private static $installed; | ||
| 34 | |||
| 35 | /** | ||
| 36 | * @var bool|null | ||
| 37 | */ | ||
| 38 | private static $canGetVendors; | ||
| 39 | |||
| 40 | /** | ||
| 41 | * @var array[] | ||
| 42 | * @psalm-var array<string, array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}> | ||
| 43 | */ | ||
| 44 | private static $installedByVendor = array(); | ||
| 45 | |||
| 46 | /** | ||
| 47 | * Returns a list of all package names which are present, either by being installed, replaced or provided | ||
| 48 | * | ||
| 49 | * @return string[] | ||
| 50 | * @psalm-return list<string> | ||
| 51 | */ | ||
| 52 | public static function getInstalledPackages() | ||
| 53 | { | ||
| 54 | $packages = array(); | ||
| 55 | foreach (self::getInstalled() as $installed) { | ||
| 56 | $packages[] = array_keys($installed['versions']); | ||
| 57 | } | ||
| 58 | |||
| 59 | if (1 === \count($packages)) { | ||
| 60 | return $packages[0]; | ||
| 61 | } | ||
| 62 | |||
| 63 | return array_keys(array_flip(\call_user_func_array('array_merge', $packages))); | ||
| 64 | } | ||
| 65 | |||
| 66 | /** | ||
| 67 | * Returns a list of all package names with a specific type e.g. 'library' | ||
| 68 | * | ||
| 69 | * @param string $type | ||
| 70 | * @return string[] | ||
| 71 | * @psalm-return list<string> | ||
| 72 | */ | ||
| 73 | public static function getInstalledPackagesByType($type) | ||
| 74 | { | ||
| 75 | $packagesByType = array(); | ||
| 76 | |||
| 77 | foreach (self::getInstalled() as $installed) { | ||
| 78 | foreach ($installed['versions'] as $name => $package) { | ||
| 79 | if (isset($package['type']) && $package['type'] === $type) { | ||
| 80 | $packagesByType[] = $name; | ||
| 81 | } | ||
| 82 | } | ||
| 83 | } | ||
| 84 | |||
| 85 | return $packagesByType; | ||
| 86 | } | ||
| 87 | |||
| 88 | /** | ||
| 89 | * Checks whether the given package is installed | ||
| 90 | * | ||
| 91 | * This also returns true if the package name is provided or replaced by another package | ||
| 92 | * | ||
| 93 | * @param string $packageName | ||
| 94 | * @param bool $includeDevRequirements | ||
| 95 | * @return bool | ||
| 96 | */ | ||
| 97 | public static function isInstalled($packageName, $includeDevRequirements = true) | ||
| 98 | { | ||
| 99 | foreach (self::getInstalled() as $installed) { | ||
| 100 | if (isset($installed['versions'][$packageName])) { | ||
| 101 | return $includeDevRequirements || !isset($installed['versions'][$packageName]['dev_requirement']) || $installed['versions'][$packageName]['dev_requirement'] === false; | ||
| 102 | } | ||
| 103 | } | ||
| 104 | |||
| 105 | return false; | ||
| 106 | } | ||
| 107 | |||
| 108 | /** | ||
| 109 | * Checks whether the given package satisfies a version constraint | ||
| 110 | * | ||
| 111 | * e.g. If you want to know whether version 2.3+ of package foo/bar is installed, you would call: | ||
| 112 | * | ||
| 113 | * Composer\InstalledVersions::satisfies(new VersionParser, 'foo/bar', '^2.3') | ||
| 114 | * | ||
| 115 | * @param VersionParser $parser Install composer/semver to have access to this class and functionality | ||
| 116 | * @param string $packageName | ||
| 117 | * @param string|null $constraint A version constraint to check for, if you pass one you have to make sure composer/semver is required by your package | ||
| 118 | * @return bool | ||
| 119 | */ | ||
| 120 | public static function satisfies(VersionParser $parser, $packageName, $constraint) | ||
| 121 | { | ||
| 122 | $constraint = $parser->parseConstraints((string) $constraint); | ||
| 123 | $provided = $parser->parseConstraints(self::getVersionRanges($packageName)); | ||
| 124 | |||
| 125 | return $provided->matches($constraint); | ||
| 126 | } | ||
| 127 | |||
| 128 | /** | ||
| 129 | * Returns a version constraint representing all the range(s) which are installed for a given package | ||
| 130 | * | ||
| 131 | * It is easier to use this via isInstalled() with the $constraint argument if you need to check | ||
| 132 | * whether a given version of a package is installed, and not just whether it exists | ||
| 133 | * | ||
| 134 | * @param string $packageName | ||
| 135 | * @return string Version constraint usable with composer/semver | ||
| 136 | */ | ||
| 137 | public static function getVersionRanges($packageName) | ||
| 138 | { | ||
| 139 | foreach (self::getInstalled() as $installed) { | ||
| 140 | if (!isset($installed['versions'][$packageName])) { | ||
| 141 | continue; | ||
| 142 | } | ||
| 143 | |||
| 144 | $ranges = array(); | ||
| 145 | if (isset($installed['versions'][$packageName]['pretty_version'])) { | ||
| 146 | $ranges[] = $installed['versions'][$packageName]['pretty_version']; | ||
| 147 | } | ||
| 148 | if (array_key_exists('aliases', $installed['versions'][$packageName])) { | ||
| 149 | $ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']); | ||
| 150 | } | ||
| 151 | if (array_key_exists('replaced', $installed['versions'][$packageName])) { | ||
| 152 | $ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']); | ||
| 153 | } | ||
| 154 | if (array_key_exists('provided', $installed['versions'][$packageName])) { | ||
| 155 | $ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']); | ||
| 156 | } | ||
| 157 | |||
| 158 | return implode(' || ', $ranges); | ||
| 159 | } | ||
| 160 | |||
| 161 | throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); | ||
| 162 | } | ||
| 163 | |||
| 164 | /** | ||
| 165 | * @param string $packageName | ||
| 166 | * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present | ||
| 167 | */ | ||
| 168 | public static function getVersion($packageName) | ||
| 169 | { | ||
| 170 | foreach (self::getInstalled() as $installed) { | ||
| 171 | if (!isset($installed['versions'][$packageName])) { | ||
| 172 | continue; | ||
| 173 | } | ||
| 174 | |||
| 175 | if (!isset($installed['versions'][$packageName]['version'])) { | ||
| 176 | return null; | ||
| 177 | } | ||
| 178 | |||
| 179 | return $installed['versions'][$packageName]['version']; | ||
| 180 | } | ||
| 181 | |||
| 182 | throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); | ||
| 183 | } | ||
| 184 | |||
| 185 | /** | ||
| 186 | * @param string $packageName | ||
| 187 | * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present | ||
| 188 | */ | ||
| 189 | public static function getPrettyVersion($packageName) | ||
| 190 | { | ||
| 191 | foreach (self::getInstalled() as $installed) { | ||
| 192 | if (!isset($installed['versions'][$packageName])) { | ||
| 193 | continue; | ||
| 194 | } | ||
| 195 | |||
| 196 | if (!isset($installed['versions'][$packageName]['pretty_version'])) { | ||
| 197 | return null; | ||
| 198 | } | ||
| 199 | |||
| 200 | return $installed['versions'][$packageName]['pretty_version']; | ||
| 201 | } | ||
| 202 | |||
| 203 | throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); | ||
| 204 | } | ||
| 205 | |||
| 206 | /** | ||
| 207 | * @param string $packageName | ||
| 208 | * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as reference | ||
| 209 | */ | ||
| 210 | public static function getReference($packageName) | ||
| 211 | { | ||
| 212 | foreach (self::getInstalled() as $installed) { | ||
| 213 | if (!isset($installed['versions'][$packageName])) { | ||
| 214 | continue; | ||
| 215 | } | ||
| 216 | |||
| 217 | if (!isset($installed['versions'][$packageName]['reference'])) { | ||
| 218 | return null; | ||
| 219 | } | ||
| 220 | |||
| 221 | return $installed['versions'][$packageName]['reference']; | ||
| 222 | } | ||
| 223 | |||
| 224 | throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); | ||
| 225 | } | ||
| 226 | |||
| 227 | /** | ||
| 228 | * @param string $packageName | ||
| 229 | * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as install path. Packages of type metapackages also have a null install path. | ||
| 230 | */ | ||
| 231 | public static function getInstallPath($packageName) | ||
| 232 | { | ||
| 233 | foreach (self::getInstalled() as $installed) { | ||
| 234 | if (!isset($installed['versions'][$packageName])) { | ||
| 235 | continue; | ||
| 236 | } | ||
| 237 | |||
| 238 | return isset($installed['versions'][$packageName]['install_path']) ? $installed['versions'][$packageName]['install_path'] : null; | ||
| 239 | } | ||
| 240 | |||
| 241 | throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); | ||
| 242 | } | ||
| 243 | |||
| 244 | /** | ||
| 245 | * @return array | ||
| 246 | * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool} | ||
| 247 | */ | ||
| 248 | public static function getRootPackage() | ||
| 249 | { | ||
| 250 | $installed = self::getInstalled(); | ||
| 251 | |||
| 252 | return $installed[0]['root']; | ||
| 253 | } | ||
| 254 | |||
| 255 | /** | ||
| 256 | * Returns the raw installed.php data for custom implementations | ||
| 257 | * | ||
| 258 | * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect. | ||
| 259 | * @return array[] | ||
| 260 | * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} | ||
| 261 | */ | ||
| 262 | public static function getRawData() | ||
| 263 | { | ||
| 264 | @trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED); | ||
| 265 | |||
| 266 | if (null === self::$installed) { | ||
| 267 | // only require the installed.php file if this file is loaded from its dumped location, | ||
| 268 | // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937 | ||
| 269 | if (substr(__DIR__, -8, 1) !== 'C') { | ||
| 270 | self::$installed = include __DIR__ . '/installed.php'; | ||
| 271 | } else { | ||
| 272 | self::$installed = array(); | ||
| 273 | } | ||
| 274 | } | ||
| 275 | |||
| 276 | return self::$installed; | ||
| 277 | } | ||
| 278 | |||
| 279 | /** | ||
| 280 | * Returns the raw data of all installed.php which are currently loaded for custom implementations | ||
| 281 | * | ||
| 282 | * @return array[] | ||
| 283 | * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}> | ||
| 284 | */ | ||
| 285 | public static function getAllRawData() | ||
| 286 | { | ||
| 287 | return self::getInstalled(); | ||
| 288 | } | ||
| 289 | |||
| 290 | /** | ||
| 291 | * Lets you reload the static array from another file | ||
| 292 | * | ||
| 293 | * This is only useful for complex integrations in which a project needs to use | ||
| 294 | * this class but then also needs to execute another project's autoloader in process, | ||
| 295 | * and wants to ensure both projects have access to their version of installed.php. | ||
| 296 | * | ||
| 297 | * A typical case would be PHPUnit, where it would need to make sure it reads all | ||
| 298 | * the data it needs from this class, then call reload() with | ||
| 299 | * `require $CWD/vendor/composer/installed.php` (or similar) as input to make sure | ||
| 300 | * the project in which it runs can then also use this class safely, without | ||
| 301 | * interference between PHPUnit's dependencies and the project's dependencies. | ||
| 302 | * | ||
| 303 | * @param array[] $data A vendor/composer/installed.php data set | ||
| 304 | * @return void | ||
| 305 | * | ||
| 306 | * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $data | ||
| 307 | */ | ||
| 308 | public static function reload($data) | ||
| 309 | { | ||
| 310 | self::$installed = $data; | ||
| 311 | self::$installedByVendor = array(); | ||
| 312 | } | ||
| 313 | |||
| 314 | /** | ||
| 315 | * @return array[] | ||
| 316 | * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}> | ||
| 317 | */ | ||
| 318 | private static function getInstalled() | ||
| 319 | { | ||
| 320 | if (null === self::$canGetVendors) { | ||
| 321 | self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders'); | ||
| 322 | } | ||
| 323 | |||
| 324 | $installed = array(); | ||
| 325 | |||
| 326 | if (self::$canGetVendors) { | ||
| 327 | foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) { | ||
| 328 | if (isset(self::$installedByVendor[$vendorDir])) { | ||
| 329 | $installed[] = self::$installedByVendor[$vendorDir]; | ||
| 330 | } elseif (is_file($vendorDir.'/composer/installed.php')) { | ||
| 331 | /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */ | ||
| 332 | $required = require $vendorDir.'/composer/installed.php'; | ||
| 333 | $installed[] = self::$installedByVendor[$vendorDir] = $required; | ||
| 334 | if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) { | ||
| 335 | self::$installed = $installed[count($installed) - 1]; | ||
| 336 | } | ||
| 337 | } | ||
| 338 | } | ||
| 339 | } | ||
| 340 | |||
| 341 | if (null === self::$installed) { | ||
| 342 | // only require the installed.php file if this file is loaded from its dumped location, | ||
| 343 | // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937 | ||
| 344 | if (substr(__DIR__, -8, 1) !== 'C') { | ||
| 345 | /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */ | ||
| 346 | $required = require __DIR__ . '/installed.php'; | ||
| 347 | self::$installed = $required; | ||
| 348 | } else { | ||
| 349 | self::$installed = array(); | ||
| 350 | } | ||
| 351 | } | ||
| 352 | |||
| 353 | if (self::$installed !== array()) { | ||
| 354 | $installed[] = self::$installed; | ||
| 355 | } | ||
| 356 | |||
| 357 | return $installed; | ||
| 358 | } | ||
| 359 | } |
| ... | @@ -2,9 +2,8 @@ | ... | @@ -2,9 +2,8 @@ |
| 2 | 2 | ||
| 3 | // autoload_classmap.php @generated by Composer | 3 | // autoload_classmap.php @generated by Composer |
| 4 | 4 | ||
| 5 | $vendorDir = dirname(__DIR__); | 5 | $vendorDir = dirname(dirname(__FILE__)); |
| 6 | $baseDir = dirname($vendorDir); | 6 | $baseDir = dirname($vendorDir); |
| 7 | 7 | ||
| 8 | return array( | 8 | return array( |
| 9 | 'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php', | ||
| 10 | ); | 9 | ); | ... | ... |
| ... | @@ -2,7 +2,7 @@ | ... | @@ -2,7 +2,7 @@ |
| 2 | 2 | ||
| 3 | // autoload_files.php @generated by Composer | 3 | // autoload_files.php @generated by Composer |
| 4 | 4 | ||
| 5 | $vendorDir = dirname(__DIR__); | 5 | $vendorDir = dirname(dirname(__FILE__)); |
| 6 | $baseDir = dirname($vendorDir); | 6 | $baseDir = dirname($vendorDir); |
| 7 | 7 | ||
| 8 | return array( | 8 | return array( | ... | ... |
| ... | @@ -2,7 +2,7 @@ | ... | @@ -2,7 +2,7 @@ |
| 2 | 2 | ||
| 3 | // autoload_namespaces.php @generated by Composer | 3 | // autoload_namespaces.php @generated by Composer |
| 4 | 4 | ||
| 5 | $vendorDir = dirname(__DIR__); | 5 | $vendorDir = dirname(dirname(__FILE__)); |
| 6 | $baseDir = dirname($vendorDir); | 6 | $baseDir = dirname($vendorDir); |
| 7 | 7 | ||
| 8 | return array( | 8 | return array( | ... | ... |
| ... | @@ -2,7 +2,7 @@ | ... | @@ -2,7 +2,7 @@ |
| 2 | 2 | ||
| 3 | // autoload_psr4.php @generated by Composer | 3 | // autoload_psr4.php @generated by Composer |
| 4 | 4 | ||
| 5 | $vendorDir = dirname(__DIR__); | 5 | $vendorDir = dirname(dirname(__FILE__)); |
| 6 | $baseDir = dirname($vendorDir); | 6 | $baseDir = dirname($vendorDir); |
| 7 | 7 | ||
| 8 | return array( | 8 | return array( | ... | ... |
| ... | @@ -2,7 +2,7 @@ | ... | @@ -2,7 +2,7 @@ |
| 2 | 2 | ||
| 3 | // autoload_real.php @generated by Composer | 3 | // autoload_real.php @generated by Composer |
| 4 | 4 | ||
| 5 | class ComposerAutoloaderInit03eba1cd2ecc731639bb7ed2e1143f46 | 5 | class ComposerAutoloaderInit4e792a61d8d81319296bf3b53dfc6d3f |
| 6 | { | 6 | { |
| 7 | private static $loader; | 7 | private static $loader; |
| 8 | 8 | ||
| ... | @@ -22,29 +22,52 @@ class ComposerAutoloaderInit03eba1cd2ecc731639bb7ed2e1143f46 | ... | @@ -22,29 +22,52 @@ class ComposerAutoloaderInit03eba1cd2ecc731639bb7ed2e1143f46 |
| 22 | return self::$loader; | 22 | return self::$loader; |
| 23 | } | 23 | } |
| 24 | 24 | ||
| 25 | require __DIR__ . '/platform_check.php'; | 25 | spl_autoload_register(array('ComposerAutoloaderInit4e792a61d8d81319296bf3b53dfc6d3f', 'loadClassLoader'), true, true); |
| 26 | self::$loader = $loader = new \Composer\Autoload\ClassLoader(); | ||
| 27 | spl_autoload_unregister(array('ComposerAutoloaderInit4e792a61d8d81319296bf3b53dfc6d3f', 'loadClassLoader')); | ||
| 26 | 28 | ||
| 27 | spl_autoload_register(array('ComposerAutoloaderInit03eba1cd2ecc731639bb7ed2e1143f46', 'loadClassLoader'), true, true); | 29 | $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); |
| 28 | self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); | 30 | if ($useStaticLoader) { |
| 29 | spl_autoload_unregister(array('ComposerAutoloaderInit03eba1cd2ecc731639bb7ed2e1143f46', 'loadClassLoader')); | 31 | require_once __DIR__ . '/autoload_static.php'; |
| 30 | 32 | ||
| 31 | require __DIR__ . '/autoload_static.php'; | 33 | call_user_func(\Composer\Autoload\ComposerStaticInit4e792a61d8d81319296bf3b53dfc6d3f::getInitializer($loader)); |
| 32 | call_user_func(\Composer\Autoload\ComposerStaticInit03eba1cd2ecc731639bb7ed2e1143f46::getInitializer($loader)); | 34 | } else { |
| 33 | 35 | $map = require __DIR__ . '/autoload_namespaces.php'; | |
| 34 | $loader->register(true); | 36 | foreach ($map as $namespace => $path) { |
| 37 | $loader->set($namespace, $path); | ||
| 38 | } | ||
| 35 | 39 | ||
| 36 | $filesToLoad = \Composer\Autoload\ComposerStaticInit03eba1cd2ecc731639bb7ed2e1143f46::$files; | 40 | $map = require __DIR__ . '/autoload_psr4.php'; |
| 37 | $requireFile = \Closure::bind(static function ($fileIdentifier, $file) { | 41 | foreach ($map as $namespace => $path) { |
| 38 | if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { | 42 | $loader->setPsr4($namespace, $path); |
| 39 | $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; | 43 | } |
| 40 | 44 | ||
| 41 | require $file; | 45 | $classMap = require __DIR__ . '/autoload_classmap.php'; |
| 46 | if ($classMap) { | ||
| 47 | $loader->addClassMap($classMap); | ||
| 42 | } | 48 | } |
| 43 | }, null, null); | 49 | } |
| 44 | foreach ($filesToLoad as $fileIdentifier => $file) { | 50 | |
| 45 | $requireFile($fileIdentifier, $file); | 51 | $loader->register(true); |
| 52 | |||
| 53 | if ($useStaticLoader) { | ||
| 54 | $includeFiles = Composer\Autoload\ComposerStaticInit4e792a61d8d81319296bf3b53dfc6d3f::$files; | ||
| 55 | } else { | ||
| 56 | $includeFiles = require __DIR__ . '/autoload_files.php'; | ||
| 57 | } | ||
| 58 | foreach ($includeFiles as $fileIdentifier => $file) { | ||
| 59 | composerRequire4e792a61d8d81319296bf3b53dfc6d3f($fileIdentifier, $file); | ||
| 46 | } | 60 | } |
| 47 | 61 | ||
| 48 | return $loader; | 62 | return $loader; |
| 49 | } | 63 | } |
| 50 | } | 64 | } |
| 65 | |||
| 66 | function composerRequire4e792a61d8d81319296bf3b53dfc6d3f($fileIdentifier, $file) | ||
| 67 | { | ||
| 68 | if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { | ||
| 69 | require $file; | ||
| 70 | |||
| 71 | $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; | ||
| 72 | } | ||
| 73 | } | ... | ... |
| ... | @@ -4,7 +4,7 @@ | ... | @@ -4,7 +4,7 @@ |
| 4 | 4 | ||
| 5 | namespace Composer\Autoload; | 5 | namespace Composer\Autoload; |
| 6 | 6 | ||
| 7 | class ComposerStaticInit03eba1cd2ecc731639bb7ed2e1143f46 | 7 | class ComposerStaticInit4e792a61d8d81319296bf3b53dfc6d3f |
| 8 | { | 8 | { |
| 9 | public static $files = array ( | 9 | public static $files = array ( |
| 10 | '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php', | 10 | '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php', |
| ... | @@ -40,17 +40,12 @@ class ComposerStaticInit03eba1cd2ecc731639bb7ed2e1143f46 | ... | @@ -40,17 +40,12 @@ class ComposerStaticInit03eba1cd2ecc731639bb7ed2e1143f46 |
| 40 | ), | 40 | ), |
| 41 | ); | 41 | ); |
| 42 | 42 | ||
| 43 | public static $classMap = array ( | ||
| 44 | 'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php', | ||
| 45 | ); | ||
| 46 | |||
| 47 | public static function getInitializer(ClassLoader $loader) | 43 | public static function getInitializer(ClassLoader $loader) |
| 48 | { | 44 | { |
| 49 | return \Closure::bind(function () use ($loader) { | 45 | return \Closure::bind(function () use ($loader) { |
| 50 | $loader->prefixLengthsPsr4 = ComposerStaticInit03eba1cd2ecc731639bb7ed2e1143f46::$prefixLengthsPsr4; | 46 | $loader->prefixLengthsPsr4 = ComposerStaticInit4e792a61d8d81319296bf3b53dfc6d3f::$prefixLengthsPsr4; |
| 51 | $loader->prefixDirsPsr4 = ComposerStaticInit03eba1cd2ecc731639bb7ed2e1143f46::$prefixDirsPsr4; | 47 | $loader->prefixDirsPsr4 = ComposerStaticInit4e792a61d8d81319296bf3b53dfc6d3f::$prefixDirsPsr4; |
| 52 | $loader->prefixesPsr0 = ComposerStaticInit03eba1cd2ecc731639bb7ed2e1143f46::$prefixesPsr0; | 48 | $loader->prefixesPsr0 = ComposerStaticInit4e792a61d8d81319296bf3b53dfc6d3f::$prefixesPsr0; |
| 53 | $loader->classMap = ComposerStaticInit03eba1cd2ecc731639bb7ed2e1143f46::$classMap; | ||
| 54 | 49 | ||
| 55 | }, null, ClassLoader::class); | 50 | }, null, ClassLoader::class); |
| 56 | } | 51 | } | ... | ... |
| 1 | { | 1 | [ |
| 2 | "packages": [ | 2 | { |
| 3 | { | 3 | "name": "symfony/polyfill-mbstring", |
| 4 | "name": "symfony/polyfill-mbstring", | 4 | "version": "v1.27.0", |
| 5 | "version": "v1.27.0", | 5 | "version_normalized": "1.27.0.0", |
| 6 | "version_normalized": "1.27.0.0", | 6 | "source": { |
| 7 | "source": { | 7 | "type": "git", |
| 8 | "type": "git", | 8 | "url": "https://github.com/symfony/polyfill-mbstring.git", |
| 9 | "url": "https://github.com/symfony/polyfill-mbstring.git", | 9 | "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534" |
| 10 | "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534" | 10 | }, |
| 11 | }, | 11 | "dist": { |
| 12 | "dist": { | 12 | "type": "zip", |
| 13 | "type": "zip", | 13 | "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534", |
| 14 | "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534", | 14 | "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534", |
| 15 | "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534", | 15 | "shasum": "" |
| 16 | "shasum": "" | 16 | }, |
| 17 | }, | 17 | "require": { |
| 18 | "require": { | 18 | "php": ">=7.1" |
| 19 | "php": ">=7.1" | 19 | }, |
| 20 | }, | 20 | "provide": { |
| 21 | "provide": { | 21 | "ext-mbstring": "*" |
| 22 | "ext-mbstring": "*" | 22 | }, |
| 23 | }, | 23 | "suggest": { |
| 24 | "suggest": { | 24 | "ext-mbstring": "For best performance" |
| 25 | "ext-mbstring": "For best performance" | 25 | }, |
| 26 | }, | 26 | "time": "2022-11-03T14:55:06+00:00", |
| 27 | "time": "2022-11-03T14:55:06+00:00", | 27 | "type": "library", |
| 28 | "type": "library", | 28 | "extra": { |
| 29 | "extra": { | 29 | "branch-alias": { |
| 30 | "branch-alias": { | 30 | "dev-main": "1.27-dev" |
| 31 | "dev-main": "1.27-dev" | 31 | }, |
| 32 | }, | 32 | "thanks": { |
| 33 | "thanks": { | 33 | "name": "symfony/polyfill", |
| 34 | "name": "symfony/polyfill", | 34 | "url": "https://github.com/symfony/polyfill" |
| 35 | "url": "https://github.com/symfony/polyfill" | 35 | } |
| 36 | } | 36 | }, |
| 37 | }, | 37 | "installation-source": "dist", |
| 38 | "installation-source": "dist", | 38 | "autoload": { |
| 39 | "autoload": { | 39 | "files": [ |
| 40 | "files": [ | 40 | "bootstrap.php" |
| 41 | "bootstrap.php" | ||
| 42 | ], | ||
| 43 | "psr-4": { | ||
| 44 | "Symfony\\Polyfill\\Mbstring\\": "" | ||
| 45 | } | ||
| 46 | }, | ||
| 47 | "notification-url": "https://packagist.org/downloads/", | ||
| 48 | "license": [ | ||
| 49 | "MIT" | ||
| 50 | ], | ||
| 51 | "authors": [ | ||
| 52 | { | ||
| 53 | "name": "Nicolas Grekas", | ||
| 54 | "email": "p@tchwork.com" | ||
| 55 | }, | ||
| 56 | { | ||
| 57 | "name": "Symfony Community", | ||
| 58 | "homepage": "https://symfony.com/contributors" | ||
| 59 | } | ||
| 60 | ], | ||
| 61 | "description": "Symfony polyfill for the Mbstring extension", | ||
| 62 | "homepage": "https://symfony.com", | ||
| 63 | "keywords": [ | ||
| 64 | "compatibility", | ||
| 65 | "mbstring", | ||
| 66 | "polyfill", | ||
| 67 | "portable", | ||
| 68 | "shim" | ||
| 69 | ], | ||
| 70 | "support": { | ||
| 71 | "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0" | ||
| 72 | }, | ||
| 73 | "funding": [ | ||
| 74 | { | ||
| 75 | "url": "https://symfony.com/sponsor", | ||
| 76 | "type": "custom" | ||
| 77 | }, | ||
| 78 | { | ||
| 79 | "url": "https://github.com/fabpot", | ||
| 80 | "type": "github" | ||
| 81 | }, | ||
| 82 | { | ||
| 83 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", | ||
| 84 | "type": "tidelift" | ||
| 85 | } | ||
| 86 | ], | ||
| 87 | "install-path": "../symfony/polyfill-mbstring" | ||
| 88 | }, | ||
| 89 | { | ||
| 90 | "name": "symfony/var-dumper", | ||
| 91 | "version": "v2.8.52", | ||
| 92 | "version_normalized": "2.8.52.0", | ||
| 93 | "source": { | ||
| 94 | "type": "git", | ||
| 95 | "url": "https://github.com/symfony/var-dumper.git", | ||
| 96 | "reference": "91abb1e39d14fb7773d25de9c711949ea8502ac1" | ||
| 97 | }, | ||
| 98 | "dist": { | ||
| 99 | "type": "zip", | ||
| 100 | "url": "https://api.github.com/repos/symfony/var-dumper/zipball/91abb1e39d14fb7773d25de9c711949ea8502ac1", | ||
| 101 | "reference": "91abb1e39d14fb7773d25de9c711949ea8502ac1", | ||
| 102 | "shasum": "" | ||
| 103 | }, | ||
| 104 | "require": { | ||
| 105 | "php": ">=5.3.9", | ||
| 106 | "symfony/polyfill-mbstring": "~1.0" | ||
| 107 | }, | ||
| 108 | "conflict": { | ||
| 109 | "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0" | ||
| 110 | }, | ||
| 111 | "require-dev": { | ||
| 112 | "ext-iconv": "*", | ||
| 113 | "twig/twig": "~1.34|~2.4" | ||
| 114 | }, | ||
| 115 | "suggest": { | ||
| 116 | "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", | ||
| 117 | "ext-symfony_debug": "" | ||
| 118 | }, | ||
| 119 | "time": "2018-11-11T11:18:13+00:00", | ||
| 120 | "type": "library", | ||
| 121 | "extra": { | ||
| 122 | "branch-alias": { | ||
| 123 | "dev-master": "2.8-dev" | ||
| 124 | } | ||
| 125 | }, | ||
| 126 | "installation-source": "dist", | ||
| 127 | "autoload": { | ||
| 128 | "files": [ | ||
| 129 | "Resources/functions/dump.php" | ||
| 130 | ], | ||
| 131 | "psr-4": { | ||
| 132 | "Symfony\\Component\\VarDumper\\": "" | ||
| 133 | }, | ||
| 134 | "exclude-from-classmap": [ | ||
| 135 | "/Tests/" | ||
| 136 | ] | ||
| 137 | }, | ||
| 138 | "notification-url": "https://packagist.org/downloads/", | ||
| 139 | "license": [ | ||
| 140 | "MIT" | ||
| 141 | ], | ||
| 142 | "authors": [ | ||
| 143 | { | ||
| 144 | "name": "Nicolas Grekas", | ||
| 145 | "email": "p@tchwork.com" | ||
| 146 | }, | ||
| 147 | { | ||
| 148 | "name": "Symfony Community", | ||
| 149 | "homepage": "https://symfony.com/contributors" | ||
| 150 | } | ||
| 151 | ], | ||
| 152 | "description": "Symfony mechanism for exploring and dumping PHP variables", | ||
| 153 | "homepage": "https://symfony.com", | ||
| 154 | "keywords": [ | ||
| 155 | "debug", | ||
| 156 | "dump" | ||
| 157 | ], | ||
| 158 | "support": { | ||
| 159 | "source": "https://github.com/symfony/var-dumper/tree/v2.8.50" | ||
| 160 | }, | ||
| 161 | "install-path": "../symfony/var-dumper" | ||
| 162 | }, | ||
| 163 | { | ||
| 164 | "name": "vlucas/phpdotenv", | ||
| 165 | "version": "v1.1.1", | ||
| 166 | "version_normalized": "1.1.1.0", | ||
| 167 | "source": { | ||
| 168 | "type": "git", | ||
| 169 | "url": "https://github.com/vlucas/phpdotenv.git", | ||
| 170 | "reference": "0cac554ce06277e33ddf9f0b7ade4b8bbf2af3fa" | ||
| 171 | }, | ||
| 172 | "dist": { | ||
| 173 | "type": "zip", | ||
| 174 | "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/0cac554ce06277e33ddf9f0b7ade4b8bbf2af3fa", | ||
| 175 | "reference": "0cac554ce06277e33ddf9f0b7ade4b8bbf2af3fa", | ||
| 176 | "shasum": "" | ||
| 177 | }, | ||
| 178 | "require": { | ||
| 179 | "php": ">=5.3.2" | ||
| 180 | }, | ||
| 181 | "require-dev": { | ||
| 182 | "phpunit/phpunit": "~4.0" | ||
| 183 | }, | ||
| 184 | "time": "2015-05-30T15:59:26+00:00", | ||
| 185 | "type": "library", | ||
| 186 | "installation-source": "dist", | ||
| 187 | "autoload": { | ||
| 188 | "psr-0": { | ||
| 189 | "Dotenv": "src/" | ||
| 190 | } | ||
| 191 | }, | ||
| 192 | "notification-url": "https://packagist.org/downloads/", | ||
| 193 | "license": [ | ||
| 194 | "BSD" | ||
| 195 | ], | ||
| 196 | "authors": [ | ||
| 197 | { | ||
| 198 | "name": "Vance Lucas", | ||
| 199 | "email": "vance@vancelucas.com", | ||
| 200 | "homepage": "http://www.vancelucas.com" | ||
| 201 | } | ||
| 202 | ], | 41 | ], |
| 203 | "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", | 42 | "psr-4": { |
| 204 | "homepage": "http://github.com/vlucas/phpdotenv", | 43 | "Symfony\\Polyfill\\Mbstring\\": "" |
| 205 | "keywords": [ | 44 | } |
| 206 | "dotenv", | 45 | }, |
| 207 | "env", | 46 | "notification-url": "https://packagist.org/downloads/", |
| 208 | "environment" | 47 | "license": [ |
| 48 | "MIT" | ||
| 49 | ], | ||
| 50 | "authors": [ | ||
| 51 | { | ||
| 52 | "name": "Nicolas Grekas", | ||
| 53 | "email": "p@tchwork.com" | ||
| 54 | }, | ||
| 55 | { | ||
| 56 | "name": "Symfony Community", | ||
| 57 | "homepage": "https://symfony.com/contributors" | ||
| 58 | } | ||
| 59 | ], | ||
| 60 | "description": "Symfony polyfill for the Mbstring extension", | ||
| 61 | "homepage": "https://symfony.com", | ||
| 62 | "keywords": [ | ||
| 63 | "compatibility", | ||
| 64 | "mbstring", | ||
| 65 | "polyfill", | ||
| 66 | "portable", | ||
| 67 | "shim" | ||
| 68 | ], | ||
| 69 | "funding": [ | ||
| 70 | { | ||
| 71 | "url": "https://symfony.com/sponsor", | ||
| 72 | "type": "custom" | ||
| 73 | }, | ||
| 74 | { | ||
| 75 | "url": "https://github.com/fabpot", | ||
| 76 | "type": "github" | ||
| 77 | }, | ||
| 78 | { | ||
| 79 | "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", | ||
| 80 | "type": "tidelift" | ||
| 81 | } | ||
| 82 | ] | ||
| 83 | }, | ||
| 84 | { | ||
| 85 | "name": "symfony/var-dumper", | ||
| 86 | "version": "v2.8.52", | ||
| 87 | "version_normalized": "2.8.52.0", | ||
| 88 | "source": { | ||
| 89 | "type": "git", | ||
| 90 | "url": "https://github.com/symfony/var-dumper.git", | ||
| 91 | "reference": "91abb1e39d14fb7773d25de9c711949ea8502ac1" | ||
| 92 | }, | ||
| 93 | "dist": { | ||
| 94 | "type": "zip", | ||
| 95 | "url": "https://api.github.com/repos/symfony/var-dumper/zipball/91abb1e39d14fb7773d25de9c711949ea8502ac1", | ||
| 96 | "reference": "91abb1e39d14fb7773d25de9c711949ea8502ac1", | ||
| 97 | "shasum": "" | ||
| 98 | }, | ||
| 99 | "require": { | ||
| 100 | "php": ">=5.3.9", | ||
| 101 | "symfony/polyfill-mbstring": "~1.0" | ||
| 102 | }, | ||
| 103 | "conflict": { | ||
| 104 | "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0" | ||
| 105 | }, | ||
| 106 | "require-dev": { | ||
| 107 | "ext-iconv": "*", | ||
| 108 | "twig/twig": "~1.34|~2.4" | ||
| 109 | }, | ||
| 110 | "suggest": { | ||
| 111 | "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", | ||
| 112 | "ext-symfony_debug": "" | ||
| 113 | }, | ||
| 114 | "time": "2018-11-11T11:18:13+00:00", | ||
| 115 | "type": "library", | ||
| 116 | "extra": { | ||
| 117 | "branch-alias": { | ||
| 118 | "dev-master": "2.8-dev" | ||
| 119 | } | ||
| 120 | }, | ||
| 121 | "installation-source": "dist", | ||
| 122 | "autoload": { | ||
| 123 | "files": [ | ||
| 124 | "Resources/functions/dump.php" | ||
| 209 | ], | 125 | ], |
| 210 | "support": { | 126 | "psr-4": { |
| 211 | "issues": "https://github.com/vlucas/phpdotenv/issues", | 127 | "Symfony\\Component\\VarDumper\\": "" |
| 212 | "source": "https://github.com/vlucas/phpdotenv/tree/1.1" | ||
| 213 | }, | 128 | }, |
| 214 | "install-path": "../vlucas/phpdotenv" | 129 | "exclude-from-classmap": [ |
| 215 | } | 130 | "/Tests/" |
| 216 | ], | 131 | ] |
| 217 | "dev": true, | 132 | }, |
| 218 | "dev-package-names": [] | 133 | "notification-url": "https://packagist.org/downloads/", |
| 219 | } | 134 | "license": [ |
| 135 | "MIT" | ||
| 136 | ], | ||
| 137 | "authors": [ | ||
| 138 | { | ||
| 139 | "name": "Nicolas Grekas", | ||
| 140 | "email": "p@tchwork.com" | ||
| 141 | }, | ||
| 142 | { | ||
| 143 | "name": "Symfony Community", | ||
| 144 | "homepage": "https://symfony.com/contributors" | ||
| 145 | } | ||
| 146 | ], | ||
| 147 | "description": "Symfony mechanism for exploring and dumping PHP variables", | ||
| 148 | "homepage": "https://symfony.com", | ||
| 149 | "keywords": [ | ||
| 150 | "debug", | ||
| 151 | "dump" | ||
| 152 | ] | ||
| 153 | }, | ||
| 154 | { | ||
| 155 | "name": "vlucas/phpdotenv", | ||
| 156 | "version": "v1.1.1", | ||
| 157 | "version_normalized": "1.1.1.0", | ||
| 158 | "source": { | ||
| 159 | "type": "git", | ||
| 160 | "url": "https://github.com/vlucas/phpdotenv.git", | ||
| 161 | "reference": "0cac554ce06277e33ddf9f0b7ade4b8bbf2af3fa" | ||
| 162 | }, | ||
| 163 | "dist": { | ||
| 164 | "type": "zip", | ||
| 165 | "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/0cac554ce06277e33ddf9f0b7ade4b8bbf2af3fa", | ||
| 166 | "reference": "0cac554ce06277e33ddf9f0b7ade4b8bbf2af3fa", | ||
| 167 | "shasum": "" | ||
| 168 | }, | ||
| 169 | "require": { | ||
| 170 | "php": ">=5.3.2" | ||
| 171 | }, | ||
| 172 | "require-dev": { | ||
| 173 | "phpunit/phpunit": "~4.0" | ||
| 174 | }, | ||
| 175 | "time": "2015-05-30T15:59:26+00:00", | ||
| 176 | "type": "library", | ||
| 177 | "installation-source": "dist", | ||
| 178 | "autoload": { | ||
| 179 | "psr-0": { | ||
| 180 | "Dotenv": "src/" | ||
| 181 | } | ||
| 182 | }, | ||
| 183 | "notification-url": "https://packagist.org/downloads/", | ||
| 184 | "license": [ | ||
| 185 | "BSD" | ||
| 186 | ], | ||
| 187 | "authors": [ | ||
| 188 | { | ||
| 189 | "name": "Vance Lucas", | ||
| 190 | "email": "vance@vancelucas.com", | ||
| 191 | "homepage": "http://www.vancelucas.com" | ||
| 192 | } | ||
| 193 | ], | ||
| 194 | "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", | ||
| 195 | "homepage": "http://github.com/vlucas/phpdotenv", | ||
| 196 | "keywords": [ | ||
| 197 | "dotenv", | ||
| 198 | "env", | ||
| 199 | "environment" | ||
| 200 | ] | ||
| 201 | } | ||
| 202 | ] | ... | ... |
vendor/composer/installed.php
deleted
100644 → 0
| 1 | <?php return array( | ||
| 2 | 'root' => array( | ||
| 3 | 'name' => '__root__', | ||
| 4 | 'pretty_version' => 'dev-main', | ||
| 5 | 'version' => 'dev-main', | ||
| 6 | 'reference' => '23cbefe0863c5e2a56826319420d0f96c87ba8b3', | ||
| 7 | 'type' => 'library', | ||
| 8 | 'install_path' => __DIR__ . '/../../', | ||
| 9 | 'aliases' => array(), | ||
| 10 | 'dev' => true, | ||
| 11 | ), | ||
| 12 | 'versions' => array( | ||
| 13 | '__root__' => array( | ||
| 14 | 'pretty_version' => 'dev-main', | ||
| 15 | 'version' => 'dev-main', | ||
| 16 | 'reference' => '23cbefe0863c5e2a56826319420d0f96c87ba8b3', | ||
| 17 | 'type' => 'library', | ||
| 18 | 'install_path' => __DIR__ . '/../../', | ||
| 19 | 'aliases' => array(), | ||
| 20 | 'dev_requirement' => false, | ||
| 21 | ), | ||
| 22 | 'symfony/polyfill-mbstring' => array( | ||
| 23 | 'pretty_version' => 'v1.27.0', | ||
| 24 | 'version' => '1.27.0.0', | ||
| 25 | 'reference' => '8ad114f6b39e2c98a8b0e3bd907732c207c2b534', | ||
| 26 | 'type' => 'library', | ||
| 27 | 'install_path' => __DIR__ . '/../symfony/polyfill-mbstring', | ||
| 28 | 'aliases' => array(), | ||
| 29 | 'dev_requirement' => false, | ||
| 30 | ), | ||
| 31 | 'symfony/var-dumper' => array( | ||
| 32 | 'pretty_version' => 'v2.8.52', | ||
| 33 | 'version' => '2.8.52.0', | ||
| 34 | 'reference' => '91abb1e39d14fb7773d25de9c711949ea8502ac1', | ||
| 35 | 'type' => 'library', | ||
| 36 | 'install_path' => __DIR__ . '/../symfony/var-dumper', | ||
| 37 | 'aliases' => array(), | ||
| 38 | 'dev_requirement' => false, | ||
| 39 | ), | ||
| 40 | 'vlucas/phpdotenv' => array( | ||
| 41 | 'pretty_version' => 'v1.1.1', | ||
| 42 | 'version' => '1.1.1.0', | ||
| 43 | 'reference' => '0cac554ce06277e33ddf9f0b7ade4b8bbf2af3fa', | ||
| 44 | 'type' => 'library', | ||
| 45 | 'install_path' => __DIR__ . '/../vlucas/phpdotenv', | ||
| 46 | 'aliases' => array(), | ||
| 47 | 'dev_requirement' => false, | ||
| 48 | ), | ||
| 49 | ), | ||
| 50 | ); |
vendor/composer/platform_check.php
deleted
100644 → 0
| 1 | <?php | ||
| 2 | |||
| 3 | // platform_check.php @generated by Composer | ||
| 4 | |||
| 5 | $issues = array(); | ||
| 6 | |||
| 7 | if (!(PHP_VERSION_ID >= 70100)) { | ||
| 8 | $issues[] = 'Your Composer dependencies require a PHP version ">= 7.1.0". You are running ' . PHP_VERSION . '.'; | ||
| 9 | } | ||
| 10 | |||
| 11 | if ($issues) { | ||
| 12 | if (!headers_sent()) { | ||
| 13 | header('HTTP/1.1 500 Internal Server Error'); | ||
| 14 | } | ||
| 15 | if (!ini_get('display_errors')) { | ||
| 16 | if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { | ||
| 17 | fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . implode(PHP_EOL, $issues) . PHP_EOL.PHP_EOL); | ||
| 18 | } elseif (!headers_sent()) { | ||
| 19 | echo 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . str_replace('You are running '.PHP_VERSION.'.', '', implode(PHP_EOL, $issues)) . PHP_EOL.PHP_EOL; | ||
| 20 | } | ||
| 21 | } | ||
| 22 | trigger_error( | ||
| 23 | 'Composer detected issues in your platform: ' . implode(' ', $issues), | ||
| 24 | E_USER_ERROR | ||
| 25 | ); | ||
| 26 | } |
| ... | @@ -58,10 +58,6 @@ | ... | @@ -58,10 +58,6 @@ |
| 58 | "regex", | 58 | "regex", |
| 59 | "regular expression" | 59 | "regular expression" |
| 60 | ], | 60 | ], |
| 61 | "support": { | ||
| 62 | "issues": "https://github.com/composer/pcre/issues", | ||
| 63 | "source": "https://github.com/composer/pcre/tree/2.1.0" | ||
| 64 | }, | ||
| 65 | "funding": [ | 61 | "funding": [ |
| 66 | { | 62 | { |
| 67 | "url": "https://packagist.com", | 63 | "url": "https://packagist.com", |
| ... | @@ -123,11 +119,6 @@ | ... | @@ -123,11 +119,6 @@ |
| 123 | "Xdebug", | 119 | "Xdebug", |
| 124 | "performance" | 120 | "performance" |
| 125 | ], | 121 | ], |
| 126 | "support": { | ||
| 127 | "irc": "irc://irc.freenode.org/composer", | ||
| 128 | "issues": "https://github.com/composer/xdebug-handler/issues", | ||
| 129 | "source": "https://github.com/composer/xdebug-handler/tree/3.0.3" | ||
| 130 | }, | ||
| 131 | "funding": [ | 122 | "funding": [ |
| 132 | { | 123 | { |
| 133 | "url": "https://packagist.com", | 124 | "url": "https://packagist.com", |
| ... | @@ -189,10 +180,6 @@ | ... | @@ -189,10 +180,6 @@ |
| 189 | "BSD-3-Clause" | 180 | "BSD-3-Clause" |
| 190 | ], | 181 | ], |
| 191 | "description": "Official version of pdepend to be handled with Composer", | 182 | "description": "Official version of pdepend to be handled with Composer", |
| 192 | "support": { | ||
| 193 | "issues": "https://github.com/pdepend/pdepend/issues", | ||
| 194 | "source": "https://github.com/pdepend/pdepend/tree/2.13.0" | ||
| 195 | }, | ||
| 196 | "funding": [ | 183 | "funding": [ |
| 197 | { | 184 | { |
| 198 | "url": "https://tidelift.com/funding/github/packagist/pdepend/pdepend", | 185 | "url": "https://tidelift.com/funding/github/packagist/pdepend/pdepend", |
| ... | @@ -252,10 +239,6 @@ | ... | @@ -252,10 +239,6 @@ |
| 252 | ], | 239 | ], |
| 253 | "description": "This tool check syntax of PHP files about 20x faster than serial check.", | 240 | "description": "This tool check syntax of PHP files about 20x faster than serial check.", |
| 254 | "homepage": "https://github.com/php-parallel-lint/PHP-Parallel-Lint", | 241 | "homepage": "https://github.com/php-parallel-lint/PHP-Parallel-Lint", |
| 255 | "support": { | ||
| 256 | "issues": "https://github.com/php-parallel-lint/PHP-Parallel-Lint/issues", | ||
| 257 | "source": "https://github.com/php-parallel-lint/PHP-Parallel-Lint/tree/v1.3.2" | ||
| 258 | }, | ||
| 259 | "time": "2022-02-21T12:50:22+00:00" | 242 | "time": "2022-02-21T12:50:22+00:00" |
| 260 | }, | 243 | }, |
| 261 | { | 244 | { |
| ... | @@ -296,10 +279,6 @@ | ... | @@ -296,10 +279,6 @@ |
| 296 | "static analysis", | 279 | "static analysis", |
| 297 | "wordpress" | 280 | "wordpress" |
| 298 | ], | 281 | ], |
| 299 | "support": { | ||
| 300 | "issues": "https://github.com/php-stubs/wordpress-stubs/issues", | ||
| 301 | "source": "https://github.com/php-stubs/wordpress-stubs/tree/v6.2.0" | ||
| 302 | }, | ||
| 303 | "time": "2023-03-31T09:48:52+00:00" | 282 | "time": "2023-03-31T09:48:52+00:00" |
| 304 | }, | 283 | }, |
| 305 | { | 284 | { |
| ... | @@ -358,10 +337,6 @@ | ... | @@ -358,10 +337,6 @@ |
| 358 | "phpcs", | 337 | "phpcs", |
| 359 | "standards" | 338 | "standards" |
| 360 | ], | 339 | ], |
| 361 | "support": { | ||
| 362 | "issues": "https://github.com/PHPCompatibility/PHPCompatibility/issues", | ||
| 363 | "source": "https://github.com/PHPCompatibility/PHPCompatibility" | ||
| 364 | }, | ||
| 365 | "time": "2019-12-27T09:44:58+00:00" | 340 | "time": "2019-12-27T09:44:58+00:00" |
| 366 | }, | 341 | }, |
| 367 | { | 342 | { |
| ... | @@ -415,10 +390,6 @@ | ... | @@ -415,10 +390,6 @@ |
| 415 | "standards", | 390 | "standards", |
| 416 | "static analysis" | 391 | "static analysis" |
| 417 | ], | 392 | ], |
| 418 | "support": { | ||
| 419 | "issues": "https://github.com/PHPCompatibility/PHPCompatibilityParagonie/issues", | ||
| 420 | "source": "https://github.com/PHPCompatibility/PHPCompatibilityParagonie" | ||
| 421 | }, | ||
| 422 | "time": "2022-10-25T01:46:02+00:00" | 393 | "time": "2022-10-25T01:46:02+00:00" |
| 423 | }, | 394 | }, |
| 424 | { | 395 | { |
| ... | @@ -470,10 +441,6 @@ | ... | @@ -470,10 +441,6 @@ |
| 470 | "static analysis", | 441 | "static analysis", |
| 471 | "wordpress" | 442 | "wordpress" |
| 472 | ], | 443 | ], |
| 473 | "support": { | ||
| 474 | "issues": "https://github.com/PHPCompatibility/PHPCompatibilityWP/issues", | ||
| 475 | "source": "https://github.com/PHPCompatibility/PHPCompatibilityWP" | ||
| 476 | }, | ||
| 477 | "time": "2022-10-24T09:00:36+00:00" | 444 | "time": "2022-10-24T09:00:36+00:00" |
| 478 | }, | 445 | }, |
| 479 | { | 446 | { |
| ... | @@ -546,11 +513,6 @@ | ... | @@ -546,11 +513,6 @@ |
| 546 | "phpmd", | 513 | "phpmd", |
| 547 | "pmd" | 514 | "pmd" |
| 548 | ], | 515 | ], |
| 549 | "support": { | ||
| 550 | "irc": "irc://irc.freenode.org/phpmd", | ||
| 551 | "issues": "https://github.com/phpmd/phpmd/issues", | ||
| 552 | "source": "https://github.com/phpmd/phpmd/tree/2.13.0" | ||
| 553 | }, | ||
| 554 | "funding": [ | 516 | "funding": [ |
| 555 | { | 517 | { |
| 556 | "url": "https://tidelift.com/funding/github/packagist/phpmd/phpmd", | 518 | "url": "https://tidelift.com/funding/github/packagist/phpmd/phpmd", |
| ... | @@ -598,13 +560,6 @@ | ... | @@ -598,13 +560,6 @@ |
| 598 | "dev", | 560 | "dev", |
| 599 | "static analysis" | 561 | "static analysis" |
| 600 | ], | 562 | ], |
| 601 | "support": { | ||
| 602 | "docs": "https://phpstan.org/user-guide/getting-started", | ||
| 603 | "forum": "https://github.com/phpstan/phpstan/discussions", | ||
| 604 | "issues": "https://github.com/phpstan/phpstan/issues", | ||
| 605 | "security": "https://github.com/phpstan/phpstan/security/policy", | ||
| 606 | "source": "https://github.com/phpstan/phpstan-src" | ||
| 607 | }, | ||
| 608 | "funding": [ | 563 | "funding": [ |
| 609 | { | 564 | { |
| 610 | "url": "https://github.com/ondrejmirtes", | 565 | "url": "https://github.com/ondrejmirtes", |
| ... | @@ -663,10 +618,6 @@ | ... | @@ -663,10 +618,6 @@ |
| 663 | "container-interop", | 618 | "container-interop", |
| 664 | "psr" | 619 | "psr" |
| 665 | ], | 620 | ], |
| 666 | "support": { | ||
| 667 | "issues": "https://github.com/php-fig/container/issues", | ||
| 668 | "source": "https://github.com/php-fig/container/tree/1.1.1" | ||
| 669 | }, | ||
| 670 | "time": "2021-03-05T17:36:06+00:00" | 621 | "time": "2021-03-05T17:36:06+00:00" |
| 671 | }, | 622 | }, |
| 672 | { | 623 | { |
| ... | @@ -714,9 +665,6 @@ | ... | @@ -714,9 +665,6 @@ |
| 714 | "psr", | 665 | "psr", |
| 715 | "psr-3" | 666 | "psr-3" |
| 716 | ], | 667 | ], |
| 717 | "support": { | ||
| 718 | "source": "https://github.com/php-fig/log/tree/1.1.4" | ||
| 719 | }, | ||
| 720 | "time": "2021-05-03T11:20:27+00:00" | 668 | "time": "2021-05-03T11:20:27+00:00" |
| 721 | }, | 669 | }, |
| 722 | { | 670 | { |
| ... | @@ -1308,10 +1256,6 @@ | ... | @@ -1308,10 +1256,6 @@ |
| 1308 | "keywords": [ | 1256 | "keywords": [ |
| 1309 | "dev" | 1257 | "dev" |
| 1310 | ], | 1258 | ], |
| 1311 | "support": { | ||
| 1312 | "issues": "https://github.com/Roave/SecurityAdvisories/issues", | ||
| 1313 | "source": "https://github.com/Roave/SecurityAdvisories/tree/latest" | ||
| 1314 | }, | ||
| 1315 | "funding": [ | 1259 | "funding": [ |
| 1316 | { | 1260 | { |
| 1317 | "url": "https://github.com/Ocramius", | 1261 | "url": "https://github.com/Ocramius", |
| ... | @@ -1374,11 +1318,6 @@ | ... | @@ -1374,11 +1318,6 @@ |
| 1374 | "standards", | 1318 | "standards", |
| 1375 | "static analysis" | 1319 | "static analysis" |
| 1376 | ], | 1320 | ], |
| 1377 | "support": { | ||
| 1378 | "issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues", | ||
| 1379 | "source": "https://github.com/squizlabs/PHP_CodeSniffer", | ||
| 1380 | "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki" | ||
| 1381 | }, | ||
| 1382 | "time": "2023-02-22T23:07:41+00:00" | 1321 | "time": "2023-02-22T23:07:41+00:00" |
| 1383 | }, | 1322 | }, |
| 1384 | { | 1323 | { |
| ... | @@ -1441,9 +1380,6 @@ | ... | @@ -1441,9 +1380,6 @@ |
| 1441 | ], | 1380 | ], |
| 1442 | "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", | 1381 | "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", |
| 1443 | "homepage": "https://symfony.com", | 1382 | "homepage": "https://symfony.com", |
| 1444 | "support": { | ||
| 1445 | "source": "https://github.com/symfony/config/tree/v5.4.21" | ||
| 1446 | }, | ||
| 1447 | "funding": [ | 1383 | "funding": [ |
| 1448 | { | 1384 | { |
| 1449 | "url": "https://symfony.com/sponsor", | 1385 | "url": "https://symfony.com/sponsor", |
| ... | @@ -1530,9 +1466,6 @@ | ... | @@ -1530,9 +1466,6 @@ |
| 1530 | ], | 1466 | ], |
| 1531 | "description": "Allows you to standardize and centralize the way objects are constructed in your application", | 1467 | "description": "Allows you to standardize and centralize the way objects are constructed in your application", |
| 1532 | "homepage": "https://symfony.com", | 1468 | "homepage": "https://symfony.com", |
| 1533 | "support": { | ||
| 1534 | "source": "https://github.com/symfony/dependency-injection/tree/v5.4.23" | ||
| 1535 | }, | ||
| 1536 | "funding": [ | 1469 | "funding": [ |
| 1537 | { | 1470 | { |
| 1538 | "url": "https://symfony.com/sponsor", | 1471 | "url": "https://symfony.com/sponsor", |
| ... | @@ -1597,9 +1530,6 @@ | ... | @@ -1597,9 +1530,6 @@ |
| 1597 | ], | 1530 | ], |
| 1598 | "description": "A generic function and convention to trigger deprecation notices", | 1531 | "description": "A generic function and convention to trigger deprecation notices", |
| 1599 | "homepage": "https://symfony.com", | 1532 | "homepage": "https://symfony.com", |
| 1600 | "support": { | ||
| 1601 | "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.2" | ||
| 1602 | }, | ||
| 1603 | "funding": [ | 1533 | "funding": [ |
| 1604 | { | 1534 | { |
| 1605 | "url": "https://symfony.com/sponsor", | 1535 | "url": "https://symfony.com/sponsor", |
| ... | @@ -1661,9 +1591,6 @@ | ... | @@ -1661,9 +1591,6 @@ |
| 1661 | ], | 1591 | ], |
| 1662 | "description": "Provides basic utilities for the filesystem", | 1592 | "description": "Provides basic utilities for the filesystem", |
| 1663 | "homepage": "https://symfony.com", | 1593 | "homepage": "https://symfony.com", |
| 1664 | "support": { | ||
| 1665 | "source": "https://github.com/symfony/filesystem/tree/v5.4.23" | ||
| 1666 | }, | ||
| 1667 | "funding": [ | 1594 | "funding": [ |
| 1668 | { | 1595 | { |
| 1669 | "url": "https://symfony.com/sponsor", | 1596 | "url": "https://symfony.com/sponsor", |
| ... | @@ -1743,9 +1670,6 @@ | ... | @@ -1743,9 +1670,6 @@ |
| 1743 | "polyfill", | 1670 | "polyfill", |
| 1744 | "portable" | 1671 | "portable" |
| 1745 | ], | 1672 | ], |
| 1746 | "support": { | ||
| 1747 | "source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0" | ||
| 1748 | }, | ||
| 1749 | "funding": [ | 1673 | "funding": [ |
| 1750 | { | 1674 | { |
| 1751 | "url": "https://symfony.com/sponsor", | 1675 | "url": "https://symfony.com/sponsor", |
| ... | @@ -1826,9 +1750,6 @@ | ... | @@ -1826,9 +1750,6 @@ |
| 1826 | "portable", | 1750 | "portable", |
| 1827 | "shim" | 1751 | "shim" |
| 1828 | ], | 1752 | ], |
| 1829 | "support": { | ||
| 1830 | "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0" | ||
| 1831 | }, | ||
| 1832 | "funding": [ | 1753 | "funding": [ |
| 1833 | { | 1754 | { |
| 1834 | "url": "https://symfony.com/sponsor", | 1755 | "url": "https://symfony.com/sponsor", |
| ... | @@ -1905,9 +1826,6 @@ | ... | @@ -1905,9 +1826,6 @@ |
| 1905 | "portable", | 1826 | "portable", |
| 1906 | "shim" | 1827 | "shim" |
| 1907 | ], | 1828 | ], |
| 1908 | "support": { | ||
| 1909 | "source": "https://github.com/symfony/polyfill-php73/tree/v1.27.0" | ||
| 1910 | }, | ||
| 1911 | "funding": [ | 1829 | "funding": [ |
| 1912 | { | 1830 | { |
| 1913 | "url": "https://symfony.com/sponsor", | 1831 | "url": "https://symfony.com/sponsor", |
| ... | @@ -1988,9 +1906,6 @@ | ... | @@ -1988,9 +1906,6 @@ |
| 1988 | "portable", | 1906 | "portable", |
| 1989 | "shim" | 1907 | "shim" |
| 1990 | ], | 1908 | ], |
| 1991 | "support": { | ||
| 1992 | "source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0" | ||
| 1993 | }, | ||
| 1994 | "funding": [ | 1909 | "funding": [ |
| 1995 | { | 1910 | { |
| 1996 | "url": "https://symfony.com/sponsor", | 1911 | "url": "https://symfony.com/sponsor", |
| ... | @@ -2067,9 +1982,6 @@ | ... | @@ -2067,9 +1982,6 @@ |
| 2067 | "portable", | 1982 | "portable", |
| 2068 | "shim" | 1983 | "shim" |
| 2069 | ], | 1984 | ], |
| 2070 | "support": { | ||
| 2071 | "source": "https://github.com/symfony/polyfill-php81/tree/v1.27.0" | ||
| 2072 | }, | ||
| 2073 | "funding": [ | 1985 | "funding": [ |
| 2074 | { | 1986 | { |
| 2075 | "url": "https://symfony.com/sponsor", | 1987 | "url": "https://symfony.com/sponsor", |
| ... | @@ -2150,9 +2062,6 @@ | ... | @@ -2150,9 +2062,6 @@ |
| 2150 | "interoperability", | 2062 | "interoperability", |
| 2151 | "standards" | 2063 | "standards" |
| 2152 | ], | 2064 | ], |
| 2153 | "support": { | ||
| 2154 | "source": "https://github.com/symfony/service-contracts/tree/v2.5.2" | ||
| 2155 | }, | ||
| 2156 | "funding": [ | 2065 | "funding": [ |
| 2157 | { | 2066 | { |
| 2158 | "url": "https://symfony.com/sponsor", | 2067 | "url": "https://symfony.com/sponsor", |
| ... | @@ -2222,10 +2131,6 @@ | ... | @@ -2222,10 +2131,6 @@ |
| 2222 | "static analysis", | 2131 | "static analysis", |
| 2223 | "wordpress" | 2132 | "wordpress" |
| 2224 | ], | 2133 | ], |
| 2225 | "support": { | ||
| 2226 | "issues": "https://github.com/szepeviktor/phpstan-wordpress/issues", | ||
| 2227 | "source": "https://github.com/szepeviktor/phpstan-wordpress/tree/v1.3.0" | ||
| 2228 | }, | ||
| 2229 | "time": "2023-04-23T06:15:06+00:00" | 2134 | "time": "2023-04-23T06:15:06+00:00" |
| 2230 | }, | 2135 | }, |
| 2231 | { | 2136 | { |
| ... | @@ -2272,11 +2177,6 @@ | ... | @@ -2272,11 +2177,6 @@ |
| 2272 | "standards", | 2177 | "standards", |
| 2273 | "wordpress" | 2178 | "wordpress" |
| 2274 | ], | 2179 | ], |
| 2275 | "support": { | ||
| 2276 | "issues": "https://github.com/WordPress/WordPress-Coding-Standards/issues", | ||
| 2277 | "source": "https://github.com/WordPress/WordPress-Coding-Standards", | ||
| 2278 | "wiki": "https://github.com/WordPress/WordPress-Coding-Standards/wiki" | ||
| 2279 | }, | ||
| 2280 | "time": "2020-05-13T23:57:56+00:00" | 2180 | "time": "2020-05-13T23:57:56+00:00" |
| 2281 | }, | 2181 | }, |
| 2282 | { | 2182 | { |
| ... | @@ -2347,10 +2247,6 @@ | ... | @@ -2347,10 +2247,6 @@ |
| 2347 | "themes", | 2247 | "themes", |
| 2348 | "wordpress" | 2248 | "wordpress" |
| 2349 | ], | 2249 | ], |
| 2350 | "support": { | ||
| 2351 | "issues": "https://github.com/WPTRT/WPThemeReview/issues", | ||
| 2352 | "source": "https://github.com/WPTRT/WPThemeReview" | ||
| 2353 | }, | ||
| 2354 | "time": "2019-11-17T20:05:55+00:00" | 2250 | "time": "2019-11-17T20:05:55+00:00" |
| 2355 | } | 2251 | } |
| 2356 | ], | 2252 | ], |
| ... | @@ -2365,5 +2261,5 @@ | ... | @@ -2365,5 +2261,5 @@ |
| 2365 | "php": ">=5.6" | 2261 | "php": ">=5.6" |
| 2366 | }, | 2262 | }, |
| 2367 | "platform-dev": [], | 2263 | "platform-dev": [], |
| 2368 | "plugin-api-version": "2.3.0" | 2264 | "plugin-api-version": "1.1.0" |
| 2369 | } | 2265 | } | ... | ... |
-
Please register or sign in to post a comment