InstalledVersions.php 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107
  1. <?php
  2. namespace Composer;
  3. use Composer\Autoload\ClassLoader;
  4. use Composer\Semver\VersionParser;
  5. class InstalledVersions
  6. {
  7. private static $installed = array (
  8. 'root' =>
  9. array (
  10. 'pretty_version' => '1.0.0+no-version-set',
  11. 'version' => '1.0.0.0',
  12. 'aliases' =>
  13. array (
  14. ),
  15. 'reference' => NULL,
  16. 'name' => 'topthink/think',
  17. ),
  18. 'versions' =>
  19. array (
  20. 'adbario/php-dot-notation' =>
  21. array (
  22. 'pretty_version' => '2.2.0',
  23. 'version' => '2.2.0.0',
  24. 'aliases' =>
  25. array (
  26. ),
  27. 'reference' => 'eee4fc81296531e6aafba4c2bbccfc5adab1676e',
  28. ),
  29. 'alibabacloud/client' =>
  30. array (
  31. 'pretty_version' => '1.5.31',
  32. 'version' => '1.5.31.0',
  33. 'aliases' =>
  34. array (
  35. ),
  36. 'reference' => '19224d92fe27ab8ef501d77d4891e7660bc023c1',
  37. ),
  38. 'alibabacloud/tea' =>
  39. array (
  40. 'pretty_version' => '3.1.22',
  41. 'version' => '3.1.22.0',
  42. 'aliases' =>
  43. array (
  44. ),
  45. 'reference' => 'f9c9b2c927253a1c23a5381cc655e41311be7f65',
  46. ),
  47. 'alibabacloud/tea-fileform' =>
  48. array (
  49. 'pretty_version' => '0.3.4',
  50. 'version' => '0.3.4.0',
  51. 'aliases' =>
  52. array (
  53. ),
  54. 'reference' => '4bf0c75a045c8115aa8cb1a394bd08d8bb833181',
  55. ),
  56. 'alipaysdk/easysdk' =>
  57. array (
  58. 'pretty_version' => '2.2.0',
  59. 'version' => '2.2.0.0',
  60. 'aliases' =>
  61. array (
  62. ),
  63. 'reference' => '7a1cfa83c7e140bded957498ea072c77611e6480',
  64. ),
  65. 'aliyuncs/oss-sdk-php' =>
  66. array (
  67. 'pretty_version' => 'v2.4.2',
  68. 'version' => '2.4.2.0',
  69. 'aliases' =>
  70. array (
  71. ),
  72. 'reference' => '0c9d902c33847c07efc66c4cdf823deaea8fc2b6',
  73. ),
  74. 'bacon/bacon-qr-code' =>
  75. array (
  76. 'pretty_version' => '2.0.4',
  77. 'version' => '2.0.4.0',
  78. 'aliases' =>
  79. array (
  80. ),
  81. 'reference' => 'f73543ac4e1def05f1a70bcd1525c8a157a1ad09',
  82. ),
  83. 'clagiordano/weblibs-configmanager' =>
  84. array (
  85. 'pretty_version' => 'v1.5.0',
  86. 'version' => '1.5.0.0',
  87. 'aliases' =>
  88. array (
  89. ),
  90. 'reference' => '8802c7396d61a923c9a73e37ead062b24bb1b273',
  91. ),
  92. 'danielstjules/stringy' =>
  93. array (
  94. 'pretty_version' => '3.1.0',
  95. 'version' => '3.1.0.0',
  96. 'aliases' =>
  97. array (
  98. ),
  99. 'reference' => 'df24ab62d2d8213bbbe88cc36fc35a4503b4bd7e',
  100. ),
  101. 'dasprid/enum' =>
  102. array (
  103. 'pretty_version' => '1.0.3',
  104. 'version' => '1.0.3.0',
  105. 'aliases' =>
  106. array (
  107. ),
  108. 'reference' => '5abf82f213618696dda8e3bf6f64dd042d8542b2',
  109. ),
  110. 'dragonmantank/cron-expression' =>
  111. array (
  112. 'pretty_version' => 'v3.1.0',
  113. 'version' => '3.1.0.0',
  114. 'aliases' =>
  115. array (
  116. ),
  117. 'reference' => '7a8c6e56ab3ffcc538d05e8155bb42269abf1a0c',
  118. ),
  119. 'easywechat-composer/easywechat-composer' =>
  120. array (
  121. 'pretty_version' => '1.4.1',
  122. 'version' => '1.4.1.0',
  123. 'aliases' =>
  124. array (
  125. ),
  126. 'reference' => '3fc6a7ab6d3853c0f4e2922539b56cc37ef361cd',
  127. ),
  128. 'ezyang/htmlpurifier' =>
  129. array (
  130. 'pretty_version' => 'v4.13.0',
  131. 'version' => '4.13.0.0',
  132. 'aliases' =>
  133. array (
  134. ),
  135. 'reference' => '08e27c97e4c6ed02f37c5b2b20488046c8d90d75',
  136. ),
  137. 'guzzlehttp/command' =>
  138. array (
  139. 'pretty_version' => '1.2.1',
  140. 'version' => '1.2.1.0',
  141. 'aliases' =>
  142. array (
  143. ),
  144. 'reference' => '04b06e7f5ef37d814aeb3f4b6015b65a9d4412c5',
  145. ),
  146. 'guzzlehttp/guzzle' =>
  147. array (
  148. 'pretty_version' => '7.3.0',
  149. 'version' => '7.3.0.0',
  150. 'aliases' =>
  151. array (
  152. ),
  153. 'reference' => '7008573787b430c1c1f650e3722d9bba59967628',
  154. ),
  155. 'guzzlehttp/guzzle-services' =>
  156. array (
  157. 'pretty_version' => '1.3.1',
  158. 'version' => '1.3.1.0',
  159. 'aliases' =>
  160. array (
  161. ),
  162. 'reference' => '3731f120ce6856f4c71fff7cb2a27e263fe69f84',
  163. ),
  164. 'guzzlehttp/promises' =>
  165. array (
  166. 'pretty_version' => '1.4.1',
  167. 'version' => '1.4.1.0',
  168. 'aliases' =>
  169. array (
  170. ),
  171. 'reference' => '8e7d04f1f6450fef59366c399cfad4b9383aa30d',
  172. ),
  173. 'guzzlehttp/psr7' =>
  174. array (
  175. 'pretty_version' => '2.7.0',
  176. 'version' => '2.7.0.0',
  177. 'aliases' =>
  178. array (
  179. ),
  180. 'reference' => 'a70f5c95fb43bc83f07c9c948baa0dc1829bf201',
  181. ),
  182. 'guzzlehttp/uri-template' =>
  183. array (
  184. 'pretty_version' => 'v1.0.1',
  185. 'version' => '1.0.1.0',
  186. 'aliases' =>
  187. array (
  188. ),
  189. 'reference' => 'b945d74a55a25a949158444f09ec0d3c120d69e2',
  190. ),
  191. 'hyperf/context' =>
  192. array (
  193. 'pretty_version' => 'v3.0.37',
  194. 'version' => '3.0.37.0',
  195. 'aliases' =>
  196. array (
  197. ),
  198. 'reference' => '264e06fb882426d90758eca2c5bb8293f8b60455',
  199. ),
  200. 'hyperf/contract' =>
  201. array (
  202. 'pretty_version' => 'v3.0.37',
  203. 'version' => '3.0.37.0',
  204. 'aliases' =>
  205. array (
  206. ),
  207. 'reference' => '2e8290104468a8d90855067d8644a32114474452',
  208. ),
  209. 'hyperf/engine' =>
  210. array (
  211. 'pretty_version' => 'v1.10.0',
  212. 'version' => '1.10.0.0',
  213. 'aliases' =>
  214. array (
  215. ),
  216. 'reference' => 'da38c8708f3d78d1490331e432d385489720568f',
  217. ),
  218. 'hyperf/pimple' =>
  219. array (
  220. 'pretty_version' => 'v2.2.2',
  221. 'version' => '2.2.2.0',
  222. 'aliases' =>
  223. array (
  224. ),
  225. 'reference' => '7bd07745c256b83679471c06ec2a11e901d37277',
  226. ),
  227. 'maennchen/zipstream-php' =>
  228. array (
  229. 'pretty_version' => '2.1.0',
  230. 'version' => '2.1.0.0',
  231. 'aliases' =>
  232. array (
  233. ),
  234. 'reference' => 'c4c5803cc1f93df3d2448478ef79394a5981cc58',
  235. ),
  236. 'markbaker/complex' =>
  237. array (
  238. 'pretty_version' => '2.0.3',
  239. 'version' => '2.0.3.0',
  240. 'aliases' =>
  241. array (
  242. ),
  243. 'reference' => '6f724d7e04606fd8adaa4e3bb381c3e9db09c946',
  244. ),
  245. 'markbaker/matrix' =>
  246. array (
  247. 'pretty_version' => '2.1.3',
  248. 'version' => '2.1.3.0',
  249. 'aliases' =>
  250. array (
  251. ),
  252. 'reference' => '174395a901b5ba0925f1d790fa91bab531074b61',
  253. ),
  254. 'monolog/monolog' =>
  255. array (
  256. 'pretty_version' => '2.3.2',
  257. 'version' => '2.3.2.0',
  258. 'aliases' =>
  259. array (
  260. ),
  261. 'reference' => '71312564759a7db5b789296369c1a264efc43aad',
  262. ),
  263. 'mtdowling/cron-expression' =>
  264. array (
  265. 'replaced' =>
  266. array (
  267. 0 => '^1.0',
  268. ),
  269. ),
  270. 'mtdowling/jmespath.php' =>
  271. array (
  272. 'pretty_version' => '2.6.1',
  273. 'version' => '2.6.1.0',
  274. 'aliases' =>
  275. array (
  276. ),
  277. 'reference' => '9b87907a81b87bc76d19a7fb2d61e61486ee9edb',
  278. ),
  279. 'myclabs/php-enum' =>
  280. array (
  281. 'pretty_version' => '1.8.3',
  282. 'version' => '1.8.3.0',
  283. 'aliases' =>
  284. array (
  285. ),
  286. 'reference' => 'b942d263c641ddb5190929ff840c68f78713e937',
  287. ),
  288. 'nette/php-generator' =>
  289. array (
  290. 'pretty_version' => 'v3.6.6',
  291. 'version' => '3.6.6.0',
  292. 'aliases' =>
  293. array (
  294. ),
  295. 'reference' => 'ad7d0a77f58260001bd263605eb2b9fbaf1d61a7',
  296. ),
  297. 'nette/utils' =>
  298. array (
  299. 'pretty_version' => 'v3.2.7',
  300. 'version' => '3.2.7.0',
  301. 'aliases' =>
  302. array (
  303. ),
  304. 'reference' => '0af4e3de4df9f1543534beab255ccf459e7a2c99',
  305. ),
  306. 'open-smf/connection-pool' =>
  307. array (
  308. 'pretty_version' => 'v1.0.16',
  309. 'version' => '1.0.16.0',
  310. 'aliases' =>
  311. array (
  312. ),
  313. 'reference' => 'f70e47dbf56f1869d3207e15825cf38810b865e0',
  314. ),
  315. 'overtrue/socialite' =>
  316. array (
  317. 'pretty_version' => '3.2.3',
  318. 'version' => '3.2.3.0',
  319. 'aliases' =>
  320. array (
  321. ),
  322. 'reference' => 'e331d3e2eb7040a53c674590dfa475b3ae141d32',
  323. ),
  324. 'overtrue/wechat' =>
  325. array (
  326. 'pretty_version' => '5.7.1',
  327. 'version' => '5.7.1.0',
  328. 'aliases' =>
  329. array (
  330. ),
  331. 'reference' => 'af06e58784aaaeaadc35f984e7e38ef05197bb31',
  332. ),
  333. 'phpoffice/phpspreadsheet' =>
  334. array (
  335. 'pretty_version' => '1.18.0',
  336. 'version' => '1.18.0.0',
  337. 'aliases' =>
  338. array (
  339. ),
  340. 'reference' => '418cd304e8e6b417ea79c3b29126a25dc4b1170c',
  341. ),
  342. 'pimple/pimple' =>
  343. array (
  344. 'pretty_version' => 'v3.4.0',
  345. 'version' => '3.4.0.0',
  346. 'aliases' =>
  347. array (
  348. ),
  349. 'reference' => '86406047271859ffc13424a048541f4531f53601',
  350. ),
  351. 'psr/cache' =>
  352. array (
  353. 'pretty_version' => '1.0.1',
  354. 'version' => '1.0.1.0',
  355. 'aliases' =>
  356. array (
  357. ),
  358. 'reference' => 'd11b50ad223250cf17b86e38383413f5a6764bf8',
  359. ),
  360. 'psr/cache-implementation' =>
  361. array (
  362. 'provided' =>
  363. array (
  364. 0 => '1.0|2.0',
  365. ),
  366. ),
  367. 'psr/container' =>
  368. array (
  369. 'pretty_version' => '1.1.2',
  370. 'version' => '1.1.2.0',
  371. 'aliases' =>
  372. array (
  373. ),
  374. 'reference' => '513e0666f7216c7459170d56df27dfcefe1689ea',
  375. ),
  376. 'psr/event-dispatcher' =>
  377. array (
  378. 'pretty_version' => '1.0.0',
  379. 'version' => '1.0.0.0',
  380. 'aliases' =>
  381. array (
  382. ),
  383. 'reference' => 'dbefd12671e8a14ec7f180cab83036ed26714bb0',
  384. ),
  385. 'psr/event-dispatcher-implementation' =>
  386. array (
  387. 'provided' =>
  388. array (
  389. 0 => '1.0',
  390. ),
  391. ),
  392. 'psr/http-client' =>
  393. array (
  394. 'pretty_version' => '1.0.3',
  395. 'version' => '1.0.3.0',
  396. 'aliases' =>
  397. array (
  398. ),
  399. 'reference' => 'bb5906edc1c324c9a05aa0873d40117941e5fa90',
  400. ),
  401. 'psr/http-client-implementation' =>
  402. array (
  403. 'provided' =>
  404. array (
  405. 0 => '1.0',
  406. ),
  407. ),
  408. 'psr/http-factory' =>
  409. array (
  410. 'pretty_version' => '1.0.2',
  411. 'version' => '1.0.2.0',
  412. 'aliases' =>
  413. array (
  414. ),
  415. 'reference' => 'e616d01114759c4c489f93b099585439f795fe35',
  416. ),
  417. 'psr/http-factory-implementation' =>
  418. array (
  419. 'provided' =>
  420. array (
  421. 0 => '1.0',
  422. ),
  423. ),
  424. 'psr/http-message' =>
  425. array (
  426. 'pretty_version' => '1.1',
  427. 'version' => '1.1.0.0',
  428. 'aliases' =>
  429. array (
  430. ),
  431. 'reference' => 'cb6ce4845ce34a8ad9e68117c10ee90a29919eba',
  432. ),
  433. 'psr/http-message-implementation' =>
  434. array (
  435. 'provided' =>
  436. array (
  437. 0 => '1.0',
  438. ),
  439. ),
  440. 'psr/log' =>
  441. array (
  442. 'pretty_version' => '1.1.4',
  443. 'version' => '1.1.4.0',
  444. 'aliases' =>
  445. array (
  446. ),
  447. 'reference' => 'd49695b909c3b7628b6289db5479a1c204601f11',
  448. ),
  449. 'psr/log-implementation' =>
  450. array (
  451. 'provided' =>
  452. array (
  453. 0 => '1.0.0',
  454. ),
  455. ),
  456. 'psr/simple-cache' =>
  457. array (
  458. 'pretty_version' => '1.0.1',
  459. 'version' => '1.0.1.0',
  460. 'aliases' =>
  461. array (
  462. ),
  463. 'reference' => '408d5eafb83c57f6365a3ca330ff23aa4a5fa39b',
  464. ),
  465. 'psr/simple-cache-implementation' =>
  466. array (
  467. 'provided' =>
  468. array (
  469. 0 => '1.0',
  470. ),
  471. ),
  472. 'qcloud/cos-sdk-v5' =>
  473. array (
  474. 'pretty_version' => 'v2.4.4',
  475. 'version' => '2.4.4.0',
  476. 'aliases' =>
  477. array (
  478. ),
  479. 'reference' => '2862ce2c9244eb12f099483db578910bde9b045a',
  480. ),
  481. 'qiniu/php-sdk' =>
  482. array (
  483. 'pretty_version' => 'v7.4.0',
  484. 'version' => '7.4.0.0',
  485. 'aliases' =>
  486. array (
  487. ),
  488. 'reference' => '1c6bc89166e524a40ee42bf516fb99ffc6401c82',
  489. ),
  490. 'ralouphie/getallheaders' =>
  491. array (
  492. 'pretty_version' => '3.0.3',
  493. 'version' => '3.0.3.0',
  494. 'aliases' =>
  495. array (
  496. ),
  497. 'reference' => '120b605dfeb996808c31b6477290a714d356e822',
  498. ),
  499. 'rmccue/requests' =>
  500. array (
  501. 'pretty_version' => 'v1.8.1',
  502. 'version' => '1.8.1.0',
  503. 'aliases' =>
  504. array (
  505. ),
  506. 'reference' => '82e6936366eac3af4d836c18b9d8c31028fe4cd5',
  507. ),
  508. 'songshenzong/support' =>
  509. array (
  510. 'pretty_version' => '2.0.5',
  511. 'version' => '2.0.5.0',
  512. 'aliases' =>
  513. array (
  514. ),
  515. 'reference' => '34973c04ffcf226e503f1c3a69d30ac49f7621f6',
  516. ),
  517. 'stechstudio/backoff' =>
  518. array (
  519. 'pretty_version' => '1.2',
  520. 'version' => '1.2.0.0',
  521. 'aliases' =>
  522. array (
  523. ),
  524. 'reference' => '816e46107a6be2e1072ba0ff2cb26034872dfa49',
  525. ),
  526. 'swoole/ide-helper' =>
  527. array (
  528. 'pretty_version' => '4.8.7',
  529. 'version' => '4.8.7.0',
  530. 'aliases' =>
  531. array (
  532. ),
  533. 'reference' => '62d306dcfdb7c2cd21768386955af9de387163f9',
  534. ),
  535. 'symfony/cache' =>
  536. array (
  537. 'pretty_version' => 'v5.3.4',
  538. 'version' => '5.3.4.0',
  539. 'aliases' =>
  540. array (
  541. ),
  542. 'reference' => '944db6004fc374fbe032d18e07cce51cc4e1e661',
  543. ),
  544. 'symfony/cache-contracts' =>
  545. array (
  546. 'pretty_version' => 'v2.4.0',
  547. 'version' => '2.4.0.0',
  548. 'aliases' =>
  549. array (
  550. ),
  551. 'reference' => 'c0446463729b89dd4fa62e9aeecc80287323615d',
  552. ),
  553. 'symfony/cache-implementation' =>
  554. array (
  555. 'provided' =>
  556. array (
  557. 0 => '1.0|2.0',
  558. ),
  559. ),
  560. 'symfony/deprecation-contracts' =>
  561. array (
  562. 'pretty_version' => 'v2.4.0',
  563. 'version' => '2.4.0.0',
  564. 'aliases' =>
  565. array (
  566. ),
  567. 'reference' => '5f38c8804a9e97d23e0c8d63341088cd8a22d627',
  568. ),
  569. 'symfony/event-dispatcher' =>
  570. array (
  571. 'pretty_version' => 'v5.3.4',
  572. 'version' => '5.3.4.0',
  573. 'aliases' =>
  574. array (
  575. ),
  576. 'reference' => 'f2fd2208157553874560f3645d4594303058c4bd',
  577. ),
  578. 'symfony/event-dispatcher-contracts' =>
  579. array (
  580. 'pretty_version' => 'v2.4.0',
  581. 'version' => '2.4.0.0',
  582. 'aliases' =>
  583. array (
  584. ),
  585. 'reference' => '69fee1ad2332a7cbab3aca13591953da9cdb7a11',
  586. ),
  587. 'symfony/event-dispatcher-implementation' =>
  588. array (
  589. 'provided' =>
  590. array (
  591. 0 => '2.0',
  592. ),
  593. ),
  594. 'symfony/finder' =>
  595. array (
  596. 'pretty_version' => 'v5.4.3',
  597. 'version' => '5.4.3.0',
  598. 'aliases' =>
  599. array (
  600. ),
  601. 'reference' => '231313534dded84c7ecaa79d14bc5da4ccb69b7d',
  602. ),
  603. 'symfony/http-foundation' =>
  604. array (
  605. 'pretty_version' => 'v5.3.4',
  606. 'version' => '5.3.4.0',
  607. 'aliases' =>
  608. array (
  609. ),
  610. 'reference' => 'd6602aca7d3e11f401a0b24f43b611c530abfad3',
  611. ),
  612. 'symfony/polyfill-ctype' =>
  613. array (
  614. 'pretty_version' => 'v1.23.0',
  615. 'version' => '1.23.0.0',
  616. 'aliases' =>
  617. array (
  618. ),
  619. 'reference' => '46cd95797e9df938fdd2b03693b5fca5e64b01ce',
  620. ),
  621. 'symfony/polyfill-mbstring' =>
  622. array (
  623. 'pretty_version' => 'v1.23.1',
  624. 'version' => '1.23.1.0',
  625. 'aliases' =>
  626. array (
  627. ),
  628. 'reference' => '9174a3d80210dca8daa7f31fec659150bbeabfc6',
  629. ),
  630. 'symfony/polyfill-php72' =>
  631. array (
  632. 'pretty_version' => 'v1.23.0',
  633. 'version' => '1.23.0.0',
  634. 'aliases' =>
  635. array (
  636. ),
  637. 'reference' => '9a142215a36a3888e30d0a9eeea9766764e96976',
  638. ),
  639. 'symfony/polyfill-php80' =>
  640. array (
  641. 'pretty_version' => 'v1.23.1',
  642. 'version' => '1.23.1.0',
  643. 'aliases' =>
  644. array (
  645. ),
  646. 'reference' => '1100343ed1a92e3a38f9ae122fc0eb21602547be',
  647. ),
  648. 'symfony/psr-http-message-bridge' =>
  649. array (
  650. 'pretty_version' => 'v2.1.1',
  651. 'version' => '2.1.1.0',
  652. 'aliases' =>
  653. array (
  654. ),
  655. 'reference' => 'c9012994c4b4fb23e7c57dd86b763a417a04feba',
  656. ),
  657. 'symfony/service-contracts' =>
  658. array (
  659. 'pretty_version' => 'v2.4.0',
  660. 'version' => '2.4.0.0',
  661. 'aliases' =>
  662. array (
  663. ),
  664. 'reference' => 'f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb',
  665. ),
  666. 'symfony/var-dumper' =>
  667. array (
  668. 'pretty_version' => 'v4.4.27',
  669. 'version' => '4.4.27.0',
  670. 'aliases' =>
  671. array (
  672. ),
  673. 'reference' => '391d6d0e7a06ab54eb7c38fab29b8d174471b3ba',
  674. ),
  675. 'symfony/var-exporter' =>
  676. array (
  677. 'pretty_version' => 'v5.3.4',
  678. 'version' => '5.3.4.0',
  679. 'aliases' =>
  680. array (
  681. ),
  682. 'reference' => 'b7898a65fc91e7c41de7a88c7db9aee9c0d432f0',
  683. ),
  684. 'symfony/yaml' =>
  685. array (
  686. 'pretty_version' => 'v2.8.52',
  687. 'version' => '2.8.52.0',
  688. 'aliases' =>
  689. array (
  690. ),
  691. 'reference' => '02c1859112aa779d9ab394ae4f3381911d84052b',
  692. ),
  693. 'tencentcloud/tencentcloud-sdk-php' =>
  694. array (
  695. 'pretty_version' => '3.0.1159',
  696. 'version' => '3.0.1159.0',
  697. 'aliases' =>
  698. array (
  699. ),
  700. 'reference' => '1447d10e941f488d5444340b299186a017cda72b',
  701. ),
  702. 'topthink/framework' =>
  703. array (
  704. 'pretty_version' => 'v6.1.1',
  705. 'version' => '6.1.1.0',
  706. 'aliases' =>
  707. array (
  708. ),
  709. 'reference' => '2cb56f3e6f3c479fe90ea5f28d38d3b5ef6c4210',
  710. ),
  711. 'topthink/think' =>
  712. array (
  713. 'pretty_version' => '1.0.0+no-version-set',
  714. 'version' => '1.0.0.0',
  715. 'aliases' =>
  716. array (
  717. ),
  718. 'reference' => NULL,
  719. ),
  720. 'topthink/think-helper' =>
  721. array (
  722. 'pretty_version' => 'v3.1.5',
  723. 'version' => '3.1.5.0',
  724. 'aliases' =>
  725. array (
  726. ),
  727. 'reference' => 'f98e3ad44acd27ae85a4d923b1bdfd16c6d8d905',
  728. ),
  729. 'topthink/think-multi-app' =>
  730. array (
  731. 'pretty_version' => 'v1.0.14',
  732. 'version' => '1.0.14.0',
  733. 'aliases' =>
  734. array (
  735. ),
  736. 'reference' => 'ccaad7c2d33f42cb1cc2a78d6610aaec02cea4c3',
  737. ),
  738. 'topthink/think-orm' =>
  739. array (
  740. 'pretty_version' => 'v2.0.44',
  741. 'version' => '2.0.44.0',
  742. 'aliases' =>
  743. array (
  744. ),
  745. 'reference' => '5d3d5c1ebf8bfccf34bacd90edb42989b16ea409',
  746. ),
  747. 'topthink/think-swoole' =>
  748. array (
  749. 'pretty_version' => 'v3.1.3',
  750. 'version' => '3.1.3.0',
  751. 'aliases' =>
  752. array (
  753. ),
  754. 'reference' => 'df78b1f6eb6cd8f45f49ab7b0d4cc65595181504',
  755. ),
  756. 'topthink/think-template' =>
  757. array (
  758. 'pretty_version' => 'v2.0.8',
  759. 'version' => '2.0.8.0',
  760. 'aliases' =>
  761. array (
  762. ),
  763. 'reference' => 'abfc293f74f9ef5127b5c416310a01fe42e59368',
  764. ),
  765. 'topthink/think-view' =>
  766. array (
  767. 'pretty_version' => 'v1.0.14',
  768. 'version' => '1.0.14.0',
  769. 'aliases' =>
  770. array (
  771. ),
  772. 'reference' => 'edce0ae2c9551ab65f9e94a222604b0dead3576d',
  773. ),
  774. 'webmozart/assert' =>
  775. array (
  776. 'pretty_version' => '1.10.0',
  777. 'version' => '1.10.0.0',
  778. 'aliases' =>
  779. array (
  780. ),
  781. 'reference' => '6964c76c7804814a842473e0c8fd15bab0f18e25',
  782. ),
  783. 'xin/container' =>
  784. array (
  785. 'pretty_version' => '2.0.1',
  786. 'version' => '2.0.1.0',
  787. 'aliases' =>
  788. array (
  789. ),
  790. 'reference' => '97bb67f87dd851545938a1f2fe0ffbd379e3ff81',
  791. ),
  792. 'xin/helper' =>
  793. array (
  794. 'pretty_version' => '1.0.0',
  795. 'version' => '1.0.0.0',
  796. 'aliases' =>
  797. array (
  798. ),
  799. 'reference' => '02a58132dae2aea2d1c0b8e66f55125969224747',
  800. ),
  801. 'yansongda/artful' =>
  802. array (
  803. 'pretty_version' => 'v1.1.2',
  804. 'version' => '1.1.2.0',
  805. 'aliases' =>
  806. array (
  807. ),
  808. 'reference' => 'bad726c6287aca219750823bff46f70287ec3995',
  809. ),
  810. 'yansongda/pay' =>
  811. array (
  812. 'pretty_version' => 'v3.7.10',
  813. 'version' => '3.7.10.0',
  814. 'aliases' =>
  815. array (
  816. ),
  817. 'reference' => '0aea5b2ddcd3f017fc7e7124dd1d157b7810b16c',
  818. ),
  819. 'yansongda/supports' =>
  820. array (
  821. 'pretty_version' => 'v4.0.10',
  822. 'version' => '4.0.10.0',
  823. 'aliases' =>
  824. array (
  825. ),
  826. 'reference' => '11cc73776e6d4d763a84c8c733f64820abdc44e5',
  827. ),
  828. 'yly-openapi/yly-openapi-sdk' =>
  829. array (
  830. 'pretty_version' => '1.0.2',
  831. 'version' => '1.0.2.0',
  832. 'aliases' =>
  833. array (
  834. ),
  835. 'reference' => '26030adf8d75881d8837d3d52548a4a0917e7e3d',
  836. ),
  837. ),
  838. );
  839. private static $canGetVendors;
  840. private static $installedByVendor = array();
  841. public static function getInstalledPackages()
  842. {
  843. $packages = array();
  844. foreach (self::getInstalled() as $installed) {
  845. $packages[] = array_keys($installed['versions']);
  846. }
  847. if (1 === \count($packages)) {
  848. return $packages[0];
  849. }
  850. return array_keys(array_flip(\call_user_func_array('array_merge', $packages)));
  851. }
  852. public static function isInstalled($packageName)
  853. {
  854. foreach (self::getInstalled() as $installed) {
  855. if (isset($installed['versions'][$packageName])) {
  856. return true;
  857. }
  858. }
  859. return false;
  860. }
  861. public static function satisfies(VersionParser $parser, $packageName, $constraint)
  862. {
  863. $constraint = $parser->parseConstraints($constraint);
  864. $provided = $parser->parseConstraints(self::getVersionRanges($packageName));
  865. return $provided->matches($constraint);
  866. }
  867. public static function getVersionRanges($packageName)
  868. {
  869. foreach (self::getInstalled() as $installed) {
  870. if (!isset($installed['versions'][$packageName])) {
  871. continue;
  872. }
  873. $ranges = array();
  874. if (isset($installed['versions'][$packageName]['pretty_version'])) {
  875. $ranges[] = $installed['versions'][$packageName]['pretty_version'];
  876. }
  877. if (array_key_exists('aliases', $installed['versions'][$packageName])) {
  878. $ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']);
  879. }
  880. if (array_key_exists('replaced', $installed['versions'][$packageName])) {
  881. $ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']);
  882. }
  883. if (array_key_exists('provided', $installed['versions'][$packageName])) {
  884. $ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']);
  885. }
  886. return implode(' || ', $ranges);
  887. }
  888. throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
  889. }
  890. public static function getVersion($packageName)
  891. {
  892. foreach (self::getInstalled() as $installed) {
  893. if (!isset($installed['versions'][$packageName])) {
  894. continue;
  895. }
  896. if (!isset($installed['versions'][$packageName]['version'])) {
  897. return null;
  898. }
  899. return $installed['versions'][$packageName]['version'];
  900. }
  901. throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
  902. }
  903. public static function getPrettyVersion($packageName)
  904. {
  905. foreach (self::getInstalled() as $installed) {
  906. if (!isset($installed['versions'][$packageName])) {
  907. continue;
  908. }
  909. if (!isset($installed['versions'][$packageName]['pretty_version'])) {
  910. return null;
  911. }
  912. return $installed['versions'][$packageName]['pretty_version'];
  913. }
  914. throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
  915. }
  916. public static function getReference($packageName)
  917. {
  918. foreach (self::getInstalled() as $installed) {
  919. if (!isset($installed['versions'][$packageName])) {
  920. continue;
  921. }
  922. if (!isset($installed['versions'][$packageName]['reference'])) {
  923. return null;
  924. }
  925. return $installed['versions'][$packageName]['reference'];
  926. }
  927. throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
  928. }
  929. public static function getRootPackage()
  930. {
  931. $installed = self::getInstalled();
  932. return $installed[0]['root'];
  933. }
  934. public static function getRawData()
  935. {
  936. @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);
  937. return self::$installed;
  938. }
  939. public static function getAllRawData()
  940. {
  941. return self::getInstalled();
  942. }
  943. public static function reload($data)
  944. {
  945. self::$installed = $data;
  946. self::$installedByVendor = array();
  947. }
  948. private static function getInstalled()
  949. {
  950. if (null === self::$canGetVendors) {
  951. self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders');
  952. }
  953. $installed = array();
  954. if (self::$canGetVendors) {
  955. foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
  956. if (isset(self::$installedByVendor[$vendorDir])) {
  957. $installed[] = self::$installedByVendor[$vendorDir];
  958. } elseif (is_file($vendorDir.'/composer/installed.php')) {
  959. $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php';
  960. }
  961. }
  962. }
  963. $installed[] = self::$installed;
  964. return $installed;
  965. }
  966. }