diff --git a/CHANGELOG.md b/CHANGELOG.md index 4082f51f..2a9f98a9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,8 @@ # v1.10.3 ## mm/dd/2021 -2. [](#bugfix) +1. [](#new) + * Requires **Grav 1.7.4** (SemVer library moved to Grav) * Added back special fonts (including Gantry) # v1.10.2 diff --git a/blueprints.yaml b/blueprints.yaml index d4c3ab13..49f2ff96 100644 --- a/blueprints.yaml +++ b/blueprints.yaml @@ -15,7 +15,7 @@ docs: https://github.com/getgrav/grav-plugin-admin/blob/develop/README.md license: MIT dependencies: - - { name: grav, version: '>=1.7.0' } + - { name: grav, version: '>=1.7.4' } - { name: form, version: '>=4.1.0' } - { name: login, version: '>=3.3.5' } - { name: email, version: '>=3.0.9' } diff --git a/composer.json b/composer.json index 0145e653..4075c53b 100644 --- a/composer.json +++ b/composer.json @@ -22,7 +22,6 @@ "require": { "php": "^7.3.6 || ^8.0", "ext-json": "*", - "composer/semver": "^1.4", "p3k/picofeed": "@stable", "scssphp/scssphp": "^1.4" }, @@ -34,6 +33,10 @@ "symfony/finder": "~4.4", "symfony/event-dispatcher": "~4.4" }, + "replace": { + "symfony/polyfill-php72": "*", + "symfony/polyfill-php73": "*" + }, "autoload": { "psr-4": { "Grav\\Plugin\\Admin\\": "classes/plugin" diff --git a/composer.lock b/composer.lock index c41b25c7..37f1dfd5 100644 --- a/composer.lock +++ b/composer.lock @@ -4,69 +4,8 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "e8b00c9226247f92f0b269825202c477", + "content-hash": "54cd13d690b7da1ef39003150531284a", "packages": [ - { - "name": "composer/semver", - "version": "1.7.1", - "source": { - "type": "git", - "url": "https://github.com/composer/semver.git", - "reference": "38276325bd896f90dfcfe30029aa5db40df387a7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/38276325bd896f90dfcfe30029aa5db40df387a7", - "reference": "38276325bd896f90dfcfe30029aa5db40df387a7", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.5 || ^5.0.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\Semver\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - }, - { - "name": "Rob Bast", - "email": "rob.bast@gmail.com", - "homepage": "http://robbast.nl" - } - ], - "description": "Semver library that offers utilities, version constraint parsing and validation.", - "keywords": [ - "semantic", - "semver", - "validation", - "versioning" - ], - "time": "2020-09-27T13:13:07+00:00" - }, { "name": "laminas/laminas-xml", "version": "1.3.0", @@ -110,6 +49,19 @@ "security", "xml" ], + "support": { + "chat": "https://laminas.dev/chat", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-xml/issues", + "rss": "https://github.com/laminas/laminas-xml/releases.atom", + "source": "https://github.com/laminas/laminas-xml" + }, + "funding": [ + { + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], "time": "2020-11-18T20:46:37+00:00" }, { @@ -158,6 +110,18 @@ "laminas", "zf" ], + "support": { + "forum": "https://discourse.laminas.dev/", + "issues": "https://github.com/laminas/laminas-zendframework-bridge/issues", + "rss": "https://github.com/laminas/laminas-zendframework-bridge/releases.atom", + "source": "https://github.com/laminas/laminas-zendframework-bridge" + }, + "funding": [ + { + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], "time": "2020-09-14T14:23:00+00:00" }, { @@ -214,20 +178,24 @@ ], "description": "Modern library to handle RSS/Atom feeds", "homepage": "https://github.com/aaronpk/picoFeed", + "support": { + "issues": "https://github.com/aaronpk/picofeed/issues", + "source": "https://github.com/aaronpk/picofeed/tree/v0.1.40" + }, "time": "2020-04-25T17:48:36+00:00" }, { "name": "scssphp/scssphp", - "version": "v1.4.0", + "version": "v1.4.1", "source": { "type": "git", "url": "https://github.com/scssphp/scssphp.git", - "reference": "f7c9088320e218ca42e4ef0074259a1ba24ec93a" + "reference": "ba86c963b94ec7ebd6e19d90cdab90d89667dbf7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/scssphp/scssphp/zipball/f7c9088320e218ca42e4ef0074259a1ba24ec93a", - "reference": "f7c9088320e218ca42e4ef0074259a1ba24ec93a", + "url": "https://api.github.com/repos/scssphp/scssphp/zipball/ba86c963b94ec7ebd6e19d90cdab90d89667dbf7", + "reference": "ba86c963b94ec7ebd6e19d90cdab90d89667dbf7", "shasum": "" }, "require": { @@ -237,7 +205,7 @@ }, "require-dev": { "phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.3 || ^9.4", - "sass/sass-spec": "2020.10.29", + "sass/sass-spec": "2020.12.29", "squizlabs/php_codesniffer": "~3.5", "symfony/phpunit-bridge": "^5.1", "twbs/bootstrap": "~4.3", @@ -277,29 +245,33 @@ "scss", "stylesheet" ], - "time": "2020-11-07T20:53:41+00:00" + "support": { + "issues": "https://github.com/scssphp/scssphp/issues", + "source": "https://github.com/scssphp/scssphp/tree/v1.4.1" + }, + "time": "2021-01-04T13:23:23+00:00" } ], "packages-dev": [ { "name": "behat/gherkin", - "version": "v4.6.2", + "version": "v4.7.1", "source": { "type": "git", "url": "https://github.com/Behat/Gherkin.git", - "reference": "51ac4500c4dc30cbaaabcd2f25694299df666a31" + "reference": "987bcdc3d29ba433e6bd4b1db4ae59737ba3dacd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Behat/Gherkin/zipball/51ac4500c4dc30cbaaabcd2f25694299df666a31", - "reference": "51ac4500c4dc30cbaaabcd2f25694299df666a31", + "url": "https://api.github.com/repos/Behat/Gherkin/zipball/987bcdc3d29ba433e6bd4b1db4ae59737ba3dacd", + "reference": "987bcdc3d29ba433e6bd4b1db4ae59737ba3dacd", "shasum": "" }, "require": { - "php": ">=5.3.1" + "php": ">=5.6" }, "require-dev": { - "phpunit/phpunit": "~4.5|~5", + "phpunit/phpunit": "~5.7|~6|~7", "symfony/phpunit-bridge": "~2.7|~3|~4", "symfony/yaml": "~2.3|~3|~4" }, @@ -328,7 +300,7 @@ "homepage": "http://everzet.com" } ], - "description": "Gherkin DSL parser for PHP 5.3", + "description": "Gherkin DSL parser for PHP", "homepage": "http://behat.org/", "keywords": [ "BDD", @@ -338,7 +310,11 @@ "gherkin", "parser" ], - "time": "2020-03-17T14:03:26+00:00" + "support": { + "issues": "https://github.com/Behat/Gherkin/issues", + "source": "https://github.com/Behat/Gherkin/tree/v4.7.1" + }, + "time": "2021-01-26T16:24:32+00:00" }, { "name": "codeception/codeception", @@ -430,20 +406,24 @@ "functional testing", "unit testing" ], + "support": { + "issues": "https://github.com/Codeception/Codeception/issues", + "source": "https://github.com/Codeception/Codeception/tree/2.5.6" + }, "time": "2019-04-24T11:28:19+00:00" }, { "name": "codeception/phpunit-wrapper", - "version": "7.8.1", + "version": "7.8.2", "source": { "type": "git", "url": "https://github.com/Codeception/phpunit-wrapper.git", - "reference": "bc6f37d770ec00c4c7c78a1cac2b8ac0f9c9eec5" + "reference": "cafed18048826790c527843f9b85e8cc79b866f1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Codeception/phpunit-wrapper/zipball/bc6f37d770ec00c4c7c78a1cac2b8ac0f9c9eec5", - "reference": "bc6f37d770ec00c4c7c78a1cac2b8ac0f9c9eec5", + "url": "https://api.github.com/repos/Codeception/phpunit-wrapper/zipball/cafed18048826790c527843f9b85e8cc79b866f1", + "reference": "cafed18048826790c527843f9b85e8cc79b866f1", "shasum": "" }, "require": { @@ -473,7 +453,11 @@ } ], "description": "PHPUnit classes used by Codeception", - "time": "2020-10-11T18:23:48+00:00" + "support": { + "issues": "https://github.com/Codeception/phpunit-wrapper/issues", + "source": "https://github.com/Codeception/phpunit-wrapper/tree/7.8.2" + }, + "time": "2020-12-28T14:00:26+00:00" }, { "name": "codeception/stub", @@ -503,6 +487,10 @@ "MIT" ], "description": "Flexible Stub wrapper for PHPUnit's Mock Builder", + "support": { + "issues": "https://github.com/Codeception/Stub/issues", + "source": "https://github.com/Codeception/Stub/tree/master" + }, "time": "2019-03-02T15:35:10+00:00" }, { @@ -554,6 +542,24 @@ "constructor", "instantiate" ], + "support": { + "issues": "https://github.com/doctrine/instantiator/issues", + "source": "https://github.com/doctrine/instantiator/tree/1.4.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", + "type": "tidelift" + } + ], "time": "2020-11-10T18:47:58+00:00" }, { @@ -614,21 +620,26 @@ "selenium", "webdriver" ], + "support": { + "forum": "https://www.facebook.com/groups/phpwebdriver/", + "issues": "https://github.com/facebook/php-webdriver/issues", + "source": "https://github.com/facebook/php-webdriver" + }, "abandoned": "php-webdriver/webdriver", "time": "2019-06-13T08:02:18+00:00" }, { "name": "fzaninotto/faker", - "version": "v1.9.1", + "version": "v1.9.2", "source": { "type": "git", "url": "https://github.com/fzaninotto/Faker.git", - "reference": "fc10d778e4b84d5bd315dad194661e091d307c6f" + "reference": "848d8125239d7dbf8ab25cb7f054f1a630e68c2e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/fc10d778e4b84d5bd315dad194661e091d307c6f", - "reference": "fc10d778e4b84d5bd315dad194661e091d307c6f", + "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/848d8125239d7dbf8ab25cb7f054f1a630e68c2e", + "reference": "848d8125239d7dbf8ab25cb7f054f1a630e68c2e", "shasum": "" }, "require": { @@ -665,8 +676,12 @@ "faker", "fixtures" ], + "support": { + "issues": "https://github.com/fzaninotto/Faker/issues", + "source": "https://github.com/fzaninotto/Faker/tree/v1.9.2" + }, "abandoned": true, - "time": "2019-12-12T13:22:17+00:00" + "time": "2020-12-11T09:56:16+00:00" }, { "name": "guzzlehttp/guzzle", @@ -733,6 +748,10 @@ "rest", "web service" ], + "support": { + "issues": "https://github.com/guzzle/guzzle/issues", + "source": "https://github.com/guzzle/guzzle/tree/6.5" + }, "time": "2020-06-16T21:01:06+00:00" }, { @@ -784,6 +803,10 @@ "keywords": [ "promise" ], + "support": { + "issues": "https://github.com/guzzle/promises/issues", + "source": "https://github.com/guzzle/promises/tree/1.4.0" + }, "time": "2020-09-30T07:37:28+00:00" }, { @@ -855,6 +878,10 @@ "uri", "url" ], + "support": { + "issues": "https://github.com/guzzle/psr7/issues", + "source": "https://github.com/guzzle/psr7/tree/1.7.0" + }, "time": "2020-09-30T07:37:11+00:00" }, { @@ -903,6 +930,16 @@ "object", "object graph" ], + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.10.2" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], "time": "2020-11-13T09:40:50+00:00" }, { @@ -958,6 +995,10 @@ } ], "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "support": { + "issues": "https://github.com/phar-io/manifest/issues", + "source": "https://github.com/phar-io/manifest/tree/master" + }, "time": "2018-07-08T19:23:20+00:00" }, { @@ -1005,6 +1046,10 @@ } ], "description": "Library for handling version information and constraints", + "support": { + "issues": "https://github.com/phar-io/version/issues", + "source": "https://github.com/phar-io/version/tree/master" + }, "time": "2018-07-08T19:19:57+00:00" }, { @@ -1054,6 +1099,10 @@ "reflection", "static analysis" ], + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", + "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x" + }, "time": "2020-06-27T09:03:43+00:00" }, { @@ -1106,6 +1155,10 @@ } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/master" + }, "time": "2020-09-03T19:13:55+00:00" }, { @@ -1151,20 +1204,24 @@ } ], "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", + "support": { + "issues": "https://github.com/phpDocumentor/TypeResolver/issues", + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.4.0" + }, "time": "2020-09-17T18:55:26+00:00" }, { "name": "phpspec/prophecy", - "version": "1.12.1", + "version": "1.12.2", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "8ce87516be71aae9b956f81906aaf0338e0d8a2d" + "reference": "245710e971a030f42e08f4912863805570f23d39" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/8ce87516be71aae9b956f81906aaf0338e0d8a2d", - "reference": "8ce87516be71aae9b956f81906aaf0338e0d8a2d", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/245710e971a030f42e08f4912863805570f23d39", + "reference": "245710e971a030f42e08f4912863805570f23d39", "shasum": "" }, "require": { @@ -1176,7 +1233,7 @@ }, "require-dev": { "phpspec/phpspec": "^6.0", - "phpunit/phpunit": "^8.0 || ^9.0 <9.3" + "phpunit/phpunit": "^8.0 || ^9.0" }, "type": "library", "extra": { @@ -1214,7 +1271,11 @@ "spy", "stub" ], - "time": "2020-09-29T09:10:42+00:00" + "support": { + "issues": "https://github.com/phpspec/prophecy/issues", + "source": "https://github.com/phpspec/prophecy/tree/1.12.2" + }, + "time": "2020-12-19T10:15:11+00:00" }, { "name": "phpunit/php-code-coverage", @@ -1277,6 +1338,10 @@ "testing", "xunit" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/master" + }, "time": "2018-10-31T16:06:48+00:00" }, { @@ -1327,6 +1392,16 @@ "filesystem", "iterator" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/2.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], "time": "2020-11-30T08:25:21+00:00" }, { @@ -1368,6 +1443,10 @@ "keywords": [ "template" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/1.2.1" + }, "time": "2015-06-21T13:50:34+00:00" }, { @@ -1417,6 +1496,16 @@ "keywords": [ "timer" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "source": "https://github.com/sebastianbergmann/php-timer/tree/2.1.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], "time": "2020-11-30T08:20:02+00:00" }, { @@ -1466,6 +1555,16 @@ "keywords": [ "tokenizer" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-token-stream/issues", + "source": "https://github.com/sebastianbergmann/php-token-stream/tree/3.1.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], "abandoned": true, "time": "2020-11-30T08:38:46+00:00" }, @@ -1551,6 +1650,10 @@ "testing", "xunit" ], + "support": { + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "source": "https://github.com/sebastianbergmann/phpunit/tree/7.5.20" + }, "time": "2020-01-08T08:45:45+00:00" }, { @@ -1600,6 +1703,10 @@ "container-interop", "psr" ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/master" + }, "time": "2017-02-14T16:28:37+00:00" }, { @@ -1650,6 +1757,9 @@ "request", "response" ], + "support": { + "source": "https://github.com/php-fig/http-message/tree/master" + }, "time": "2016-08-06T14:39:51+00:00" }, { @@ -1690,6 +1800,10 @@ } ], "description": "A polyfill for getallheaders.", + "support": { + "issues": "https://github.com/ralouphie/getallheaders/issues", + "source": "https://github.com/ralouphie/getallheaders/tree/develop" + }, "time": "2019-03-08T08:55:37+00:00" }, { @@ -1735,6 +1849,16 @@ ], "description": "Looks up which function or method a line of code belongs to", "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/1.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], "time": "2020-11-30T08:15:22+00:00" }, { @@ -1799,6 +1923,16 @@ "compare", "equality" ], + "support": { + "issues": "https://github.com/sebastianbergmann/comparator/issues", + "source": "https://github.com/sebastianbergmann/comparator/tree/3.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], "time": "2020-11-30T08:04:30+00:00" }, { @@ -1855,6 +1989,16 @@ "unidiff", "unified diff" ], + "support": { + "issues": "https://github.com/sebastianbergmann/diff/issues", + "source": "https://github.com/sebastianbergmann/diff/tree/3.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], "time": "2020-11-30T07:59:04+00:00" }, { @@ -1908,6 +2052,16 @@ "environment", "hhvm" ], + "support": { + "issues": "https://github.com/sebastianbergmann/environment/issues", + "source": "https://github.com/sebastianbergmann/environment/tree/4.2.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], "time": "2020-11-30T07:53:42+00:00" }, { @@ -1975,6 +2129,16 @@ "export", "exporter" ], + "support": { + "issues": "https://github.com/sebastianbergmann/exporter/issues", + "source": "https://github.com/sebastianbergmann/exporter/tree/3.1.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], "time": "2020-11-30T07:47:53+00:00" }, { @@ -2026,6 +2190,10 @@ "keywords": [ "global state" ], + "support": { + "issues": "https://github.com/sebastianbergmann/global-state/issues", + "source": "https://github.com/sebastianbergmann/global-state/tree/2.0.0" + }, "time": "2017-04-27T15:39:26+00:00" }, { @@ -2073,6 +2241,16 @@ ], "description": "Traverses array structures and object graphs to enumerate all referenced objects", "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/3.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], "time": "2020-11-30T07:40:27+00:00" }, { @@ -2118,6 +2296,16 @@ ], "description": "Allows reflection of object attributes, including inherited and non-public ones", "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-reflector/issues", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/1.1.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], "time": "2020-11-30T07:37:18+00:00" }, { @@ -2171,6 +2359,16 @@ ], "description": "Provides functionality to recursively process PHP variables", "homepage": "http://www.github.com/sebastianbergmann/recursion-context", + "support": { + "issues": "https://github.com/sebastianbergmann/recursion-context/issues", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/3.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], "time": "2020-11-30T07:34:24+00:00" }, { @@ -2213,6 +2411,16 @@ ], "description": "Provides a list of PHP built-in functions that operate on resources", "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "support": { + "issues": "https://github.com/sebastianbergmann/resource-operations/issues", + "source": "https://github.com/sebastianbergmann/resource-operations/tree/2.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], "time": "2020-11-30T07:30:19+00:00" }, { @@ -2256,20 +2464,24 @@ ], "description": "Library that helps with managing the version number of Git-hosted PHP projects", "homepage": "https://github.com/sebastianbergmann/version", + "support": { + "issues": "https://github.com/sebastianbergmann/version/issues", + "source": "https://github.com/sebastianbergmann/version/tree/master" + }, "time": "2016-10-03T07:35:21+00:00" }, { "name": "symfony/browser-kit", - "version": "v4.4.17", + "version": "v4.4.19", "source": { "type": "git", "url": "https://github.com/symfony/browser-kit.git", - "reference": "5f11947e9ec072ac32c605c07cb22522c30f4b28" + "reference": "f6f060bdc473c3f3b1f00e2ebdeb3d02eda77f82" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/5f11947e9ec072ac32c605c07cb22522c30f4b28", - "reference": "5f11947e9ec072ac32c605c07cb22522c30f4b28", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/f6f060bdc473c3f3b1f00e2ebdeb3d02eda77f82", + "reference": "f6f060bdc473c3f3b1f00e2ebdeb3d02eda77f82", "shasum": "" }, "require": { @@ -2308,22 +2520,39 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony BrowserKit Component", + "description": "Simulates the behavior of a web browser, allowing you to make requests, click on links and submit forms programmatically", "homepage": "https://symfony.com", - "time": "2020-10-28T20:42:29+00:00" + "support": { + "source": "https://github.com/symfony/browser-kit/tree/v4.4.19" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-27T09:09:26+00:00" }, { "name": "symfony/console", - "version": "v4.4.17", + "version": "v4.4.19", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "c8e37f6928c19816437a4dd7bf16e3bd79941470" + "reference": "24026c44fc37099fa145707fecd43672831b837a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/c8e37f6928c19816437a4dd7bf16e3bd79941470", - "reference": "c8e37f6928c19816437a4dd7bf16e3bd79941470", + "url": "https://api.github.com/repos/symfony/console/zipball/24026c44fc37099fa145707fecd43672831b837a", + "reference": "24026c44fc37099fa145707fecd43672831b837a", "shasum": "" }, "require": { @@ -2380,22 +2609,39 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Console Component", + "description": "Eases the creation of beautiful and testable command line interfaces", "homepage": "https://symfony.com", - "time": "2020-11-28T10:15:42+00:00" + "support": { + "source": "https://github.com/symfony/console/tree/v4.4.19" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-27T09:09:26+00:00" }, { "name": "symfony/css-selector", - "version": "v4.4.17", + "version": "v4.4.19", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "5e6efcb6e5d120249da366417e2517c55b50c931" + "reference": "f907d3e53ecb2a5fad8609eb2f30525287a734c8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/5e6efcb6e5d120249da366417e2517c55b50c931", - "reference": "5e6efcb6e5d120249da366417e2517c55b50c931", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/f907d3e53ecb2a5fad8609eb2f30525287a734c8", + "reference": "f907d3e53ecb2a5fad8609eb2f30525287a734c8", "shasum": "" }, "require": { @@ -2428,22 +2674,39 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony CssSelector Component", + "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", - "time": "2020-10-28T20:42:29+00:00" + "support": { + "source": "https://github.com/symfony/css-selector/tree/v4.4.19" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-27T09:09:26+00:00" }, { "name": "symfony/dom-crawler", - "version": "v4.4.17", + "version": "v4.4.19", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "30ad9ac96a01913195bf0328d48e29d54fa53e6e" + "reference": "21032c566558255e551d23f4a516434c9e3a9a78" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/30ad9ac96a01913195bf0328d48e29d54fa53e6e", - "reference": "30ad9ac96a01913195bf0328d48e29d54fa53e6e", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/21032c566558255e551d23f4a516434c9e3a9a78", + "reference": "21032c566558255e551d23f4a516434c9e3a9a78", "shasum": "" }, "require": { @@ -2484,22 +2747,39 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony DomCrawler Component", + "description": "Eases DOM navigation for HTML and XML documents", "homepage": "https://symfony.com", - "time": "2020-10-24T11:50:19+00:00" + "support": { + "source": "https://github.com/symfony/dom-crawler/tree/v4.4.19" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-27T09:09:26+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v4.4.17", + "version": "v4.4.19", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "f029d6f21eac61ab23198e7aca40e7638e8c8924" + "reference": "c352647244bd376bf7d31efbd5401f13f50dad0c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/f029d6f21eac61ab23198e7aca40e7638e8c8924", - "reference": "f029d6f21eac61ab23198e7aca40e7638e8c8924", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/c352647244bd376bf7d31efbd5401f13f50dad0c", + "reference": "c352647244bd376bf7d31efbd5401f13f50dad0c", "shasum": "" }, "require": { @@ -2550,9 +2830,26 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony EventDispatcher Component", + "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", - "time": "2020-10-31T22:44:29+00:00" + "support": { + "source": "https://github.com/symfony/event-dispatcher/tree/v4.4.19" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-27T09:09:26+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -2614,20 +2911,37 @@ "interoperability", "standards" ], + "support": { + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v1.1.9" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], "time": "2020-07-06T13:19:58+00:00" }, { "name": "symfony/finder", - "version": "v4.4.17", + "version": "v4.4.19", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "9f1d1d883b79a91ef320c0c6e803494e042ef36e" + "reference": "25d79cfccfc12e84e7a63a248c3f0720fdd92db6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/9f1d1d883b79a91ef320c0c6e803494e042ef36e", - "reference": "9f1d1d883b79a91ef320c0c6e803494e042ef36e", + "url": "https://api.github.com/repos/symfony/finder/zipball/25d79cfccfc12e84e7a63a248c3f0720fdd92db6", + "reference": "25d79cfccfc12e84e7a63a248c3f0720fdd92db6", "shasum": "" }, "require": { @@ -2656,22 +2970,39 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Finder Component", + "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", - "time": "2020-11-17T19:45:34+00:00" + "support": { + "source": "https://github.com/symfony/finder/tree/v4.4.19" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-27T09:09:26+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.20.0", + "version": "v1.22.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "f4ba089a5b6366e453971d3aad5fe8e897b37f41" + "reference": "c6c942b1ac76c82448322025e084cadc56048b4e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/f4ba089a5b6366e453971d3aad5fe8e897b37f41", - "reference": "f4ba089a5b6366e453971d3aad5fe8e897b37f41", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/c6c942b1ac76c82448322025e084cadc56048b4e", + "reference": "c6c942b1ac76c82448322025e084cadc56048b4e", "shasum": "" }, "require": { @@ -2683,7 +3014,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.20-dev" + "dev-main": "1.22-dev" }, "thanks": { "name": "symfony/polyfill", @@ -2720,20 +3051,37 @@ "polyfill", "portable" ], - "time": "2020-10-23T14:02:19+00:00" + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.22.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-07T16:49:33+00:00" }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.20.0", + "version": "v1.22.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "3b75acd829741c768bc8b1f84eb33265e7cc5117" + "reference": "0eb8293dbbcd6ef6bf81404c9ce7d95bcdf34f44" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/3b75acd829741c768bc8b1f84eb33265e7cc5117", - "reference": "3b75acd829741c768bc8b1f84eb33265e7cc5117", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/0eb8293dbbcd6ef6bf81404c9ce7d95bcdf34f44", + "reference": "0eb8293dbbcd6ef6bf81404c9ce7d95bcdf34f44", "shasum": "" }, "require": { @@ -2747,7 +3095,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.20-dev" + "dev-main": "1.22-dev" }, "thanks": { "name": "symfony/polyfill", @@ -2790,20 +3138,37 @@ "portable", "shim" ], - "time": "2020-10-23T14:02:19+00:00" + "support": { + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.22.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-07T16:49:33+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.20.0", + "version": "v1.22.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "727d1096295d807c309fb01a851577302394c897" + "reference": "6e971c891537eb617a00bb07a43d182a6915faba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/727d1096295d807c309fb01a851577302394c897", - "reference": "727d1096295d807c309fb01a851577302394c897", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/6e971c891537eb617a00bb07a43d182a6915faba", + "reference": "6e971c891537eb617a00bb07a43d182a6915faba", "shasum": "" }, "require": { @@ -2815,7 +3180,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.20-dev" + "dev-main": "1.22-dev" }, "thanks": { "name": "symfony/polyfill", @@ -2857,20 +3222,37 @@ "portable", "shim" ], - "time": "2020-10-23T14:02:19+00:00" + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.22.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-07T17:09:11+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.20.0", + "version": "v1.22.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "39d483bdf39be819deabf04ec872eb0b2410b531" + "reference": "f377a3dd1fde44d37b9831d68dc8dea3ffd28e13" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/39d483bdf39be819deabf04ec872eb0b2410b531", - "reference": "39d483bdf39be819deabf04ec872eb0b2410b531", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/f377a3dd1fde44d37b9831d68dc8dea3ffd28e13", + "reference": "f377a3dd1fde44d37b9831d68dc8dea3ffd28e13", "shasum": "" }, "require": { @@ -2882,7 +3264,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.20-dev" + "dev-main": "1.22-dev" }, "thanks": { "name": "symfony/polyfill", @@ -2920,141 +3302,37 @@ "portable", "shim" ], - "time": "2020-10-23T14:02:19+00:00" - }, - { - "name": "symfony/polyfill-php72", - "version": "v1.20.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "cede45fcdfabdd6043b3592e83678e42ec69e930" + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.22.0" }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/cede45fcdfabdd6043b3592e83678e42ec69e930", - "reference": "cede45fcdfabdd6043b3592e83678e42ec69e930", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.20-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php72\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ + "funding": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "url": "https://symfony.com/sponsor", + "type": "custom" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "time": "2020-10-23T14:02:19+00:00" - }, - { - "name": "symfony/polyfill-php73", - "version": "v1.20.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "8ff431c517be11c78c48a39a66d37431e26a6bed" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/8ff431c517be11c78c48a39a66d37431e26a6bed", - "reference": "8ff431c517be11c78c48a39a66d37431e26a6bed", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.20-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php73\\": "" - }, - "files": [ - "bootstrap.php" - ], - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "url": "https://github.com/fabpot", + "type": "github" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "time": "2020-10-23T14:02:19+00:00" + "time": "2021-01-07T16:49:33+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.20.0", + "version": "v1.22.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "e70aa8b064c5b72d3df2abd5ab1e90464ad009de" + "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/e70aa8b064c5b72d3df2abd5ab1e90464ad009de", - "reference": "e70aa8b064c5b72d3df2abd5ab1e90464ad009de", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/dc3063ba22c2a1fd2f45ed856374d79114998f91", + "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91", "shasum": "" }, "require": { @@ -3063,7 +3341,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.20-dev" + "dev-main": "1.22-dev" }, "thanks": { "name": "symfony/polyfill", @@ -3107,20 +3385,37 @@ "portable", "shim" ], - "time": "2020-10-23T14:02:19+00:00" + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.22.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-07T16:49:33+00:00" }, { "name": "symfony/process", - "version": "v4.4.17", + "version": "v4.4.19", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "ec1482f13d53911a8a32e54ba6f9a3b43a57d943" + "reference": "7e950b6366d4da90292c2e7fa820b3c1842b965a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/ec1482f13d53911a8a32e54ba6f9a3b43a57d943", - "reference": "ec1482f13d53911a8a32e54ba6f9a3b43a57d943", + "url": "https://api.github.com/repos/symfony/process/zipball/7e950b6366d4da90292c2e7fa820b3c1842b965a", + "reference": "7e950b6366d4da90292c2e7fa820b3c1842b965a", "shasum": "" }, "require": { @@ -3149,9 +3444,26 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Process Component", + "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", - "time": "2020-11-02T15:10:16+00:00" + "support": { + "source": "https://github.com/symfony/process/tree/v4.4.19" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-27T09:09:26+00:00" }, { "name": "symfony/service-contracts", @@ -3213,20 +3525,37 @@ "interoperability", "standards" ], + "support": { + "source": "https://github.com/symfony/service-contracts/tree/master" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], "time": "2020-09-07T11:33:47+00:00" }, { "name": "symfony/yaml", - "version": "v4.4.17", + "version": "v4.4.19", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "7531361cf38e4816821b4a12a42542b3c6143ad1" + "reference": "17ed9f14c1aa05b1a5cf2e2c5ef2d0be28058ef9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/7531361cf38e4816821b4a12a42542b3c6143ad1", - "reference": "7531361cf38e4816821b4a12a42542b3c6143ad1", + "url": "https://api.github.com/repos/symfony/yaml/zipball/17ed9f14c1aa05b1a5cf2e2c5ef2d0be28058ef9", + "reference": "17ed9f14c1aa05b1a5cf2e2c5ef2d0be28058ef9", "shasum": "" }, "require": { @@ -3265,9 +3594,26 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Yaml Component", + "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", - "time": "2020-11-24T12:28:30+00:00" + "support": { + "source": "https://github.com/symfony/yaml/tree/v4.4.19" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-27T09:09:26+00:00" }, { "name": "theseer/tokenizer", @@ -3307,6 +3653,16 @@ } ], "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "support": { + "issues": "https://github.com/theseer/tokenizer/issues", + "source": "https://github.com/theseer/tokenizer/tree/master" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], "time": "2020-07-12T23:59:07+00:00" }, { @@ -3314,12 +3670,12 @@ "version": "1.9.1", "source": { "type": "git", - "url": "https://github.com/webmozart/assert.git", + "url": "https://github.com/webmozarts/assert.git", "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389", "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389", "shasum": "" }, @@ -3356,6 +3712,10 @@ "check", "validate" ], + "support": { + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/1.9.1" + }, "time": "2020-07-08T17:02:28+00:00" } ], @@ -3373,5 +3733,6 @@ "platform-dev": [], "platform-overrides": { "php": "7.3.6" - } + }, + "plugin-api-version": "2.0.0" } diff --git a/vendor/composer/ClassLoader.php b/vendor/composer/ClassLoader.php index dc02dfb1..1a58957d 100644 --- a/vendor/composer/ClassLoader.php +++ b/vendor/composer/ClassLoader.php @@ -37,8 +37,8 @@ namespace Composer\Autoload; * * @author Fabien Potencier * @author Jordi Boggiano - * @see http://www.php-fig.org/psr/psr-0/ - * @see http://www.php-fig.org/psr/psr-4/ + * @see https://www.php-fig.org/psr/psr-0/ + * @see https://www.php-fig.org/psr/psr-4/ */ class ClassLoader { @@ -60,7 +60,7 @@ class ClassLoader public function getPrefixes() { if (!empty($this->prefixesPsr0)) { - return call_user_func_array('array_merge', $this->prefixesPsr0); + return call_user_func_array('array_merge', array_values($this->prefixesPsr0)); } return array(); @@ -279,7 +279,7 @@ class ClassLoader */ public function setApcuPrefix($apcuPrefix) { - $this->apcuPrefix = function_exists('apcu_fetch') && ini_get('apc.enabled') ? $apcuPrefix : null; + $this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null; } /** @@ -377,7 +377,7 @@ class ClassLoader $subPath = $class; while (false !== $lastPos = strrpos($subPath, '\\')) { $subPath = substr($subPath, 0, $lastPos); - $search = $subPath.'\\'; + $search = $subPath . '\\'; if (isset($this->prefixDirsPsr4[$search])) { $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1); foreach ($this->prefixDirsPsr4[$search] as $dir) { diff --git a/vendor/composer/InstalledVersions.php b/vendor/composer/InstalledVersions.php new file mode 100644 index 00000000..6ffca9fd --- /dev/null +++ b/vendor/composer/InstalledVersions.php @@ -0,0 +1,283 @@ + + array ( + 'pretty_version' => 'dev-develop', + 'version' => 'dev-develop', + 'aliases' => + array ( + ), + 'reference' => '5de805e3409611ee484267d47022e3ad93a9c2f0', + 'name' => 'getgrav/grav-plugin-admin', + ), + 'versions' => + array ( + 'getgrav/grav-plugin-admin' => + array ( + 'pretty_version' => 'dev-develop', + 'version' => 'dev-develop', + 'aliases' => + array ( + ), + 'reference' => '5de805e3409611ee484267d47022e3ad93a9c2f0', + ), + 'laminas/laminas-xml' => + array ( + 'pretty_version' => '1.3.0', + 'version' => '1.3.0.0', + 'aliases' => + array ( + ), + 'reference' => '844dc64557b1ad8a2e0eadb741510ba992674f99', + ), + 'laminas/laminas-zendframework-bridge' => + array ( + 'pretty_version' => '1.1.1', + 'version' => '1.1.1.0', + 'aliases' => + array ( + ), + 'reference' => '6ede70583e101030bcace4dcddd648f760ddf642', + ), + 'miniflux/picofeed' => + array ( + 'replaced' => + array ( + 0 => '0.1.35', + ), + ), + 'p3k/picofeed' => + array ( + 'pretty_version' => 'v0.1.40', + 'version' => '0.1.40.0', + 'aliases' => + array ( + ), + 'reference' => '356fd66d48779193b10ac28532cb4a4e11bb801c', + ), + 'scssphp/scssphp' => + array ( + 'pretty_version' => 'v1.4.1', + 'version' => '1.4.1.0', + 'aliases' => + array ( + ), + 'reference' => 'ba86c963b94ec7ebd6e19d90cdab90d89667dbf7', + ), + 'symfony/polyfill-php72' => + array ( + 'replaced' => + array ( + 0 => '*', + ), + ), + 'symfony/polyfill-php73' => + array ( + 'replaced' => + array ( + 0 => '*', + ), + ), + 'zendframework/zendxml' => + array ( + 'replaced' => + array ( + 0 => '^1.2.0', + ), + ), + ), +); + + + + + + + +public static function getInstalledPackages() +{ +return array_keys(self::$installed['versions']); +} + + + + + + + + + +public static function isInstalled($packageName) +{ +return isset(self::$installed['versions'][$packageName]); +} + + + + + + + + + + + + + + +public static function satisfies(VersionParser $parser, $packageName, $constraint) +{ +$constraint = $parser->parseConstraints($constraint); +$provided = $parser->parseConstraints(self::getVersionRanges($packageName)); + +return $provided->matches($constraint); +} + + + + + + + + + + +public static function getVersionRanges($packageName) +{ +if (!isset(self::$installed['versions'][$packageName])) { +throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); +} + +$ranges = array(); +if (isset(self::$installed['versions'][$packageName]['pretty_version'])) { +$ranges[] = self::$installed['versions'][$packageName]['pretty_version']; +} +if (array_key_exists('aliases', self::$installed['versions'][$packageName])) { +$ranges = array_merge($ranges, self::$installed['versions'][$packageName]['aliases']); +} +if (array_key_exists('replaced', self::$installed['versions'][$packageName])) { +$ranges = array_merge($ranges, self::$installed['versions'][$packageName]['replaced']); +} +if (array_key_exists('provided', self::$installed['versions'][$packageName])) { +$ranges = array_merge($ranges, self::$installed['versions'][$packageName]['provided']); +} + +return implode(' || ', $ranges); +} + + + + + +public static function getVersion($packageName) +{ +if (!isset(self::$installed['versions'][$packageName])) { +throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); +} + +if (!isset(self::$installed['versions'][$packageName]['version'])) { +return null; +} + +return self::$installed['versions'][$packageName]['version']; +} + + + + + +public static function getPrettyVersion($packageName) +{ +if (!isset(self::$installed['versions'][$packageName])) { +throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); +} + +if (!isset(self::$installed['versions'][$packageName]['pretty_version'])) { +return null; +} + +return self::$installed['versions'][$packageName]['pretty_version']; +} + + + + + +public static function getReference($packageName) +{ +if (!isset(self::$installed['versions'][$packageName])) { +throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); +} + +if (!isset(self::$installed['versions'][$packageName]['reference'])) { +return null; +} + +return self::$installed['versions'][$packageName]['reference']; +} + + + + + +public static function getRootPackage() +{ +return self::$installed['root']; +} + + + + + + + +public static function getRawData() +{ +return self::$installed; +} + + + + + + + + + + + + + + + + + + + +public static function reload($data) +{ +self::$installed = $data; +} +} diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php index 11ac7076..cefb86c0 100644 --- a/vendor/composer/autoload_classmap.php +++ b/vendor/composer/autoload_classmap.php @@ -6,5 +6,6 @@ $vendorDir = dirname(dirname(__FILE__)); $baseDir = dirname($vendorDir); return array( + 'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php', 'Grav\\Plugin\\AdminPlugin' => $baseDir . '/admin.php', ); diff --git a/vendor/composer/autoload_psr4.php b/vendor/composer/autoload_psr4.php index 262c7902..cdc21be9 100644 --- a/vendor/composer/autoload_psr4.php +++ b/vendor/composer/autoload_psr4.php @@ -10,5 +10,4 @@ return array( 'Laminas\\ZendFrameworkBridge\\' => array($vendorDir . '/laminas/laminas-zendframework-bridge/src'), 'Laminas\\Xml\\' => array($vendorDir . '/laminas/laminas-xml/src'), 'Grav\\Plugin\\Admin\\' => array($baseDir . '/classes/plugin'), - 'Composer\\Semver\\' => array($vendorDir . '/composer/semver/src'), ); diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php index 2fca5423..45410a1e 100644 --- a/vendor/composer/autoload_real.php +++ b/vendor/composer/autoload_real.php @@ -13,19 +13,24 @@ class ComposerAutoloaderInit14b786715d80b97050af9c30f5c07b7c } } + /** + * @return \Composer\Autoload\ClassLoader + */ public static function getLoader() { if (null !== self::$loader) { return self::$loader; } + require __DIR__ . '/platform_check.php'; + spl_autoload_register(array('ComposerAutoloaderInit14b786715d80b97050af9c30f5c07b7c', 'loadClassLoader'), true, true); self::$loader = $loader = new \Composer\Autoload\ClassLoader(); spl_autoload_unregister(array('ComposerAutoloaderInit14b786715d80b97050af9c30f5c07b7c', 'loadClassLoader')); $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); if ($useStaticLoader) { - require_once __DIR__ . '/autoload_static.php'; + require __DIR__ . '/autoload_static.php'; call_user_func(\Composer\Autoload\ComposerStaticInit14b786715d80b97050af9c30f5c07b7c::getInitializer($loader)); } else { diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php index a7173e14..312cbd7b 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -24,10 +24,6 @@ class ComposerStaticInit14b786715d80b97050af9c30f5c07b7c array ( 'Grav\\Plugin\\Admin\\' => 18, ), - 'C' => - array ( - 'Composer\\Semver\\' => 16, - ), ); public static $prefixDirsPsr4 = array ( @@ -47,10 +43,6 @@ class ComposerStaticInit14b786715d80b97050af9c30f5c07b7c array ( 0 => __DIR__ . '/../..' . '/classes/plugin', ), - 'Composer\\Semver\\' => - array ( - 0 => __DIR__ . '/..' . '/composer/semver/src', - ), ); public static $prefixesPsr0 = array ( @@ -64,6 +56,7 @@ class ComposerStaticInit14b786715d80b97050af9c30f5c07b7c ); public static $classMap = array ( + 'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php', 'Grav\\Plugin\\AdminPlugin' => __DIR__ . '/../..' . '/admin.php', ); diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index f93dac12..aaa40d4d 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -1,285 +1,263 @@ -[ - { - "name": "composer/semver", - "version": "1.7.1", - "version_normalized": "1.7.1.0", - "source": { - "type": "git", - "url": "https://github.com/composer/semver.git", - "reference": "38276325bd896f90dfcfe30029aa5db40df387a7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/38276325bd896f90dfcfe30029aa5db40df387a7", - "reference": "38276325bd896f90dfcfe30029aa5db40df387a7", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.5 || ^5.0.5" - }, - "time": "2020-09-27T13:13:07+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "Composer\\Semver\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" +{ + "packages": [ + { + "name": "laminas/laminas-xml", + "version": "1.3.0", + "version_normalized": "1.3.0.0", + "source": { + "type": "git", + "url": "https://github.com/laminas/laminas-xml.git", + "reference": "844dc64557b1ad8a2e0eadb741510ba992674f99" }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laminas/laminas-xml/zipball/844dc64557b1ad8a2e0eadb741510ba992674f99", + "reference": "844dc64557b1ad8a2e0eadb741510ba992674f99", + "shasum": "" }, - { - "name": "Rob Bast", - "email": "rob.bast@gmail.com", - "homepage": "http://robbast.nl" - } - ], - "description": "Semver library that offers utilities, version constraint parsing and validation.", - "keywords": [ - "semantic", - "semver", - "validation", - "versioning" - ] - }, - { - "name": "laminas/laminas-xml", - "version": "1.3.0", - "version_normalized": "1.3.0.0", - "source": { - "type": "git", - "url": "https://github.com/laminas/laminas-xml.git", - "reference": "844dc64557b1ad8a2e0eadb741510ba992674f99" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-xml/zipball/844dc64557b1ad8a2e0eadb741510ba992674f99", - "reference": "844dc64557b1ad8a2e0eadb741510ba992674f99", - "shasum": "" - }, - "require": { - "laminas/laminas-zendframework-bridge": "^1.0", - "php": "^7.3 || ~8.0.0" - }, - "replace": { - "zendframework/zendxml": "^1.2.0" - }, - "require-dev": { - "ext-iconv": "*", - "laminas/laminas-coding-standard": "~1.0.0", - "phpunit/phpunit": "^9.4" - }, - "time": "2020-11-18T20:46:37+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "Laminas\\Xml\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Utility library for XML usage, best practices, and security in PHP", - "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "security", - "xml" - ] - }, - { - "name": "laminas/laminas-zendframework-bridge", - "version": "1.1.1", - "version_normalized": "1.1.1.0", - "source": { - "type": "git", - "url": "https://github.com/laminas/laminas-zendframework-bridge.git", - "reference": "6ede70583e101030bcace4dcddd648f760ddf642" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-zendframework-bridge/zipball/6ede70583e101030bcace4dcddd648f760ddf642", - "reference": "6ede70583e101030bcace4dcddd648f760ddf642", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.1 || ^9.3", - "squizlabs/php_codesniffer": "^3.5" - }, - "time": "2020-09-14T14:23:00+00:00", - "type": "library", - "extra": { - "laminas": { - "module": "Laminas\\ZendFrameworkBridge" - } - }, - "installation-source": "dist", - "autoload": { - "files": [ - "src/autoload.php" + "require": { + "laminas/laminas-zendframework-bridge": "^1.0", + "php": "^7.3 || ~8.0.0" + }, + "replace": { + "zendframework/zendxml": "^1.2.0" + }, + "require-dev": { + "ext-iconv": "*", + "laminas/laminas-coding-standard": "~1.0.0", + "phpunit/phpunit": "^9.4" + }, + "time": "2020-11-18T20:46:37+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Laminas\\Xml\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" ], - "psr-4": { - "Laminas\\ZendFrameworkBridge\\": "src//" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Alias legacy ZF class names to Laminas Project equivalents.", - "keywords": [ - "ZendFramework", - "autoloading", - "laminas", - "zf" - ] - }, - { - "name": "p3k/picofeed", - "version": "v0.1.40", - "version_normalized": "0.1.40.0", - "source": { - "type": "git", - "url": "https://github.com/aaronpk/picofeed.git", - "reference": "356fd66d48779193b10ac28532cb4a4e11bb801c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/aaronpk/picofeed/zipball/356fd66d48779193b10ac28532cb4a4e11bb801c", - "reference": "356fd66d48779193b10ac28532cb4a4e11bb801c", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-iconv": "*", - "ext-libxml": "*", - "ext-simplexml": "*", - "ext-xml": "*", - "laminas/laminas-xml": "^1.2", - "php": ">=5.3.0" - }, - "replace": { - "miniflux/picofeed": "0.1.35" - }, - "require-dev": { - "phpdocumentor/reflection-docblock": "2.0.4", - "phpunit/phpunit": "4.8.26", - "symfony/yaml": "2.8.7" - }, - "suggest": { - "ext-curl": "PicoFeed will use cURL if present" - }, - "time": "2020-04-25T17:48:36+00:00", - "bin": [ - "picofeed" - ], - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-0": { - "PicoFeed": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Frédéric Guillot" - } - ], - "description": "Modern library to handle RSS/Atom feeds", - "homepage": "https://github.com/aaronpk/picoFeed" - }, - { - "name": "scssphp/scssphp", - "version": "v1.4.0", - "version_normalized": "1.4.0.0", - "source": { - "type": "git", - "url": "https://github.com/scssphp/scssphp.git", - "reference": "f7c9088320e218ca42e4ef0074259a1ba24ec93a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/scssphp/scssphp/zipball/f7c9088320e218ca42e4ef0074259a1ba24ec93a", - "reference": "f7c9088320e218ca42e4ef0074259a1ba24ec93a", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "ext-json": "*", - "php": ">=5.6.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.3 || ^9.4", - "sass/sass-spec": "2020.10.29", - "squizlabs/php_codesniffer": "~3.5", - "symfony/phpunit-bridge": "^5.1", - "twbs/bootstrap": "~4.3", - "zurb/foundation": "~6.5" - }, - "time": "2020-11-07T20:53:41+00:00", - "bin": [ - "bin/pscss" - ], - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-4": { - "ScssPhp\\ScssPhp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Anthon Pang", - "email": "apang@softwaredevelopment.ca", - "homepage": "https://github.com/robocoder" + "description": "Utility library for XML usage, best practices, and security in PHP", + "homepage": "https://laminas.dev", + "keywords": [ + "laminas", + "security", + "xml" + ], + "support": { + "chat": "https://laminas.dev/chat", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-xml/issues", + "rss": "https://github.com/laminas/laminas-xml/releases.atom", + "source": "https://github.com/laminas/laminas-xml" }, - { - "name": "Cédric Morin", - "email": "cedric@yterium.com", - "homepage": "https://github.com/Cerdic" - } - ], - "description": "scssphp is a compiler for SCSS written in PHP.", - "homepage": "http://scssphp.github.io/scssphp/", - "keywords": [ - "css", - "less", - "sass", - "scss", - "stylesheet" - ] - } -] + "funding": [ + { + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], + "install-path": "../laminas/laminas-xml" + }, + { + "name": "laminas/laminas-zendframework-bridge", + "version": "1.1.1", + "version_normalized": "1.1.1.0", + "source": { + "type": "git", + "url": "https://github.com/laminas/laminas-zendframework-bridge.git", + "reference": "6ede70583e101030bcace4dcddd648f760ddf642" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laminas/laminas-zendframework-bridge/zipball/6ede70583e101030bcace4dcddd648f760ddf642", + "reference": "6ede70583e101030bcace4dcddd648f760ddf642", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.1 || ^9.3", + "squizlabs/php_codesniffer": "^3.5" + }, + "time": "2020-09-14T14:23:00+00:00", + "type": "library", + "extra": { + "laminas": { + "module": "Laminas\\ZendFrameworkBridge" + } + }, + "installation-source": "dist", + "autoload": { + "files": [ + "src/autoload.php" + ], + "psr-4": { + "Laminas\\ZendFrameworkBridge\\": "src//" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Alias legacy ZF class names to Laminas Project equivalents.", + "keywords": [ + "ZendFramework", + "autoloading", + "laminas", + "zf" + ], + "support": { + "forum": "https://discourse.laminas.dev/", + "issues": "https://github.com/laminas/laminas-zendframework-bridge/issues", + "rss": "https://github.com/laminas/laminas-zendframework-bridge/releases.atom", + "source": "https://github.com/laminas/laminas-zendframework-bridge" + }, + "funding": [ + { + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], + "install-path": "../laminas/laminas-zendframework-bridge" + }, + { + "name": "p3k/picofeed", + "version": "v0.1.40", + "version_normalized": "0.1.40.0", + "source": { + "type": "git", + "url": "https://github.com/aaronpk/picofeed.git", + "reference": "356fd66d48779193b10ac28532cb4a4e11bb801c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/aaronpk/picofeed/zipball/356fd66d48779193b10ac28532cb4a4e11bb801c", + "reference": "356fd66d48779193b10ac28532cb4a4e11bb801c", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-iconv": "*", + "ext-libxml": "*", + "ext-simplexml": "*", + "ext-xml": "*", + "laminas/laminas-xml": "^1.2", + "php": ">=5.3.0" + }, + "replace": { + "miniflux/picofeed": "0.1.35" + }, + "require-dev": { + "phpdocumentor/reflection-docblock": "2.0.4", + "phpunit/phpunit": "4.8.26", + "symfony/yaml": "2.8.7" + }, + "suggest": { + "ext-curl": "PicoFeed will use cURL if present" + }, + "time": "2020-04-25T17:48:36+00:00", + "bin": [ + "picofeed" + ], + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-0": { + "PicoFeed": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frédéric Guillot" + } + ], + "description": "Modern library to handle RSS/Atom feeds", + "homepage": "https://github.com/aaronpk/picoFeed", + "support": { + "issues": "https://github.com/aaronpk/picofeed/issues", + "source": "https://github.com/aaronpk/picofeed/tree/v0.1.40" + }, + "install-path": "../p3k/picofeed" + }, + { + "name": "scssphp/scssphp", + "version": "v1.4.1", + "version_normalized": "1.4.1.0", + "source": { + "type": "git", + "url": "https://github.com/scssphp/scssphp.git", + "reference": "ba86c963b94ec7ebd6e19d90cdab90d89667dbf7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/scssphp/scssphp/zipball/ba86c963b94ec7ebd6e19d90cdab90d89667dbf7", + "reference": "ba86c963b94ec7ebd6e19d90cdab90d89667dbf7", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-json": "*", + "php": ">=5.6.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.3 || ^9.4", + "sass/sass-spec": "2020.12.29", + "squizlabs/php_codesniffer": "~3.5", + "symfony/phpunit-bridge": "^5.1", + "twbs/bootstrap": "~4.3", + "zurb/foundation": "~6.5" + }, + "time": "2021-01-04T13:23:23+00:00", + "bin": [ + "bin/pscss" + ], + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "ScssPhp\\ScssPhp\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Anthon Pang", + "email": "apang@softwaredevelopment.ca", + "homepage": "https://github.com/robocoder" + }, + { + "name": "Cédric Morin", + "email": "cedric@yterium.com", + "homepage": "https://github.com/Cerdic" + } + ], + "description": "scssphp is a compiler for SCSS written in PHP.", + "homepage": "http://scssphp.github.io/scssphp/", + "keywords": [ + "css", + "less", + "sass", + "scss", + "stylesheet" + ], + "support": { + "issues": "https://github.com/scssphp/scssphp/issues", + "source": "https://github.com/scssphp/scssphp/tree/v1.4.1" + }, + "install-path": "../scssphp/scssphp" + } + ], + "dev": false, + "dev-package-names": [] +} diff --git a/vendor/composer/installed.php b/vendor/composer/installed.php new file mode 100644 index 00000000..202b014f --- /dev/null +++ b/vendor/composer/installed.php @@ -0,0 +1,88 @@ + + array ( + 'pretty_version' => 'dev-develop', + 'version' => 'dev-develop', + 'aliases' => + array ( + ), + 'reference' => '5de805e3409611ee484267d47022e3ad93a9c2f0', + 'name' => 'getgrav/grav-plugin-admin', + ), + 'versions' => + array ( + 'getgrav/grav-plugin-admin' => + array ( + 'pretty_version' => 'dev-develop', + 'version' => 'dev-develop', + 'aliases' => + array ( + ), + 'reference' => '5de805e3409611ee484267d47022e3ad93a9c2f0', + ), + 'laminas/laminas-xml' => + array ( + 'pretty_version' => '1.3.0', + 'version' => '1.3.0.0', + 'aliases' => + array ( + ), + 'reference' => '844dc64557b1ad8a2e0eadb741510ba992674f99', + ), + 'laminas/laminas-zendframework-bridge' => + array ( + 'pretty_version' => '1.1.1', + 'version' => '1.1.1.0', + 'aliases' => + array ( + ), + 'reference' => '6ede70583e101030bcace4dcddd648f760ddf642', + ), + 'miniflux/picofeed' => + array ( + 'replaced' => + array ( + 0 => '0.1.35', + ), + ), + 'p3k/picofeed' => + array ( + 'pretty_version' => 'v0.1.40', + 'version' => '0.1.40.0', + 'aliases' => + array ( + ), + 'reference' => '356fd66d48779193b10ac28532cb4a4e11bb801c', + ), + 'scssphp/scssphp' => + array ( + 'pretty_version' => 'v1.4.1', + 'version' => '1.4.1.0', + 'aliases' => + array ( + ), + 'reference' => 'ba86c963b94ec7ebd6e19d90cdab90d89667dbf7', + ), + 'symfony/polyfill-php72' => + array ( + 'replaced' => + array ( + 0 => '*', + ), + ), + 'symfony/polyfill-php73' => + array ( + 'replaced' => + array ( + 0 => '*', + ), + ), + 'zendframework/zendxml' => + array ( + 'replaced' => + array ( + 0 => '^1.2.0', + ), + ), + ), +); diff --git a/vendor/composer/platform_check.php b/vendor/composer/platform_check.php new file mode 100644 index 00000000..01091250 --- /dev/null +++ b/vendor/composer/platform_check.php @@ -0,0 +1,26 @@ += 70306)) { + $issues[] = 'Your Composer dependencies require a PHP version ">= 7.3.6". You are running ' . PHP_VERSION . '.'; +} + +if ($issues) { + if (!headers_sent()) { + header('HTTP/1.1 500 Internal Server Error'); + } + if (!ini_get('display_errors')) { + if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { + fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . implode(PHP_EOL, $issues) . PHP_EOL.PHP_EOL); + } elseif (!headers_sent()) { + 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; + } + } + trigger_error( + 'Composer detected issues in your platform: ' . implode(' ', $issues), + E_USER_ERROR + ); +} diff --git a/vendor/composer/semver/CHANGELOG.md b/vendor/composer/semver/CHANGELOG.md deleted file mode 100644 index c2dbd3fb..00000000 --- a/vendor/composer/semver/CHANGELOG.md +++ /dev/null @@ -1,102 +0,0 @@ -# Change Log - -All notable changes to this project will be documented in this file. -This project adheres to [Semantic Versioning](http://semver.org/). - -### [1.7.1] 2020-09-27 - - * Fixed: accidental validation of broken constraints combining ^/~ and wildcards, and -dev suffix allowing weird cases - * Fixed: normalization of beta0 and such which was dropping the 0 - -### [1.7.0] 2020-09-09 - - * Added: support for `x || @dev`, not very useful but seen in the wild and failed to validate with 1.5.2/1.6.0 - * Added: support for `foobar-dev` being equal to `dev-foobar`, dev-foobar is the official way to write it but we need to support the other for BC and convenience - -### [1.6.0] 2020-09-08 - - * Added: support for constraints like `^2.x-dev` and `~2.x-dev`, not very useful but seen in the wild and failed to validate with 1.5.2 - * Fixed: invalid aliases will no longer throw, unless explicitly validated by Composer in the root package - -### [1.5.2] 2020-09-08 - - * Fixed: handling of some invalid -dev versions which were seen as valid - * Fixed: some doctypes - -### [1.5.1] 2020-01-13 - - * Fixed: Parsing of aliased version was not validating the alias to be a valid version - -### [1.5.0] 2019-03-19 - - * Added: some support for date versions (e.g. 201903) in `~` operator - * Fixed: support for stabilities in `~` operator was inconsistent - -### [1.4.2] 2016-08-30 - - * Fixed: collapsing of complex constraints lead to buggy constraints - -### [1.4.1] 2016-06-02 - - * Changed: branch-like requirements no longer strip build metadata - [composer/semver#38](https://github.com/composer/semver/pull/38). - -### [1.4.0] 2016-03-30 - - * Added: getters on MultiConstraint - [composer/semver#35](https://github.com/composer/semver/pull/35). - -### [1.3.0] 2016-02-25 - - * Fixed: stability parsing - [composer/composer#1234](https://github.com/composer/composer/issues/4889). - * Changed: collapse contiguous constraints when possible. - -### [1.2.0] 2015-11-10 - - * Changed: allow multiple numerical identifiers in 'pre-release' version part. - * Changed: add more 'v' prefix support. - -### [1.1.0] 2015-11-03 - - * Changed: dropped redundant `test` namespace. - * Changed: minor adjustment in datetime parsing normalization. - * Changed: `ConstraintInterface` relaxed, setPrettyString is not required anymore. - * Changed: `AbstractConstraint` marked deprecated, will be removed in 2.0. - * Changed: `Constraint` is now extensible. - -### [1.0.0] 2015-09-21 - - * Break: `VersionConstraint` renamed to `Constraint`. - * Break: `SpecificConstraint` renamed to `AbstractConstraint`. - * Break: `LinkConstraintInterface` renamed to `ConstraintInterface`. - * Break: `VersionParser::parseNameVersionPairs` was removed. - * Changed: `VersionParser::parseConstraints` allows (but ignores) build metadata now. - * Changed: `VersionParser::parseConstraints` allows (but ignores) prefixing numeric versions with a 'v' now. - * Changed: Fixed namespace(s) of test files. - * Changed: `Comparator::compare` no longer throws `InvalidArgumentException`. - * Changed: `Constraint` now throws `InvalidArgumentException`. - -### [0.1.0] 2015-07-23 - - * Added: `Composer\Semver\Comparator`, various methods to compare versions. - * Added: various documents such as README.md, LICENSE, etc. - * Added: configuration files for Git, Travis, php-cs-fixer, phpunit. - * Break: the following namespaces were renamed: - - Namespace: `Composer\Package\Version` -> `Composer\Semver` - - Namespace: `Composer\Package\LinkConstraint` -> `Composer\Semver\Constraint` - - Namespace: `Composer\Test\Package\Version` -> `Composer\Test\Semver` - - Namespace: `Composer\Test\Package\LinkConstraint` -> `Composer\Test\Semver\Constraint` - * Changed: code style using php-cs-fixer. - -[1.7.1]: https://github.com/composer/semver/compare/1.7.0...1.7.1 -[1.7.0]: https://github.com/composer/semver/compare/1.6.0...1.7.0 -[1.6.0]: https://github.com/composer/semver/compare/1.5.2...1.6.0 -[1.5.2]: https://github.com/composer/semver/compare/1.5.1...1.5.2 -[1.5.1]: https://github.com/composer/semver/compare/1.5.0...1.5.1 -[1.5.0]: https://github.com/composer/semver/compare/1.4.2...1.5.0 -[1.4.2]: https://github.com/composer/semver/compare/1.4.1...1.4.2 -[1.4.1]: https://github.com/composer/semver/compare/1.4.0...1.4.1 -[1.4.0]: https://github.com/composer/semver/compare/1.3.0...1.4.0 -[1.3.0]: https://github.com/composer/semver/compare/1.2.0...1.3.0 -[1.2.0]: https://github.com/composer/semver/compare/1.1.0...1.2.0 -[1.1.0]: https://github.com/composer/semver/compare/1.0.0...1.1.0 -[1.0.0]: https://github.com/composer/semver/compare/0.1.0...1.0.0 -[0.1.0]: https://github.com/composer/semver/compare/5e0b9a4da...0.1.0 diff --git a/vendor/composer/semver/LICENSE b/vendor/composer/semver/LICENSE deleted file mode 100644 index 46697586..00000000 --- a/vendor/composer/semver/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (C) 2015 Composer - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/vendor/composer/semver/README.md b/vendor/composer/semver/README.md deleted file mode 100644 index 409b9dcb..00000000 --- a/vendor/composer/semver/README.md +++ /dev/null @@ -1,70 +0,0 @@ -composer/semver -=============== - -Semver library that offers utilities, version constraint parsing and validation. - -Originally written as part of [composer/composer](https://github.com/composer/composer), -now extracted and made available as a stand-alone library. - -[![Build Status](https://travis-ci.org/composer/semver.svg?branch=master)](https://travis-ci.org/composer/semver) - - -Installation ------------- - -Install the latest version with: - -```bash -$ composer require composer/semver -``` - - -Requirements ------------- - -* PHP 5.3.2 is required but using the latest version of PHP is highly recommended. - - -Version Comparison ------------------- - -For details on how versions are compared, refer to the [Versions](https://getcomposer.org/doc/articles/versions.md) -article in the documentation section of the [getcomposer.org](https://getcomposer.org) website. - - -Basic usage ------------ - -### Comparator - -The `Composer\Semver\Comparator` class provides the following methods for comparing versions: - -* greaterThan($v1, $v2) -* greaterThanOrEqualTo($v1, $v2) -* lessThan($v1, $v2) -* lessThanOrEqualTo($v1, $v2) -* equalTo($v1, $v2) -* notEqualTo($v1, $v2) - -Each function takes two version strings as arguments and returns a boolean. For example: - -```php -use Composer\Semver\Comparator; - -Comparator::greaterThan('1.25.0', '1.24.0'); // 1.25.0 > 1.24.0 -``` - -### Semver - -The `Composer\Semver\Semver` class provides the following methods: - -* satisfies($version, $constraints) -* satisfiedBy(array $versions, $constraint) -* sort($versions) -* rsort($versions) - - -License -------- - -composer/semver is licensed under the MIT License, see the LICENSE file for details. diff --git a/vendor/composer/semver/composer.json b/vendor/composer/semver/composer.json deleted file mode 100644 index 981e7d15..00000000 --- a/vendor/composer/semver/composer.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "name": "composer/semver", - "description": "Semver library that offers utilities, version constraint parsing and validation.", - "type": "library", - "license": "MIT", - "keywords": [ - "semver", - "semantic", - "versioning", - "validation" - ], - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - }, - { - "name": "Rob Bast", - "email": "rob.bast@gmail.com", - "homepage": "http://robbast.nl" - } - ], - "support": { - "irc": "irc://irc.freenode.org/composer", - "issues": "https://github.com/composer/semver/issues" - }, - "require": { - "php": "^5.3.2 || ^7.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.5 || ^5.0.5" - }, - "autoload": { - "psr-4": { - "Composer\\Semver\\": "src" - } - }, - "autoload-dev": { - "psr-4": { - "Composer\\Semver\\": "tests" - } - }, - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "scripts": { - "test": "phpunit" - } -} diff --git a/vendor/composer/semver/src/Comparator.php b/vendor/composer/semver/src/Comparator.php deleted file mode 100644 index a9d758f1..00000000 --- a/vendor/composer/semver/src/Comparator.php +++ /dev/null @@ -1,111 +0,0 @@ - - * - * For the full copyright and license information, please view - * the LICENSE file that was distributed with this source code. - */ - -namespace Composer\Semver; - -use Composer\Semver\Constraint\Constraint; - -class Comparator -{ - /** - * Evaluates the expression: $version1 > $version2. - * - * @param string $version1 - * @param string $version2 - * - * @return bool - */ - public static function greaterThan($version1, $version2) - { - return self::compare($version1, '>', $version2); - } - - /** - * Evaluates the expression: $version1 >= $version2. - * - * @param string $version1 - * @param string $version2 - * - * @return bool - */ - public static function greaterThanOrEqualTo($version1, $version2) - { - return self::compare($version1, '>=', $version2); - } - - /** - * Evaluates the expression: $version1 < $version2. - * - * @param string $version1 - * @param string $version2 - * - * @return bool - */ - public static function lessThan($version1, $version2) - { - return self::compare($version1, '<', $version2); - } - - /** - * Evaluates the expression: $version1 <= $version2. - * - * @param string $version1 - * @param string $version2 - * - * @return bool - */ - public static function lessThanOrEqualTo($version1, $version2) - { - return self::compare($version1, '<=', $version2); - } - - /** - * Evaluates the expression: $version1 == $version2. - * - * @param string $version1 - * @param string $version2 - * - * @return bool - */ - public static function equalTo($version1, $version2) - { - return self::compare($version1, '==', $version2); - } - - /** - * Evaluates the expression: $version1 != $version2. - * - * @param string $version1 - * @param string $version2 - * - * @return bool - */ - public static function notEqualTo($version1, $version2) - { - return self::compare($version1, '!=', $version2); - } - - /** - * Evaluates the expression: $version1 $operator $version2. - * - * @param string $version1 - * @param string $operator - * @param string $version2 - * - * @return bool - */ - public static function compare($version1, $operator, $version2) - { - $constraint = new Constraint($operator, $version2); - - return $constraint->matches(new Constraint('==', $version1)); - } -} diff --git a/vendor/composer/semver/src/Constraint/AbstractConstraint.php b/vendor/composer/semver/src/Constraint/AbstractConstraint.php deleted file mode 100644 index 7b5270fa..00000000 --- a/vendor/composer/semver/src/Constraint/AbstractConstraint.php +++ /dev/null @@ -1,63 +0,0 @@ - - * - * For the full copyright and license information, please view - * the LICENSE file that was distributed with this source code. - */ - -namespace Composer\Semver\Constraint; - -trigger_error('The ' . __NAMESPACE__ . '\AbstractConstraint abstract class is deprecated, there is no replacement for it, it will be removed in the next major version.', E_USER_DEPRECATED); - -/** - * Base constraint class. - */ -abstract class AbstractConstraint implements ConstraintInterface -{ - /** @var string */ - protected $prettyString; - - /** - * @param ConstraintInterface $provider - * - * @return bool - */ - public function matches(ConstraintInterface $provider) - { - if ($provider instanceof $this) { - // see note at bottom of this class declaration - return $this->matchSpecific($provider); - } - - // turn matching around to find a match - return $provider->matches($this); - } - - /** - * @param string $prettyString - */ - public function setPrettyString($prettyString) - { - $this->prettyString = $prettyString; - } - - /** - * @return string - */ - public function getPrettyString() - { - if ($this->prettyString) { - return $this->prettyString; - } - - return $this->__toString(); - } - - // implementations must implement a method of this format: - // not declared abstract here because type hinting violates parameter coherence (TODO right word?) - // public function matchSpecific( $provider); -} diff --git a/vendor/composer/semver/src/Constraint/Constraint.php b/vendor/composer/semver/src/Constraint/Constraint.php deleted file mode 100644 index 0f28d643..00000000 --- a/vendor/composer/semver/src/Constraint/Constraint.php +++ /dev/null @@ -1,215 +0,0 @@ - - * - * For the full copyright and license information, please view - * the LICENSE file that was distributed with this source code. - */ - -namespace Composer\Semver\Constraint; - -/** - * Defines a constraint. - */ -class Constraint implements ConstraintInterface -{ - /* operator integer values */ - const OP_EQ = 0; - const OP_LT = 1; - const OP_LE = 2; - const OP_GT = 3; - const OP_GE = 4; - const OP_NE = 5; - - /** - * Operator to integer translation table. - * - * @var array - */ - private static $transOpStr = array( - '=' => self::OP_EQ, - '==' => self::OP_EQ, - '<' => self::OP_LT, - '<=' => self::OP_LE, - '>' => self::OP_GT, - '>=' => self::OP_GE, - '<>' => self::OP_NE, - '!=' => self::OP_NE, - ); - - /** - * Integer to operator translation table. - * - * @var array - */ - private static $transOpInt = array( - self::OP_EQ => '==', - self::OP_LT => '<', - self::OP_LE => '<=', - self::OP_GT => '>', - self::OP_GE => '>=', - self::OP_NE => '!=', - ); - - /** @var int */ - protected $operator; - - /** @var string */ - protected $version; - - /** @var string */ - protected $prettyString; - - /** - * @param ConstraintInterface $provider - * - * @return bool - */ - public function matches(ConstraintInterface $provider) - { - if ($provider instanceof $this) { - return $this->matchSpecific($provider); - } - - // turn matching around to find a match - return $provider->matches($this); - } - - /** - * @param string $prettyString - */ - public function setPrettyString($prettyString) - { - $this->prettyString = $prettyString; - } - - /** - * @return string - */ - public function getPrettyString() - { - if ($this->prettyString) { - return $this->prettyString; - } - - return $this->__toString(); - } - - /** - * Get all supported comparison operators. - * - * @return array - */ - public static function getSupportedOperators() - { - return array_keys(self::$transOpStr); - } - - /** - * Sets operator and version to compare with. - * - * @param string $operator - * @param string $version - * - * @throws \InvalidArgumentException if invalid operator is given. - */ - public function __construct($operator, $version) - { - if (!isset(self::$transOpStr[$operator])) { - throw new \InvalidArgumentException(sprintf( - 'Invalid operator "%s" given, expected one of: %s', - $operator, - implode(', ', self::getSupportedOperators()) - )); - } - - $this->operator = self::$transOpStr[$operator]; - $this->version = $version; - } - - /** - * @param string $a - * @param string $b - * @param string $operator - * @param bool $compareBranches - * - * @throws \InvalidArgumentException if invalid operator is given. - * - * @return bool - */ - public function versionCompare($a, $b, $operator, $compareBranches = false) - { - if (!isset(self::$transOpStr[$operator])) { - throw new \InvalidArgumentException(sprintf( - 'Invalid operator "%s" given, expected one of: %s', - $operator, - implode(', ', self::getSupportedOperators()) - )); - } - - $aIsBranch = 'dev-' === substr($a, 0, 4); - $bIsBranch = 'dev-' === substr($b, 0, 4); - - if ($aIsBranch && $bIsBranch) { - return $operator === '==' && $a === $b; - } - - // when branches are not comparable, we make sure dev branches never match anything - if (!$compareBranches && ($aIsBranch || $bIsBranch)) { - return false; - } - - return version_compare($a, $b, $operator); - } - - /** - * @param Constraint $provider - * @param bool $compareBranches - * - * @return bool - */ - public function matchSpecific(Constraint $provider, $compareBranches = false) - { - $noEqualOp = str_replace('=', '', self::$transOpInt[$this->operator]); - $providerNoEqualOp = str_replace('=', '', self::$transOpInt[$provider->operator]); - - $isEqualOp = self::OP_EQ === $this->operator; - $isNonEqualOp = self::OP_NE === $this->operator; - $isProviderEqualOp = self::OP_EQ === $provider->operator; - $isProviderNonEqualOp = self::OP_NE === $provider->operator; - - // '!=' operator is match when other operator is not '==' operator or version is not match - // these kinds of comparisons always have a solution - if ($isNonEqualOp || $isProviderNonEqualOp) { - return (!$isEqualOp && !$isProviderEqualOp) - || $this->versionCompare($provider->version, $this->version, '!=', $compareBranches); - } - - // an example for the condition is <= 2.0 & < 1.0 - // these kinds of comparisons always have a solution - if ($this->operator !== self::OP_EQ && $noEqualOp === $providerNoEqualOp) { - return true; - } - - if ($this->versionCompare($provider->version, $this->version, self::$transOpInt[$this->operator], $compareBranches)) { - // special case, e.g. require >= 1.0 and provide < 1.0 - // 1.0 >= 1.0 but 1.0 is outside of the provided interval - return !($provider->version === $this->version - && self::$transOpInt[$provider->operator] === $providerNoEqualOp - && self::$transOpInt[$this->operator] !== $noEqualOp); - } - - return false; - } - - /** - * @return string - */ - public function __toString() - { - return self::$transOpInt[$this->operator] . ' ' . $this->version; - } -} diff --git a/vendor/composer/semver/src/Constraint/ConstraintInterface.php b/vendor/composer/semver/src/Constraint/ConstraintInterface.php deleted file mode 100644 index 7cb13b6a..00000000 --- a/vendor/composer/semver/src/Constraint/ConstraintInterface.php +++ /dev/null @@ -1,32 +0,0 @@ - - * - * For the full copyright and license information, please view - * the LICENSE file that was distributed with this source code. - */ - -namespace Composer\Semver\Constraint; - -interface ConstraintInterface -{ - /** - * @param ConstraintInterface $provider - * - * @return bool - */ - public function matches(ConstraintInterface $provider); - - /** - * @return string - */ - public function getPrettyString(); - - /** - * @return string - */ - public function __toString(); -} diff --git a/vendor/composer/semver/src/Constraint/EmptyConstraint.php b/vendor/composer/semver/src/Constraint/EmptyConstraint.php deleted file mode 100644 index a082b809..00000000 --- a/vendor/composer/semver/src/Constraint/EmptyConstraint.php +++ /dev/null @@ -1,59 +0,0 @@ - - * - * For the full copyright and license information, please view - * the LICENSE file that was distributed with this source code. - */ - -namespace Composer\Semver\Constraint; - -/** - * Defines the absence of a constraint. - */ -class EmptyConstraint implements ConstraintInterface -{ - /** @var string */ - protected $prettyString; - - /** - * @param ConstraintInterface $provider - * - * @return bool - */ - public function matches(ConstraintInterface $provider) - { - return true; - } - - /** - * @param string $prettyString - */ - public function setPrettyString($prettyString) - { - $this->prettyString = $prettyString; - } - - /** - * @return string - */ - public function getPrettyString() - { - if ($this->prettyString) { - return $this->prettyString; - } - - return (string) $this; - } - - /** - * @return string - */ - public function __toString() - { - return '[]'; - } -} diff --git a/vendor/composer/semver/src/Constraint/MultiConstraint.php b/vendor/composer/semver/src/Constraint/MultiConstraint.php deleted file mode 100644 index 91128530..00000000 --- a/vendor/composer/semver/src/Constraint/MultiConstraint.php +++ /dev/null @@ -1,120 +0,0 @@ - - * - * For the full copyright and license information, please view - * the LICENSE file that was distributed with this source code. - */ - -namespace Composer\Semver\Constraint; - -/** - * Defines a conjunctive or disjunctive set of constraints. - */ -class MultiConstraint implements ConstraintInterface -{ - /** @var ConstraintInterface[] */ - protected $constraints; - - /** @var string|null */ - protected $prettyString; - - /** @var bool */ - protected $conjunctive; - - /** - * @param ConstraintInterface[] $constraints A set of constraints - * @param bool $conjunctive Whether the constraints should be treated as conjunctive or disjunctive - */ - public function __construct(array $constraints, $conjunctive = true) - { - $this->constraints = $constraints; - $this->conjunctive = $conjunctive; - } - - /** - * @return ConstraintInterface[] - */ - public function getConstraints() - { - return $this->constraints; - } - - /** - * @return bool - */ - public function isConjunctive() - { - return $this->conjunctive; - } - - /** - * @return bool - */ - public function isDisjunctive() - { - return !$this->conjunctive; - } - - /** - * @param ConstraintInterface $provider - * - * @return bool - */ - public function matches(ConstraintInterface $provider) - { - if (false === $this->conjunctive) { - foreach ($this->constraints as $constraint) { - if ($constraint->matches($provider)) { - return true; - } - } - - return false; - } - - foreach ($this->constraints as $constraint) { - if (!$constraint->matches($provider)) { - return false; - } - } - - return true; - } - - /** - * @param string|null $prettyString - */ - public function setPrettyString($prettyString) - { - $this->prettyString = $prettyString; - } - - /** - * @return string - */ - public function getPrettyString() - { - if ($this->prettyString) { - return $this->prettyString; - } - - return (string) $this; - } - - /** - * @return string - */ - public function __toString() - { - $constraints = array(); - foreach ($this->constraints as $constraint) { - $constraints[] = (string) $constraint; - } - - return '[' . implode($this->conjunctive ? ' ' : ' || ', $constraints) . ']'; - } -} diff --git a/vendor/composer/semver/src/Semver.php b/vendor/composer/semver/src/Semver.php deleted file mode 100644 index 4f312d73..00000000 --- a/vendor/composer/semver/src/Semver.php +++ /dev/null @@ -1,127 +0,0 @@ - - * - * For the full copyright and license information, please view - * the LICENSE file that was distributed with this source code. - */ - -namespace Composer\Semver; - -use Composer\Semver\Constraint\Constraint; - -class Semver -{ - const SORT_ASC = 1; - const SORT_DESC = -1; - - /** @var VersionParser */ - private static $versionParser; - - /** - * Determine if given version satisfies given constraints. - * - * @param string $version - * @param string $constraints - * - * @return bool - */ - public static function satisfies($version, $constraints) - { - if (null === self::$versionParser) { - self::$versionParser = new VersionParser(); - } - - $versionParser = self::$versionParser; - $provider = new Constraint('==', $versionParser->normalize($version)); - $parsedConstraints = $versionParser->parseConstraints($constraints); - - return $parsedConstraints->matches($provider); - } - - /** - * Return all versions that satisfy given constraints. - * - * @param array $versions - * @param string $constraints - * - * @return array - */ - public static function satisfiedBy(array $versions, $constraints) - { - $versions = array_filter($versions, function ($version) use ($constraints) { - return Semver::satisfies($version, $constraints); - }); - - return array_values($versions); - } - - /** - * Sort given array of versions. - * - * @param array $versions - * - * @return array - */ - public static function sort(array $versions) - { - return self::usort($versions, self::SORT_ASC); - } - - /** - * Sort given array of versions in reverse. - * - * @param array $versions - * - * @return array - */ - public static function rsort(array $versions) - { - return self::usort($versions, self::SORT_DESC); - } - - /** - * @param array $versions - * @param int $direction - * - * @return array - */ - private static function usort(array $versions, $direction) - { - if (null === self::$versionParser) { - self::$versionParser = new VersionParser(); - } - - $versionParser = self::$versionParser; - $normalized = array(); - - // Normalize outside of usort() scope for minor performance increase. - // Creates an array of arrays: [[normalized, key], ...] - foreach ($versions as $key => $version) { - $normalized[] = array($versionParser->normalize($version), $key); - } - - usort($normalized, function (array $left, array $right) use ($direction) { - if ($left[0] === $right[0]) { - return 0; - } - - if (Comparator::lessThan($left[0], $right[0])) { - return -$direction; - } - - return $direction; - }); - - // Recreate input array, using the original indexes which are now in sorted order. - $sorted = array(); - foreach ($normalized as $item) { - $sorted[] = $versions[$item[1]]; - } - - return $sorted; - } -} diff --git a/vendor/composer/semver/src/VersionParser.php b/vendor/composer/semver/src/VersionParser.php deleted file mode 100644 index 5af0fa30..00000000 --- a/vendor/composer/semver/src/VersionParser.php +++ /dev/null @@ -1,578 +0,0 @@ - - * - * For the full copyright and license information, please view - * the LICENSE file that was distributed with this source code. - */ - -namespace Composer\Semver; - -use Composer\Semver\Constraint\ConstraintInterface; -use Composer\Semver\Constraint\EmptyConstraint; -use Composer\Semver\Constraint\MultiConstraint; -use Composer\Semver\Constraint\Constraint; - -/** - * Version parser. - * - * @author Jordi Boggiano - */ -class VersionParser -{ - /** - * Regex to match pre-release data (sort of). - * - * Due to backwards compatibility: - * - Instead of enforcing hyphen, an underscore, dot or nothing at all are also accepted. - * - Only stabilities as recognized by Composer are allowed to precede a numerical identifier. - * - Numerical-only pre-release identifiers are not supported, see tests. - * - * |--------------| - * [major].[minor].[patch] -[pre-release] +[build-metadata] - * - * @var string - */ - private static $modifierRegex = '[._-]?(?:(stable|beta|b|RC|alpha|a|patch|pl|p)((?:[.-]?\d+)*+)?)?([.-]?dev)?'; - - /** @var string */ - private static $stabilitiesRegex = 'stable|RC|beta|alpha|dev'; - - /** - * Returns the stability of a version. - * - * @param string $version - * - * @return string - */ - public static function parseStability($version) - { - $version = preg_replace('{#.+$}i', '', $version); - - if (strpos($version, 'dev-') === 0 || '-dev' === substr($version, -4)) { - return 'dev'; - } - - preg_match('{' . self::$modifierRegex . '(?:\+.*)?$}i', strtolower($version), $match); - - if (!empty($match[3])) { - return 'dev'; - } - - if (!empty($match[1])) { - if ('beta' === $match[1] || 'b' === $match[1]) { - return 'beta'; - } - if ('alpha' === $match[1] || 'a' === $match[1]) { - return 'alpha'; - } - if ('rc' === $match[1]) { - return 'RC'; - } - } - - return 'stable'; - } - - /** - * @param string $stability - * - * @return string - */ - public static function normalizeStability($stability) - { - $stability = strtolower($stability); - - return $stability === 'rc' ? 'RC' : $stability; - } - - /** - * Normalizes a version string to be able to perform comparisons on it. - * - * @param string $version - * @param string $fullVersion optional complete version string to give more context - * - * @throws \UnexpectedValueException - * - * @return string - */ - public function normalize($version, $fullVersion = null) - { - $version = trim($version); - $origVersion = $version; - if (null === $fullVersion) { - $fullVersion = $version; - } - - // strip off aliasing - if (preg_match('{^([^,\s]++) ++as ++([^,\s]++)$}', $version, $match)) { - $version = $match[1]; - } - - // strip off stability flag - if (preg_match('{@(?:' . self::$stabilitiesRegex . ')$}i', $version, $match)) { - $version = substr($version, 0, strlen($version) - strlen($match[0])); - } - - // match master-like branches - if (preg_match('{^(?:dev-)?(?:master|trunk|default)$}i', $version)) { - return '9999999-dev'; - } - - // if requirement is branch-like, use full name - if (stripos($version, 'dev-') === 0) { - return 'dev-' . substr($version, 4); - } - - // strip off build metadata - if (preg_match('{^([^,\s+]++)\+[^\s]++$}', $version, $match)) { - $version = $match[1]; - } - - // match classical versioning - if (preg_match('{^v?(\d{1,5})(\.\d++)?(\.\d++)?(\.\d++)?' . self::$modifierRegex . '$}i', $version, $matches)) { - $version = $matches[1] - . (!empty($matches[2]) ? $matches[2] : '.0') - . (!empty($matches[3]) ? $matches[3] : '.0') - . (!empty($matches[4]) ? $matches[4] : '.0'); - $index = 5; - // match date(time) based versioning - } elseif (preg_match('{^v?(\d{4}(?:[.:-]?\d{2}){1,6}(?:[.:-]?\d{1,3})?)' . self::$modifierRegex . '$}i', $version, $matches)) { - $version = preg_replace('{\D}', '.', $matches[1]); - $index = 2; - } - - // add version modifiers if a version was matched - if (isset($index)) { - if (!empty($matches[$index])) { - if ('stable' === $matches[$index]) { - return $version; - } - $version .= '-' . $this->expandStability($matches[$index]) . (isset($matches[$index + 1]) && '' !== $matches[$index + 1] ? ltrim($matches[$index + 1], '.-') : ''); - } - - if (!empty($matches[$index + 2])) { - $version .= '-dev'; - } - - return $version; - } - - // match dev branches - if (preg_match('{(.*?)[.-]?dev$}i', $version, $match)) { - try { - $normalized = $this->normalizeBranch($match[1]); - // a branch ending with -dev is only valid if it is numeric - // if it gets prefixed with dev- it means the branch name should - // have had a dev- prefix already when passed to normalize - if (strpos($normalized, 'dev-') === false) { - return $normalized; - } - } catch (\Exception $e) { - } - } - - $extraMessage = ''; - if (preg_match('{ +as +' . preg_quote($version) . '(?:@(?:'.self::$stabilitiesRegex.'))?$}', $fullVersion)) { - $extraMessage = ' in "' . $fullVersion . '", the alias must be an exact version'; - } elseif (preg_match('{^' . preg_quote($version) . '(?:@(?:'.self::$stabilitiesRegex.'))? +as +}', $fullVersion)) { - $extraMessage = ' in "' . $fullVersion . '", the alias source must be an exact version, if it is a branch name you should prefix it with dev-'; - } - - throw new \UnexpectedValueException('Invalid version string "' . $origVersion . '"' . $extraMessage); - } - - /** - * Extract numeric prefix from alias, if it is in numeric format, suitable for version comparison. - * - * @param string $branch Branch name (e.g. 2.1.x-dev) - * - * @return string|false Numeric prefix if present (e.g. 2.1.) or false - */ - public function parseNumericAliasPrefix($branch) - { - if (preg_match('{^(?P(\d++\\.)*\d++)(?:\.x)?-dev$}i', $branch, $matches)) { - return $matches['version'] . '.'; - } - - return false; - } - - /** - * Normalizes a branch name to be able to perform comparisons on it. - * - * @param string $name - * - * @return string - */ - public function normalizeBranch($name) - { - $name = trim($name); - - if (in_array($name, array('master', 'trunk', 'default'))) { - return $this->normalize($name); - } - - if (preg_match('{^v?(\d++)(\.(?:\d++|[xX*]))?(\.(?:\d++|[xX*]))?(\.(?:\d++|[xX*]))?$}i', $name, $matches)) { - $version = ''; - for ($i = 1; $i < 5; ++$i) { - $version .= isset($matches[$i]) ? str_replace(array('*', 'X'), 'x', $matches[$i]) : '.x'; - } - - return str_replace('x', '9999999', $version) . '-dev'; - } - - return 'dev-' . $name; - } - - /** - * Parses a constraint string into MultiConstraint and/or Constraint objects. - * - * @param string $constraints - * - * @return ConstraintInterface - */ - public function parseConstraints($constraints) - { - $prettyConstraint = $constraints; - - $orConstraints = preg_split('{\s*\|\|?\s*}', trim($constraints)); - $orGroups = array(); - - foreach ($orConstraints as $constraints) { - $andConstraints = preg_split('{(?< ,]) *(? 1) { - $constraintObjects = array(); - foreach ($andConstraints as $constraint) { - foreach ($this->parseConstraint($constraint) as $parsedConstraint) { - $constraintObjects[] = $parsedConstraint; - } - } - } else { - $constraintObjects = $this->parseConstraint($andConstraints[0]); - } - - if (1 === count($constraintObjects)) { - $constraint = $constraintObjects[0]; - } else { - $constraint = new MultiConstraint($constraintObjects); - } - - $orGroups[] = $constraint; - } - - if (1 === count($orGroups)) { - $constraint = $orGroups[0]; - } elseif (2 === count($orGroups) - // parse the two OR groups and if they are contiguous we collapse - // them into one constraint - && $orGroups[0] instanceof MultiConstraint - && $orGroups[1] instanceof MultiConstraint - && 2 === count($orGroups[0]->getConstraints()) - && 2 === count($orGroups[1]->getConstraints()) - && ($a = (string) $orGroups[0]) - && strpos($a, '[>=') === 0 && (false !== ($posA = strpos($a, '<', 4))) - && ($b = (string) $orGroups[1]) - && strpos($b, '[>=') === 0 && (false !== ($posB = strpos($b, '<', 4))) - && substr($a, $posA + 2, -1) === substr($b, 4, $posB - 5) - ) { - $constraint = new MultiConstraint(array( - new Constraint('>=', substr($a, 4, $posA - 5)), - new Constraint('<', substr($b, $posB + 2, -1)), - )); - } else { - $constraint = new MultiConstraint($orGroups, false); - } - - $constraint->setPrettyString($prettyConstraint); - - return $constraint; - } - - /** - * @param string $constraint - * - * @throws \UnexpectedValueException - * - * @return array - */ - private function parseConstraint($constraint) - { - // strip off aliasing - if (preg_match('{^([^,\s]++) ++as ++([^,\s]++)$}', $constraint, $match)) { - $constraint = $match[1]; - } - - // strip @stability flags, and keep it for later use - if (preg_match('{^([^,\s]*?)@(' . self::$stabilitiesRegex . ')$}i', $constraint, $match)) { - $constraint = '' !== $match[1] ? $match[1] : '*'; - if ($match[2] !== 'stable') { - $stabilityModifier = $match[2]; - } - } - - // get rid of #refs as those are used by composer only - if (preg_match('{^(dev-[^,\s@]+?|[^,\s@]+?\.x-dev)#.+$}i', $constraint, $match)) { - $constraint = $match[1]; - } - - if (preg_match('{^v?[xX*](\.[xX*])*$}i', $constraint)) { - return array(new EmptyConstraint()); - } - - $versionRegex = 'v?(\d++)(?:\.(\d++))?(?:\.(\d++))?(?:\.(\d++))?(?:' . self::$modifierRegex . '|\.([xX*][.-]?dev))(?:\+[^\s]+)?'; - - // Tilde Range - // - // Like wildcard constraints, unsuffixed tilde constraints say that they must be greater than the previous - // version, to ensure that unstable instances of the current version are allowed. However, if a stability - // suffix is added to the constraint, then a >= match on the current version is used instead. - if (preg_match('{^~>?' . $versionRegex . '$}i', $constraint, $matches)) { - if (strpos($constraint, '~>') === 0) { - throw new \UnexpectedValueException( - 'Could not parse version constraint ' . $constraint . ': ' . - 'Invalid operator "~>", you probably meant to use the "~" operator' - ); - } - - // Work out which position in the version we are operating at - if (isset($matches[4]) && '' !== $matches[4] && null !== $matches[4]) { - $position = 4; - } elseif (isset($matches[3]) && '' !== $matches[3] && null !== $matches[3]) { - $position = 3; - } elseif (isset($matches[2]) && '' !== $matches[2] && null !== $matches[2]) { - $position = 2; - } else { - $position = 1; - } - - // when matching 2.x-dev or 3.0.x-dev we have to shift the second or third number, despite no second/third number matching above - if (!empty($matches[8])) { - $position++; - } - - // Calculate the stability suffix - $stabilitySuffix = ''; - if (empty($matches[5]) && empty($matches[7]) && empty($matches[8])) { - $stabilitySuffix .= '-dev'; - } - - $lowVersion = $this->normalize(substr($constraint . $stabilitySuffix, 1)); - $lowerBound = new Constraint('>=', $lowVersion); - - // For upper bound, we increment the position of one more significance, - // but highPosition = 0 would be illegal - $highPosition = max(1, $position - 1); - $highVersion = $this->manipulateVersionString($matches, $highPosition, 1) . '-dev'; - $upperBound = new Constraint('<', $highVersion); - - return array( - $lowerBound, - $upperBound, - ); - } - - // Caret Range - // - // Allows changes that do not modify the left-most non-zero digit in the [major, minor, patch] tuple. - // In other words, this allows patch and minor updates for versions 1.0.0 and above, patch updates for - // versions 0.X >=0.1.0, and no updates for versions 0.0.X - if (preg_match('{^\^' . $versionRegex . '($)}i', $constraint, $matches)) { - // Work out which position in the version we are operating at - if ('0' !== $matches[1] || '' === $matches[2] || null === $matches[2]) { - $position = 1; - } elseif ('0' !== $matches[2] || '' === $matches[3] || null === $matches[3]) { - $position = 2; - } else { - $position = 3; - } - - // Calculate the stability suffix - $stabilitySuffix = ''; - if (empty($matches[5]) && empty($matches[7]) && empty($matches[8])) { - $stabilitySuffix .= '-dev'; - } - - $lowVersion = $this->normalize(substr($constraint . $stabilitySuffix, 1)); - $lowerBound = new Constraint('>=', $lowVersion); - - // For upper bound, we increment the position of one more significance, - // but highPosition = 0 would be illegal - $highVersion = $this->manipulateVersionString($matches, $position, 1) . '-dev'; - $upperBound = new Constraint('<', $highVersion); - - return array( - $lowerBound, - $upperBound, - ); - } - - // X Range - // - // Any of X, x, or * may be used to "stand in" for one of the numeric values in the [major, minor, patch] tuple. - // A partial version range is treated as an X-Range, so the special character is in fact optional. - if (preg_match('{^v?(\d++)(?:\.(\d++))?(?:\.(\d++))?(?:\.[xX*])++$}', $constraint, $matches)) { - if (isset($matches[3]) && '' !== $matches[3] && null !== $matches[3]) { - $position = 3; - } elseif (isset($matches[2]) && '' !== $matches[2] && null !== $matches[2]) { - $position = 2; - } else { - $position = 1; - } - - $lowVersion = $this->manipulateVersionString($matches, $position) . '-dev'; - $highVersion = $this->manipulateVersionString($matches, $position, 1) . '-dev'; - - if ($lowVersion === '0.0.0.0-dev') { - return array(new Constraint('<', $highVersion)); - } - - return array( - new Constraint('>=', $lowVersion), - new Constraint('<', $highVersion), - ); - } - - // Hyphen Range - // - // Specifies an inclusive set. If a partial version is provided as the first version in the inclusive range, - // then the missing pieces are replaced with zeroes. If a partial version is provided as the second version in - // the inclusive range, then all versions that start with the supplied parts of the tuple are accepted, but - // nothing that would be greater than the provided tuple parts. - if (preg_match('{^(?P' . $versionRegex . ') +- +(?P' . $versionRegex . ')($)}i', $constraint, $matches)) { - // Calculate the stability suffix - $lowStabilitySuffix = ''; - if (empty($matches[6]) && empty($matches[8]) && empty($matches[9])) { - $lowStabilitySuffix = '-dev'; - } - - $lowVersion = $this->normalize($matches['from']); - $lowerBound = new Constraint('>=', $lowVersion . $lowStabilitySuffix); - - $empty = function ($x) { - return ($x === 0 || $x === '0') ? false : empty($x); - }; - - if ((!$empty($matches[12]) && !$empty($matches[13])) || !empty($matches[15]) || !empty($matches[17]) || !empty($matches[18])) { - $highVersion = $this->normalize($matches['to']); - $upperBound = new Constraint('<=', $highVersion); - } else { - $highMatch = array('', $matches[11], $matches[12], $matches[13], $matches[14]); - - // validate to version - $this->normalize($matches['to']); - - $highVersion = $this->manipulateVersionString($highMatch, $empty($matches[12]) ? 1 : 2, 1) . '-dev'; - $upperBound = new Constraint('<', $highVersion); - } - - return array( - $lowerBound, - $upperBound, - ); - } - - // Basic Comparators - if (preg_match('{^(<>|!=|>=?|<=?|==?)?\s*(.*)}', $constraint, $matches)) { - try { - try { - $version = $this->normalize($matches[2]); - } catch (\UnexpectedValueException $e) { - // recover from an invalid constraint like foobar-dev which should be dev-foobar - // except if the constraint uses a known operator, in which case it must be a parse error - if (substr($matches[2], -4) === '-dev' && preg_match('{^[0-9a-zA-Z-./]+$}', $matches[2])) { - $version = $this->normalize('dev-'.substr($matches[2], 0, -4)); - } else { - throw $e; - } - } - - $op = $matches[1] ?: '='; - - if ($op !== '==' && $op !== '=' && !empty($stabilityModifier) && self::parseStability($version) === 'stable') { - $version .= '-' . $stabilityModifier; - } elseif ('<' === $op || '>=' === $op) { - if (!preg_match('/-' . self::$modifierRegex . '$/', strtolower($matches[2]))) { - if (strpos($matches[2], 'dev-') !== 0) { - $version .= '-dev'; - } - } - } - - return array(new Constraint($matches[1] ?: '=', $version)); - } catch (\Exception $e) { - } - } - - $message = 'Could not parse version constraint ' . $constraint; - if (isset($e)) { - $message .= ': ' . $e->getMessage(); - } - - throw new \UnexpectedValueException($message); - } - - /** - * Increment, decrement, or simply pad a version number. - * - * Support function for {@link parseConstraint()} - * - * @param array $matches Array with version parts in array indexes 1,2,3,4 - * @param int $position 1,2,3,4 - which segment of the version to increment/decrement - * @param int $increment - * @param string $pad The string to pad version parts after $position - * - * @return string|null The new version - */ - private function manipulateVersionString($matches, $position, $increment = 0, $pad = '0') - { - for ($i = 4; $i > 0; --$i) { - if ($i > $position) { - $matches[$i] = $pad; - } elseif ($i === $position && $increment) { - $matches[$i] += $increment; - // If $matches[$i] was 0, carry the decrement - if ($matches[$i] < 0) { - $matches[$i] = $pad; - --$position; - - // Return null on a carry overflow - if ($i === 1) { - return null; - } - } - } - } - - return $matches[1] . '.' . $matches[2] . '.' . $matches[3] . '.' . $matches[4]; - } - - /** - * Expand shorthand stability string to long version. - * - * @param string $stability - * - * @return string - */ - private function expandStability($stability) - { - $stability = strtolower($stability); - - switch ($stability) { - case 'a': - return 'alpha'; - case 'b': - return 'beta'; - case 'p': - case 'pl': - return 'patch'; - case 'rc': - return 'RC'; - default: - return $stability; - } - } -} diff --git a/vendor/scssphp/scssphp/composer.json b/vendor/scssphp/scssphp/composer.json index 2c95c9f0..e4c47d34 100644 --- a/vendor/scssphp/scssphp/composer.json +++ b/vendor/scssphp/scssphp/composer.json @@ -32,7 +32,7 @@ }, "require-dev": { "phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.3 || ^9.4", - "sass/sass-spec": "2020.10.29", + "sass/sass-spec": "2020.12.29", "squizlabs/php_codesniffer": "~3.5", "symfony/phpunit-bridge": "^5.1", "twbs/bootstrap": "~4.3", @@ -43,16 +43,16 @@ "type": "package", "package": { "name": "sass/sass-spec", - "version": "2020.10.29", + "version": "2020.12.29", "source": { "type": "git", "url": "https://github.com/sass/sass-spec.git", - "reference": "07094dab93a598795e8b04caec6ceae67a43f504" + "reference": "d975d33146fb679a6b359ceca329012f02e4a794" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sass/sass-spec/zipball/07094dab93a598795e8b04caec6ceae67a43f504", - "reference": "07094dab93a598795e8b04caec6ceae67a43f504", + "url": "https://api.github.com/repos/sass/sass-spec/zipball/d975d33146fb679a6b359ceca329012f02e4a794", + "reference": "d975d33146fb679a6b359ceca329012f02e4a794", "shasum": "" } } diff --git a/vendor/scssphp/scssphp/scss.inc.php b/vendor/scssphp/scssphp/scss.inc.php index dd6fb030..6b39d320 100644 --- a/vendor/scssphp/scssphp/scss.inc.php +++ b/vendor/scssphp/scssphp/scss.inc.php @@ -33,6 +33,7 @@ if (! class_exists('ScssPhp\ScssPhp\Version', false)) { include_once __DIR__ . '/src/SourceMap/Base64VLQ.php'; include_once __DIR__ . '/src/SourceMap/SourceMapGenerator.php'; include_once __DIR__ . '/src/Type.php'; + include_once __DIR__ . '/src/Util/Path.php'; include_once __DIR__ . '/src/Util.php'; include_once __DIR__ . '/src/Version.php'; } diff --git a/vendor/scssphp/scssphp/src/Cache.php b/vendor/scssphp/scssphp/src/Cache.php index 02d47ac8..4738ee4e 100644 --- a/vendor/scssphp/scssphp/src/Cache.php +++ b/vendor/scssphp/scssphp/src/Cache.php @@ -13,6 +13,7 @@ namespace ScssPhp\ScssPhp; use Exception; +use ScssPhp\ScssPhp\Version; /** * The scss cache manager. @@ -156,6 +157,7 @@ class Cache { $t = [ 'version' => self::CACHE_VERSION, + 'scssphpVersion' => Version::VERSION, 'operation' => $operation, 'what' => $what, 'options' => $options diff --git a/vendor/scssphp/scssphp/src/Compiler.php b/vendor/scssphp/scssphp/src/Compiler.php index 94d8eacb..0997814e 100644 --- a/vendor/scssphp/scssphp/src/Compiler.php +++ b/vendor/scssphp/scssphp/src/Compiler.php @@ -15,12 +15,14 @@ namespace ScssPhp\ScssPhp; use ScssPhp\ScssPhp\Base\Range; use ScssPhp\ScssPhp\Compiler\Environment; use ScssPhp\ScssPhp\Exception\CompilerException; +use ScssPhp\ScssPhp\Exception\ParserException; use ScssPhp\ScssPhp\Exception\SassScriptException; use ScssPhp\ScssPhp\Formatter\Compressed; use ScssPhp\ScssPhp\Formatter\Expanded; use ScssPhp\ScssPhp\Formatter\OutputBlock; use ScssPhp\ScssPhp\Node\Number; use ScssPhp\ScssPhp\SourceMap\SourceMapGenerator; +use ScssPhp\ScssPhp\Util\Path; /** * The scss compiler and parser. @@ -268,7 +270,7 @@ class Compiler /** * The directory of the currently processed file * - * @var string + * @var string|null */ private $currentDirectory; @@ -279,6 +281,8 @@ class Compiler */ private $rootDirectory; + private $legacyCwdImportPath = true; + /** * Constructor * @@ -311,6 +315,7 @@ class Compiler 'sourceMap' => serialize($this->sourceMap), 'sourceMapOptions' => $this->sourceMapOptions, 'formatter' => $this->formatter, + 'legacyImportPath' => $this->legacyCwdImportPath, ]; return $options; @@ -375,11 +380,13 @@ class Compiler $this->ignoreCallStackMessage = false; if (!\is_null($path) && is_file($path)) { - $this->currentDirectory = dirname(realpath($path) ?: $path); + $path = realpath($path) ?: $path; + $this->currentDirectory = dirname($path); + $this->rootDirectory = $this->currentDirectory; } else { - $this->currentDirectory = getcwd(); + $this->currentDirectory = null; + $this->rootDirectory = getcwd(); } - $this->rootDirectory = $this->currentDirectory; try { $this->parser = $this->parserFactory($path); @@ -1806,7 +1813,13 @@ class Compiler $buffer = $this->collapseSelectors($selectors); $parser = $this->parserFactory(__METHOD__); - if ($parser->parseSelector($buffer, $newSelectors, true)) { + try { + $isValid = $parser->parseSelector($buffer, $newSelectors, true); + } catch (ParserException $e) { + throw $this->error($e->getMessage()); + } + + if ($isValid) { $selectors = array_map([$this, 'evalSelector'], $newSelectors); } } @@ -5087,7 +5100,18 @@ class Compiler */ public function setImportPaths($path) { - $this->importPaths = (array) $path; + $paths = (array) $path; + $actualImportPaths = array_filter($paths, function ($path) { + return $path !== ''; + }); + + $this->legacyCwdImportPath = \count($actualImportPaths) !== \count($paths); + + if ($this->legacyCwdImportPath) { + @trigger_error('Passing an empty string in the import paths to refer to the current working directory is deprecated. If that\'s the intended behavior, the value of "getcwd()" should be used directly instead. If this was used for resolving relative imports of the input alongside "chdir" with the source directory, the path of the input file should be passed to "compile()" instead.', E_USER_DEPRECATED); + } + + $this->importPaths = $actualImportPaths; } /** @@ -5114,6 +5138,8 @@ class Compiler * * @param string $style One of the OutputStyle constants * + * @return void + * * @phpstan-param OutputStyle::* $style */ public function setOutputStyle($style) @@ -5313,10 +5339,12 @@ class Compiler return null; } - $relativePath = $this->resolveImportPath($url, $this->currentDirectory); + if (!\is_null($this->currentDirectory)) { + $relativePath = $this->resolveImportPath($url, $this->currentDirectory); - if (!\is_null($relativePath)) { - return $relativePath; + if (!\is_null($relativePath)) { + return $relativePath; + } } foreach ($this->importPaths as $dir) { @@ -5336,12 +5364,28 @@ class Compiler } } + if ($this->legacyCwdImportPath) { + $path = $this->resolveImportPath($url, getcwd()); + + if (!\is_null($path)) { + @trigger_error('Resolving imports relatively to the current working directory is deprecated. If that\'s the intended behavior, the value of "getcwd()" should be added as an import path explicitly instead. If this was used for resolving relative imports of the input alongside "chdir" with the source directory, the path of the input file should be passed to "compile()" instead.', E_USER_DEPRECATED); + + return $path; + } + } + throw $this->error("`$url` file not found for @import"); } + /** + * @param string $url + * @param string $baseDir + * + * @return string|null + */ private function resolveImportPath($url, $baseDir) { - $path = rtrim($baseDir, '/').'/'.ltrim($url, '/'); + $path = Path::join($baseDir, $url); $hasExtension = preg_match('/.scss$/', $url); @@ -8023,7 +8067,7 @@ class Compiler * let extended chars untouched * * @param string $stringContent - * @param string $filter + * @param callable $filter * @return string */ protected function stringTransformAsciiOnly($stringContent, $filter) diff --git a/vendor/scssphp/scssphp/src/Formatter.php b/vendor/scssphp/scssphp/src/Formatter.php index bb53950b..d52a6744 100644 --- a/vendor/scssphp/scssphp/src/Formatter.php +++ b/vendor/scssphp/scssphp/src/Formatter.php @@ -342,7 +342,7 @@ abstract class Formatter ); } - $this->currentColumn = \strlen($lastLine); + $this->currentColumn += \strlen($lastLine); } echo $str; diff --git a/vendor/scssphp/scssphp/src/Parser.php b/vendor/scssphp/scssphp/src/Parser.php index b1170a9e..1faa82f8 100644 --- a/vendor/scssphp/scssphp/src/Parser.php +++ b/vendor/scssphp/scssphp/src/Parser.php @@ -1366,6 +1366,7 @@ class Parser ] ]; + case Type::T_CUSTOM_PROPERTY: case Type::T_UNARY: $parsed[2] = $this->isPlainCssValidElement($parsed[2]); if (! $parsed[2]) { @@ -3030,6 +3031,11 @@ class Parser return false; } + /** + * @param string $out + * @param bool $inKeywords + * @return bool + */ protected function matchEscapeCharacter(&$out, $inKeywords = false) { $s = $this->count; @@ -3456,6 +3462,55 @@ class Parser return true; } + /** + * parsing escaped chars in selectors: + * - escaped single chars are kept escaped in the selector but in a normalized form + * (if not in 0-9a-f range as this would be ambigous) + * - other escaped sequences (multibyte chars or 0-9a-f) are kept in their initial escaped form, + * normalized to lowercase + * + * TODO: this is a fallback solution. Ideally escaped chars in selectors should be encoded as the genuine chars, + * and escaping added when printing in the Compiler, where/if it's mandatory + * - but this require a better formal selector representation instead of the array we have now + * + * @param string $out + * @param bool $keepEscapedNumber + * @return bool + */ + protected function matchEscapeCharacterInSelector(&$out, $keepEscapedNumber = false) + { + $s_escape = $this->count; + if ($this->match('\\\\', $m)) { + $out = '\\' . $m[0]; + return true; + } + + if ($this->matchEscapeCharacter($escapedout, true)) { + if (strlen($escapedout) === 1) { + if (!preg_match(",\w,", $escapedout)) { + $out = '\\' . $escapedout; + return true; + } elseif (! $keepEscapedNumber || ! \is_numeric($escapedout)) { + $out = $escapedout; + return true; + } + } + $escape_sequence = rtrim(substr($this->buffer, $s_escape, $this->count - $s_escape)); + if (strlen($escape_sequence) < 6) { + $escape_sequence .= ' '; + } + $out = '\\' . strtolower($escape_sequence); + return true; + } + if ($this->match('\\S', $m)) { + $out = '\\' . $m[0]; + return true; + } + + + return false; + } + /** * Parse the parts that make up a selector * @@ -3516,9 +3571,14 @@ class Parser continue 2; } - if ($char === '\\' && $this->match('\\\\\S', $m)) { - $parts[] = $m[0]; - continue; + // handling of escaping in selectors : get the escaped char + if ($char === '\\') { + $this->count++; + if ($this->matchEscapeCharacterInSelector($escaped, true)) { + $parts[] = $escaped; + continue; + } + $this->count--; } if ($char === '%') { @@ -3661,7 +3721,7 @@ class Parser continue; } - if ($this->restrictedKeyword($name)) { + if ($this->restrictedKeyword($name, false, true)) { $parts[] = $name; continue; } @@ -3714,10 +3774,11 @@ class Parser * * @param string $word * @param boolean $eatWhitespace + * @param boolean $inSelector * * @return boolean */ - protected function keyword(&$word, $eatWhitespace = null) + protected function keyword(&$word, $eatWhitespace = null, $inSelector = false) { $s = $this->count; $match = $this->match( @@ -3744,7 +3805,12 @@ class Parser $this->count < $send && $char === '\\' && !$previousEscape - && $this->matchEscapeCharacter($out, true) + && ( + $inSelector ? + $this->matchEscapeCharacterInSelector($out) + : + $this->matchEscapeCharacter($out, true) + ) ) { $escapedWord[] = $out; } else { @@ -3775,14 +3841,15 @@ class Parser * * @param string $word * @param boolean $eatWhitespace + * @param boolean $inSelector * * @return boolean */ - protected function restrictedKeyword(&$word, $eatWhitespace = null) + protected function restrictedKeyword(&$word, $eatWhitespace = null, $inSelector = false) { $s = $this->count; - if ($this->keyword($word, $eatWhitespace) && (\ord($word[0]) > 57 || \ord($word[0]) < 48)) { + if ($this->keyword($word, $eatWhitespace, $inSelector) && (\ord($word[0]) > 57 || \ord($word[0]) < 48)) { return true; } diff --git a/vendor/scssphp/scssphp/src/Util/Path.php b/vendor/scssphp/scssphp/src/Util/Path.php new file mode 100644 index 00000000..f399e41a --- /dev/null +++ b/vendor/scssphp/scssphp/src/Util/Path.php @@ -0,0 +1,77 @@ +