diff --git a/.travis.yml b/.travis.yml index b6097a5..06c8305 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ language: php php: - - 7.1.8 + - 7.3 before_script: - travis_retry composer install --prefer-source --no-interaction diff --git a/composer.json b/composer.json index 5742a25..23a46b8 100644 --- a/composer.json +++ b/composer.json @@ -20,12 +20,12 @@ } }, "require": { - "php": ">=7.0.0", - "illuminate/support": "5.8.*||^6.0||^7.0||^8.0", - "laravel/browser-kit-testing": "^5.0||^6.0" + "php": "^7.3|^8.0", + "illuminate/support": "^8.0", + "laravel/browser-kit-testing": "^6.0" }, "require-dev": { - "orchestra/testbench": "~3.0" + "orchestra/testbench": "^6.0" }, "extra": { "laravel": { diff --git a/composer.lock b/composer.lock index 73cc999..49670c6 100644 --- a/composer.lock +++ b/composer.lock @@ -4,37 +4,97 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "1f0e94e11ab7fefd5033957ab7d973d5", + "content-hash": "258a07f9f80da10db139ddbea62bdcb0", "packages": [ { + "name": "brick/math", + "version": "0.9.1", + "source": { + "type": "git", + "url": "https://github.com/brick/math.git", + "reference": "283a40c901101e66de7061bd359252c013dcc43c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/brick/math/zipball/283a40c901101e66de7061bd359252c013dcc43c", + "reference": "283a40c901101e66de7061bd359252c013dcc43c", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": "^7.1|^8.0" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.2", + "phpunit/phpunit": "^7.5.15|^8.5", + "vimeo/psalm": "^3.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Brick\\Math\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Arbitrary-precision arithmetic library", + "keywords": [ + "Arbitrary-precision", + "BigInteger", + "BigRational", + "arithmetic", + "bigdecimal", + "bignum", + "brick", + "math" + ], + "support": { + "issues": "https://github.com/brick/math/issues", + "source": "https://github.com/brick/math/tree/master" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/brick/math", + "type": "tidelift" + } + ], + "time": "2020-08-18T23:57:15+00:00" + }, + { "name": "doctrine/inflector", - "version": "v1.3.0", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/doctrine/inflector.git", - "reference": "5527a48b7313d15261292c149e55e26eae771b0a" + "reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/5527a48b7313d15261292c149e55e26eae771b0a", - "reference": "5527a48b7313d15261292c149e55e26eae771b0a", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/9cf661f4eb38f7c881cac67c75ea9b00bf97b210", + "reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210", "shasum": "" }, "require": { - "php": "^7.1" + "php": "^7.2 || ^8.0" }, "require-dev": { - "phpunit/phpunit": "^6.2" + "doctrine/coding-standard": "^7.0", + "phpstan/phpstan": "^0.11", + "phpstan/phpstan-phpunit": "^0.11", + "phpstan/phpstan-strict-rules": "^0.11", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { "psr-4": { - "Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector" + "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" } }, "notification-url": "https://packagist.org/downloads/", @@ -43,6 +103,10 @@ ], "authors": [ { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { "name": "Roman Borschel", "email": "roman@code-factory.org" }, @@ -51,10 +115,6 @@ "email": "kontakt@beberlei.de" }, { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { "name": "Jonathan Wage", "email": "jonwage@gmail.com" }, @@ -63,48 +123,67 @@ "email": "schmittjoh@gmail.com" } ], - "description": "Common String Manipulations with regard to casing and singular/plural rules.", - "homepage": "http://www.doctrine-project.org", + "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.", + "homepage": "https://www.doctrine-project.org/projects/inflector.html", "keywords": [ "inflection", - "pluralize", - "singularize", - "string" + "inflector", + "lowercase", + "manipulation", + "php", + "plural", + "singular", + "strings", + "uppercase", + "words" + ], + "support": { + "issues": "https://github.com/doctrine/inflector/issues", + "source": "https://github.com/doctrine/inflector/tree/2.0.x" + }, + "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%2Finflector", + "type": "tidelift" + } ], - "time": "2018-01-09T20:05:19+00:00" + "time": "2020-05-29T15:13:26+00:00" }, { "name": "doctrine/instantiator", - "version": "1.2.0", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", - "reference": "a2c590166b2133a4633738648b6b064edae0814a" + "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/a2c590166b2133a4633738648b6b064edae0814a", - "reference": "a2c590166b2133a4633738648b6b064edae0814a", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/d56bf6102915de5702778fe20f2de3b2fe570b5b", + "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b", "shasum": "" }, "require": { - "php": "^7.1" + "php": "^7.1 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^6.0", + "doctrine/coding-standard": "^8.0", "ext-pdo": "*", "ext-phar": "*", - "phpbench/phpbench": "^0.13", - "phpstan/phpstan-phpunit": "^0.11", - "phpstan/phpstan-shim": "^0.11", - "phpunit/phpunit": "^7.0" + "phpbench/phpbench": "^0.13 || 1.0.0-alpha2", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, "autoload": { "psr-4": { "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" @@ -118,7 +197,7 @@ { "name": "Marco Pivetta", "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" + "homepage": "https://ocramius.github.io/" } ], "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", @@ -127,34 +206,57 @@ "constructor", "instantiate" ], - "time": "2019-03-17T17:37:11+00:00" + "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" }, { "name": "doctrine/lexer", - "version": "v1.0.1", + "version": "1.2.1", "source": { "type": "git", "url": "https://github.com/doctrine/lexer.git", - "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c" + "reference": "e864bbf5904cb8f5bb334f99209b48018522f042" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c", - "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/e864bbf5904cb8f5bb334f99209b48018522f042", + "reference": "e864bbf5904cb8f5bb334f99209b48018522f042", "shasum": "" }, "require": { - "php": ">=5.3.2" + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^6.0", + "phpstan/phpstan": "^0.11.8", + "phpunit/phpunit": "^8.2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.2.x-dev" } }, "autoload": { - "psr-0": { - "Doctrine\\Common\\Lexer\\": "lib/" + "psr-4": { + "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" } }, "notification-url": "https://packagist.org/downloads/", @@ -163,52 +265,75 @@ ], "authors": [ { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { "name": "Guilherme Blanco", "email": "guilhermeblanco@gmail.com" }, { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { "name": "Johannes Schmitt", "email": "schmittjoh@gmail.com" } ], - "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", - "homepage": "http://www.doctrine-project.org", + "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "https://www.doctrine-project.org/projects/lexer.html", "keywords": [ + "annotations", + "docblock", "lexer", - "parser" + "parser", + "php" + ], + "support": { + "issues": "https://github.com/doctrine/lexer/issues", + "source": "https://github.com/doctrine/lexer/tree/1.2.1" + }, + "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%2Flexer", + "type": "tidelift" + } ], - "time": "2014-09-09T13:34:57+00:00" + "time": "2020-05-25T17:44:05+00:00" }, { "name": "dragonmantank/cron-expression", - "version": "v2.3.0", + "version": "v3.1.0", "source": { "type": "git", "url": "https://github.com/dragonmantank/cron-expression.git", - "reference": "72b6fbf76adb3cf5bc0db68559b33d41219aba27" + "reference": "7a8c6e56ab3ffcc538d05e8155bb42269abf1a0c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/72b6fbf76adb3cf5bc0db68559b33d41219aba27", - "reference": "72b6fbf76adb3cf5bc0db68559b33d41219aba27", + "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/7a8c6e56ab3ffcc538d05e8155bb42269abf1a0c", + "reference": "7a8c6e56ab3ffcc538d05e8155bb42269abf1a0c", "shasum": "" }, "require": { - "php": "^7.0" + "php": "^7.2|^8.0", + "webmozart/assert": "^1.7.0" + }, + "replace": { + "mtdowling/cron-expression": "^1.0" }, "require-dev": { - "phpunit/phpunit": "^6.4|^7.0" + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-webmozart-assert": "^0.12.7", + "phpunit/phpunit": "^7.0|^8.0|^9.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev" - } - }, "autoload": { "psr-4": { "Cron\\": "src/Cron/" @@ -220,11 +345,6 @@ ], "authors": [ { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { "name": "Chris Tankersley", "email": "chris@ctankersley.com", "homepage": "https://github.com/dragonmantank" @@ -235,29 +355,40 @@ "cron", "schedule" ], - "time": "2019-03-31T00:38:28+00:00" + "support": { + "issues": "https://github.com/dragonmantank/cron-expression/issues", + "source": "https://github.com/dragonmantank/cron-expression/tree/v3.1.0" + }, + "funding": [ + { + "url": "https://github.com/dragonmantank", + "type": "github" + } + ], + "time": "2020-11-24T19:55:57+00:00" }, { "name": "egulias/email-validator", - "version": "2.1.7", + "version": "2.1.25", "source": { "type": "git", "url": "https://github.com/egulias/EmailValidator.git", - "reference": "709f21f92707308cdf8f9bcfa1af4cb26586521e" + "reference": "0dbf5d78455d4d6a41d186da50adc1122ec066f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/709f21f92707308cdf8f9bcfa1af4cb26586521e", - "reference": "709f21f92707308cdf8f9bcfa1af4cb26586521e", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/0dbf5d78455d4d6a41d186da50adc1122ec066f4", + "reference": "0dbf5d78455d4d6a41d186da50adc1122ec066f4", "shasum": "" }, "require": { "doctrine/lexer": "^1.0.1", - "php": ">= 5.5" + "php": ">=5.5", + "symfony/polyfill-intl-idn": "^1.10" }, "require-dev": { - "dominicsayers/isemail": "dev-master", - "phpunit/phpunit": "^4.8.35||^5.7||^6.0", + "dominicsayers/isemail": "^3.0.7", + "phpunit/phpunit": "^4.8.36|^7.5.15", "satooshi/php-coveralls": "^1.0.1" }, "suggest": { @@ -266,12 +397,12 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "2.1.x-dev" } }, "autoload": { "psr-4": { - "Egulias\\EmailValidator\\": "EmailValidator" + "Egulias\\EmailValidator\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -292,33 +423,48 @@ "validation", "validator" ], - "time": "2018-12-04T22:38:24+00:00" + "support": { + "issues": "https://github.com/egulias/EmailValidator/issues", + "source": "https://github.com/egulias/EmailValidator/tree/2.1.25" + }, + "funding": [ + { + "url": "https://github.com/egulias", + "type": "github" + } + ], + "time": "2020-12-29T14:50:06+00:00" }, { - "name": "erusev/parsedown", - "version": "1.7.3", + "name": "graham-campbell/result-type", + "version": "v1.0.1", "source": { "type": "git", - "url": "https://github.com/erusev/parsedown.git", - "reference": "6d893938171a817f4e9bc9e86f2da1e370b7bcd7" + "url": "https://github.com/GrahamCampbell/Result-Type.git", + "reference": "7e279d2cd5d7fbb156ce46daada972355cea27bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/erusev/parsedown/zipball/6d893938171a817f4e9bc9e86f2da1e370b7bcd7", - "reference": "6d893938171a817f4e9bc9e86f2da1e370b7bcd7", + "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/7e279d2cd5d7fbb156ce46daada972355cea27bb", + "reference": "7e279d2cd5d7fbb156ce46daada972355cea27bb", "shasum": "" }, "require": { - "ext-mbstring": "*", - "php": ">=5.3.0" + "php": "^7.0|^8.0", + "phpoption/phpoption": "^1.7.3" }, "require-dev": { - "phpunit/phpunit": "^4.8.35" + "phpunit/phpunit": "^6.5|^7.5|^8.5|^9.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, "autoload": { - "psr-0": { - "Parsedown": "" + "psr-4": { + "GrahamCampbell\\ResultType\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -327,35 +473,50 @@ ], "authors": [ { - "name": "Emanuil Rusev", - "email": "hello@erusev.com", - "homepage": "http://erusev.com" + "name": "Graham Campbell", + "email": "graham@alt-three.com" } ], - "description": "Parser for Markdown.", - "homepage": "http://parsedown.org", + "description": "An Implementation Of The Result Type", "keywords": [ - "markdown", - "parser" + "Graham Campbell", + "GrahamCampbell", + "Result Type", + "Result-Type", + "result" + ], + "support": { + "issues": "https://github.com/GrahamCampbell/Result-Type/issues", + "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.0.1" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/graham-campbell/result-type", + "type": "tidelift" + } ], - "time": "2019-03-17T18:48:37+00:00" + "time": "2020-04-13T13:17:36+00:00" }, { "name": "hamcrest/hamcrest-php", - "version": "v2.0.0", + "version": "v2.0.1", "source": { "type": "git", "url": "https://github.com/hamcrest/hamcrest-php.git", - "reference": "776503d3a8e85d4f9a1148614f95b7a608b046ad" + "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/776503d3a8e85d4f9a1148614f95b7a608b046ad", - "reference": "776503d3a8e85d4f9a1148614f95b7a608b046ad", + "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", + "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", "shasum": "" }, "require": { - "php": "^5.3|^7.0" + "php": "^5.3|^7.0|^8.0" }, "replace": { "cordoval/hamcrest-php": "*", @@ -363,14 +524,13 @@ "kodova/hamcrest-php": "*" }, "require-dev": { - "phpunit/php-file-iterator": "1.3.3", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "^1.0" + "phpunit/php-file-iterator": "^1.4 || ^2.0", + "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-master": "2.1-dev" } }, "autoload": { @@ -380,50 +540,56 @@ }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD" + "BSD-3-Clause" ], "description": "This is the PHP port of Hamcrest Matchers", "keywords": [ "test" ], - "time": "2016-01-20T08:20:44+00:00" + "support": { + "issues": "https://github.com/hamcrest/hamcrest-php/issues", + "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1" + }, + "time": "2020-07-09T08:09:16+00:00" }, { "name": "laravel/browser-kit-testing", - "version": "v5.1.2", + "version": "v6.2.2", "source": { "type": "git", "url": "https://github.com/laravel/browser-kit-testing.git", - "reference": "1189b899411a534f7f334db57a4966d08c568c73" + "reference": "a8bc92f2bb91db210ed2d8cbf4d6b16fa49453dc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/browser-kit-testing/zipball/1189b899411a534f7f334db57a4966d08c568c73", - "reference": "1189b899411a534f7f334db57a4966d08c568c73", + "url": "https://api.github.com/repos/laravel/browser-kit-testing/zipball/a8bc92f2bb91db210ed2d8cbf4d6b16fa49453dc", + "reference": "a8bc92f2bb91db210ed2d8cbf4d6b16fa49453dc", "shasum": "" }, "require": { "ext-dom": "*", "ext-json": "*", - "illuminate/database": "~5.7.0|~5.8.0", - "illuminate/http": "~5.7.0|~5.8.0", - "illuminate/support": "~5.7.0|~5.8.0", + "illuminate/contracts": "^7.0|^8.0", + "illuminate/database": "^7.0|^8.0", + "illuminate/http": "^7.0|^8.0", + "illuminate/support": "^7.0|^8.0", + "illuminate/testing": "^7.0|^8.0", "mockery/mockery": "^1.0", - "php": ">=7.1.3", - "phpunit/phpunit": "^7.0|^8.0", - "symfony/console": "^4.2", - "symfony/css-selector": "^4.2", - "symfony/dom-crawler": "^4.2", - "symfony/http-foundation": "^4.2", - "symfony/http-kernel": "^4.2" + "php": "^7.2|^8.0", + "phpunit/phpunit": "^8.5|^9.0", + "symfony/console": "^5.0", + "symfony/css-selector": "^5.0", + "symfony/dom-crawler": "^5.0", + "symfony/http-foundation": "^5.0", + "symfony/http-kernel": "^5.0" }, "require-dev": { - "laravel/framework": "~5.7.0|~5.8.0" + "laravel/framework": "^7.0|^8.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.0-dev" + "dev-master": "6.x-dev" } }, "autoload": { @@ -446,58 +612,68 @@ "laravel", "testing" ], - "time": "2019-03-12T15:31:08+00:00" + "support": { + "issues": "https://github.com/laravel/browser-kit-testing/issues", + "source": "https://github.com/laravel/browser-kit-testing/tree/v6.2.2" + }, + "time": "2020-11-24T16:37:28+00:00" }, { "name": "laravel/framework", - "version": "v5.8.15", + "version": "v8.21.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "8a34004aed6ff0aa4072360e3e5bd875edebc223" + "reference": "a61cab167c35f465a923737ee6e6fb99cd5fde88" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/8a34004aed6ff0aa4072360e3e5bd875edebc223", - "reference": "8a34004aed6ff0aa4072360e3e5bd875edebc223", + "url": "https://api.github.com/repos/laravel/framework/zipball/a61cab167c35f465a923737ee6e6fb99cd5fde88", + "reference": "a61cab167c35f465a923737ee6e6fb99cd5fde88", "shasum": "" }, "require": { - "doctrine/inflector": "^1.1", - "dragonmantank/cron-expression": "^2.0", - "egulias/email-validator": "^2.0", - "erusev/parsedown": "^1.7", + "doctrine/inflector": "^1.4|^2.0", + "dragonmantank/cron-expression": "^3.0.2", + "egulias/email-validator": "^2.1.10", "ext-json": "*", "ext-mbstring": "*", "ext-openssl": "*", - "league/flysystem": "^1.0.8", - "monolog/monolog": "^1.12", - "nesbot/carbon": "^1.26.3 || ^2.0", - "opis/closure": "^3.1", - "php": "^7.1.3", + "league/commonmark": "^1.3", + "league/flysystem": "^1.1", + "monolog/monolog": "^2.0", + "nesbot/carbon": "^2.31", + "opis/closure": "^3.6", + "php": "^7.3|^8.0", "psr/container": "^1.0", "psr/simple-cache": "^1.0", - "ramsey/uuid": "^3.7", + "ramsey/uuid": "^4.0", "swiftmailer/swiftmailer": "^6.0", - "symfony/console": "^4.2", - "symfony/debug": "^4.2", - "symfony/finder": "^4.2", - "symfony/http-foundation": "^4.2", - "symfony/http-kernel": "^4.2", - "symfony/process": "^4.2", - "symfony/routing": "^4.2", - "symfony/var-dumper": "^4.2", - "tijsverkoyen/css-to-inline-styles": "^2.2.1", - "vlucas/phpdotenv": "^3.3" + "symfony/console": "^5.1.4", + "symfony/error-handler": "^5.1.4", + "symfony/finder": "^5.1.4", + "symfony/http-foundation": "^5.1.4", + "symfony/http-kernel": "^5.1.4", + "symfony/mime": "^5.1.4", + "symfony/process": "^5.1.4", + "symfony/routing": "^5.1.4", + "symfony/var-dumper": "^5.1.4", + "tijsverkoyen/css-to-inline-styles": "^2.2.2", + "vlucas/phpdotenv": "^5.2", + "voku/portable-ascii": "^1.4.8" }, "conflict": { "tightenco/collect": "<5.5.33" }, + "provide": { + "psr/container-implementation": "1.0" + }, "replace": { "illuminate/auth": "self.version", "illuminate/broadcasting": "self.version", "illuminate/bus": "self.version", "illuminate/cache": "self.version", + "illuminate/collections": "self.version", "illuminate/config": "self.version", "illuminate/console": "self.version", "illuminate/container": "self.version", @@ -510,6 +686,7 @@ "illuminate/hashing": "self.version", "illuminate/http": "self.version", "illuminate/log": "self.version", + "illuminate/macroable": "self.version", "illuminate/mail": "self.version", "illuminate/notifications": "self.version", "illuminate/pagination": "self.version", @@ -519,62 +696,71 @@ "illuminate/routing": "self.version", "illuminate/session": "self.version", "illuminate/support": "self.version", + "illuminate/testing": "self.version", "illuminate/translation": "self.version", "illuminate/validation": "self.version", "illuminate/view": "self.version" }, "require-dev": { - "aws/aws-sdk-php": "^3.0", - "doctrine/dbal": "^2.6", - "filp/whoops": "^2.1.4", - "guzzlehttp/guzzle": "^6.3", + "aws/aws-sdk-php": "^3.155", + "doctrine/dbal": "^2.6|^3.0", + "filp/whoops": "^2.8", + "guzzlehttp/guzzle": "^6.5.5|^7.0.1", "league/flysystem-cached-adapter": "^1.0", - "mockery/mockery": "^1.0", - "moontoast/math": "^1.1", - "orchestra/testbench-core": "3.8.*", + "mockery/mockery": "^1.4.2", + "orchestra/testbench-core": "^6.8", "pda/pheanstalk": "^4.0", - "phpunit/phpunit": "^7.5|^8.0", + "phpunit/phpunit": "^8.5.8|^9.3.3", "predis/predis": "^1.1.1", - "symfony/css-selector": "^4.2", - "symfony/dom-crawler": "^4.2", - "true/punycode": "^2.1" + "symfony/cache": "^5.1.4" }, "suggest": { - "aws/aws-sdk-php": "Required to use the SQS queue driver and SES mail driver (^3.0).", - "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6).", + "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.155).", + "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6|^3.0).", + "ext-ftp": "Required to use the Flysystem FTP driver.", + "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().", + "ext-memcached": "Required to use the memcache cache driver.", "ext-pcntl": "Required to use all features of the queue worker.", "ext-posix": "Required to use all features of the queue worker.", - "filp/whoops": "Required for friendly error pages in development (^2.1.4).", - "fzaninotto/faker": "Required to use the eloquent factory builder (^1.4).", - "guzzlehttp/guzzle": "Required to use the Mailgun and Mandrill mail drivers and the ping methods on schedules (^6.0).", - "laravel/tinker": "Required to use the tinker console command (^1.0).", + "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0).", + "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", + "filp/whoops": "Required for friendly error pages in development (^2.8).", + "guzzlehttp/guzzle": "Required to use the HTTP Client, Mailgun mail driver and the ping methods on schedules (^6.5.5|^7.0.1).", + "laravel/tinker": "Required to use the tinker console command (^2.0).", "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^1.0).", "league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).", - "league/flysystem-rackspace": "Required to use the Flysystem Rackspace driver (^1.0).", "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).", - "moontoast/math": "Required to use ordered UUIDs (^1.1).", - "nexmo/client": "Required to use the Nexmo transport (^1.0).", + "mockery/mockery": "Required to use mocking (^1.4.2).", + "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).", "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).", - "predis/predis": "Required to use the redis cache and queue drivers (^1.0).", - "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^3.0).", - "symfony/css-selector": "Required to use some of the crawler integration testing tools (^4.2).", - "symfony/dom-crawler": "Required to use most of the crawler integration testing tools (^4.2).", - "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^1.1).", + "phpunit/phpunit": "Required to use assertions and run tests (^8.5.8|^9.3.3).", + "predis/predis": "Required to use the predis connector (^1.1.2).", + "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", + "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^4.0).", + "symfony/cache": "Required to PSR-6 cache bridge (^5.1.4).", + "symfony/filesystem": "Required to enable support for relative symbolic links (^5.1.4).", + "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0).", "wildbit/swiftmailer-postmark": "Required to use Postmark mail driver (^3.0)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.8-dev" + "dev-master": "8.x-dev" } }, "autoload": { "files": [ + "src/Illuminate/Collections/helpers.php", + "src/Illuminate/Events/functions.php", "src/Illuminate/Foundation/helpers.php", "src/Illuminate/Support/helpers.php" ], "psr-4": { - "Illuminate\\": "src/Illuminate/" + "Illuminate\\": "src/Illuminate/", + "Illuminate\\Support\\": [ + "src/Illuminate/Macroable/", + "src/Illuminate/Collections/" + ] } }, "notification-url": "https://packagist.org/downloads/", @@ -593,32 +779,138 @@ "framework", "laravel" ], - "time": "2019-04-30T14:05:03+00:00" + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2021-01-05T15:43:10+00:00" + }, + { + "name": "league/commonmark", + "version": "1.5.7", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/commonmark.git", + "reference": "11df9b36fd4f1d2b727a73bf14931d81373b9a54" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/11df9b36fd4f1d2b727a73bf14931d81373b9a54", + "reference": "11df9b36fd4f1d2b727a73bf14931d81373b9a54", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": "^7.1 || ^8.0" + }, + "conflict": { + "scrutinizer/ocular": "1.7.*" + }, + "require-dev": { + "cebe/markdown": "~1.0", + "commonmark/commonmark.js": "0.29.2", + "erusev/parsedown": "~1.0", + "ext-json": "*", + "github/gfm": "0.29.0", + "michelf/php-markdown": "~1.4", + "mikehaertl/php-shellcommand": "^1.4", + "phpstan/phpstan": "^0.12", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.2", + "scrutinizer/ocular": "^1.5", + "symfony/finder": "^4.2" + }, + "bin": [ + "bin/commonmark" + ], + "type": "library", + "autoload": { + "psr-4": { + "League\\CommonMark\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com", + "role": "Lead Developer" + } + ], + "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and Github-Flavored Markdown (GFM)", + "homepage": "https://commonmark.thephpleague.com", + "keywords": [ + "commonmark", + "flavored", + "gfm", + "github", + "github-flavored", + "markdown", + "md", + "parser" + ], + "support": { + "docs": "https://commonmark.thephpleague.com/", + "issues": "https://github.com/thephpleague/commonmark/issues", + "rss": "https://github.com/thephpleague/commonmark/releases.atom", + "source": "https://github.com/thephpleague/commonmark" + }, + "funding": [ + { + "url": "https://enjoy.gitstore.app/repositories/thephpleague/commonmark", + "type": "custom" + }, + { + "url": "https://www.colinodell.com/sponsor", + "type": "custom" + }, + { + "url": "https://www.paypal.me/colinpodell/10.00", + "type": "custom" + }, + { + "url": "https://github.com/colinodell", + "type": "github" + }, + { + "url": "https://www.patreon.com/colinodell", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/commonmark", + "type": "tidelift" + } + ], + "time": "2020-10-31T13:49:32+00:00" }, { "name": "league/flysystem", - "version": "1.0.51", + "version": "1.1.3", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "755ba7bf3fb9031e6581d091db84d78275874396" + "reference": "9be3b16c877d477357c015cec057548cf9b2a14a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/755ba7bf3fb9031e6581d091db84d78275874396", - "reference": "755ba7bf3fb9031e6581d091db84d78275874396", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/9be3b16c877d477357c015cec057548cf9b2a14a", + "reference": "9be3b16c877d477357c015cec057548cf9b2a14a", "shasum": "" }, "require": { "ext-fileinfo": "*", - "php": ">=5.5.9" + "league/mime-type-detection": "^1.3", + "php": "^7.2.5 || ^8.0" }, "conflict": { "league/flysystem-sftp": "<1.0.6" }, "require-dev": { - "phpspec/phpspec": "^3.4", - "phpunit/phpunit": "^5.7.10" + "phpspec/prophecy": "^1.11.1", + "phpunit/phpunit": "^8.5.8" }, "suggest": { "ext-fileinfo": "Required for MimeType", @@ -677,34 +969,102 @@ "sftp", "storage" ], - "time": "2019-03-30T13:22:34+00:00" + "support": { + "issues": "https://github.com/thephpleague/flysystem/issues", + "source": "https://github.com/thephpleague/flysystem/tree/1.x" + }, + "funding": [ + { + "url": "https://offset.earth/frankdejonge", + "type": "other" + } + ], + "time": "2020-08-23T07:39:11+00:00" + }, + { + "name": "league/mime-type-detection", + "version": "1.5.1", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/mime-type-detection.git", + "reference": "353f66d7555d8a90781f6f5e7091932f9a4250aa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/353f66d7555d8a90781f6f5e7091932f9a4250aa", + "reference": "353f66d7555d8a90781f6f5e7091932f9a4250aa", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.36", + "phpunit/phpunit": "^8.5.8" + }, + "type": "library", + "autoload": { + "psr-4": { + "League\\MimeTypeDetection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" + } + ], + "description": "Mime-type detection for Flysystem", + "support": { + "issues": "https://github.com/thephpleague/mime-type-detection/issues", + "source": "https://github.com/thephpleague/mime-type-detection/tree/1.5.1" + }, + "funding": [ + { + "url": "https://github.com/frankdejonge", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/flysystem", + "type": "tidelift" + } + ], + "time": "2020-10-18T11:50:25+00:00" }, { "name": "mockery/mockery", - "version": "1.2.2", + "version": "1.4.2", "source": { "type": "git", "url": "https://github.com/mockery/mockery.git", - "reference": "0eb0b48c3f07b3b89f5169ce005b7d05b18cf1d2" + "reference": "20cab678faed06fac225193be281ea0fddb43b93" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mockery/mockery/zipball/0eb0b48c3f07b3b89f5169ce005b7d05b18cf1d2", - "reference": "0eb0b48c3f07b3b89f5169ce005b7d05b18cf1d2", + "url": "https://api.github.com/repos/mockery/mockery/zipball/20cab678faed06fac225193be281ea0fddb43b93", + "reference": "20cab678faed06fac225193be281ea0fddb43b93", "shasum": "" }, "require": { - "hamcrest/hamcrest-php": "~2.0", + "hamcrest/hamcrest-php": "^2.0.1", "lib-pcre": ">=7.0", - "php": ">=5.6.0" + "php": "^7.3 || ^8.0" + }, + "conflict": { + "phpunit/phpunit": "<8.0" }, "require-dev": { - "phpunit/phpunit": "~5.7.10|~6.5|~7.0|~8.0" + "phpunit/phpunit": "^8.5 || ^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.4.x-dev" } }, "autoload": { @@ -742,25 +1102,29 @@ "test double", "testing" ], - "time": "2019-02-13T09:37:52+00:00" + "support": { + "issues": "https://github.com/mockery/mockery/issues", + "source": "https://github.com/mockery/mockery/tree/master" + }, + "time": "2020-08-11T18:10:13+00:00" }, { "name": "monolog/monolog", - "version": "1.24.0", + "version": "2.2.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266" + "reference": "1cb1cde8e8dd0f70cc0fe51354a59acad9302084" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266", - "reference": "bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1cb1cde8e8dd0f70cc0fe51354a59acad9302084", + "reference": "1cb1cde8e8dd0f70cc0fe51354a59acad9302084", "shasum": "" }, "require": { - "php": ">=5.3.0", - "psr/log": "~1.0" + "php": ">=7.2", + "psr/log": "^1.0.1" }, "provide": { "psr/log-implementation": "1.0.0" @@ -768,33 +1132,37 @@ "require-dev": { "aws/aws-sdk-php": "^2.4.9 || ^3.0", "doctrine/couchdb": "~1.0@dev", - "graylog2/gelf-php": "~1.0", - "jakub-onderka/php-parallel-lint": "0.9", + "elasticsearch/elasticsearch": "^7", + "graylog2/gelf-php": "^1.4.2", + "mongodb/mongodb": "^1.8", "php-amqplib/php-amqplib": "~2.4", "php-console/php-console": "^3.1.3", - "phpunit/phpunit": "~4.5", - "phpunit/phpunit-mock-objects": "2.3.0", - "ruflin/elastica": ">=0.90 <3.0", - "sentry/sentry": "^0.13", + "phpspec/prophecy": "^1.6.1", + "phpstan/phpstan": "^0.12.59", + "phpunit/phpunit": "^8.5", + "predis/predis": "^1.1", + "rollbar/rollbar": "^1.3", + "ruflin/elastica": ">=0.90 <7.0.1", "swiftmailer/swiftmailer": "^5.3|^6.0" }, "suggest": { "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client", "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mongo": "Allow sending log messages to a MongoDB server", + "ext-mbstring": "Allow to work properly with unicode symbols", + "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)", "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)", "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", "php-console/php-console": "Allow sending log messages to Google Chrome", "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server", - "sentry/sentry": "Allow sending log messages to a Sentry server" + "ruflin/elastica": "Allow sending log messages to an Elastic Search server" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-main": "2.x-dev" } }, "autoload": { @@ -810,34 +1178,48 @@ { "name": "Jordi Boggiano", "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" + "homepage": "https://seld.be" } ], "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "http://github.com/Seldaek/monolog", + "homepage": "https://github.com/Seldaek/monolog", "keywords": [ "log", "logging", "psr-3" ], - "time": "2018-11-05T09:00:11+00:00" + "support": { + "issues": "https://github.com/Seldaek/monolog/issues", + "source": "https://github.com/Seldaek/monolog/tree/2.2.0" + }, + "funding": [ + { + "url": "https://github.com/Seldaek", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", + "type": "tidelift" + } + ], + "time": "2020-12-14T13:15:25+00:00" }, { "name": "myclabs/deep-copy", - "version": "1.9.1", + "version": "1.10.2", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "e6828efaba2c9b79f4499dae1d66ef8bfa7b2b72" + "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/e6828efaba2c9b79f4499dae1d66ef8bfa7b2b72", - "reference": "e6828efaba2c9b79f4499dae1d66ef8bfa7b2b72", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/776f831124e9c62e1a2c601ecc52e776d8bb7220", + "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220", "shasum": "" }, "require": { - "php": "^7.1" + "php": "^7.1 || ^8.0" }, "replace": { "myclabs/deep-copy": "self.version" @@ -868,41 +1250,66 @@ "object", "object graph" ], - "time": "2019-04-07T13:18:21+00:00" + "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" }, { "name": "nesbot/carbon", - "version": "2.17.1", + "version": "2.43.0", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "96acbc0c03782e8115156dd4dd8b736267155066" + "reference": "d32c57d8389113742f4a88725a170236470012e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/96acbc0c03782e8115156dd4dd8b736267155066", - "reference": "96acbc0c03782e8115156dd4dd8b736267155066", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/d32c57d8389113742f4a88725a170236470012e2", + "reference": "d32c57d8389113742f4a88725a170236470012e2", "shasum": "" }, "require": { "ext-json": "*", "php": "^7.1.8 || ^8.0", - "symfony/translation": "^3.4 || ^4.0" + "symfony/polyfill-mbstring": "^1.0", + "symfony/translation": "^3.4 || ^4.0 || ^5.0" }, "require-dev": { + "doctrine/orm": "^2.7", "friendsofphp/php-cs-fixer": "^2.14 || ^3.0", - "kylekatarnls/multi-tester": "^1.1", - "phpmd/phpmd": "^2.6", - "phpstan/phpstan": "^0.11", + "kylekatarnls/multi-tester": "^2.0", + "phpmd/phpmd": "^2.9", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^0.12.54", "phpunit/phpunit": "^7.5 || ^8.0", "squizlabs/php_codesniffer": "^3.4" }, + "bin": [ + "bin/carbon" + ], "type": "library", "extra": { + "branch-alias": { + "dev-master": "2.x-dev", + "dev-3.x": "3.x-dev" + }, "laravel": { "providers": [ "Carbon\\Laravel\\ServiceProvider" ] + }, + "phpstan": { + "includes": [ + "extension.neon" + ] } }, "autoload": { @@ -919,147 +1326,181 @@ "name": "Brian Nesbitt", "email": "brian@nesbot.com", "homepage": "http://nesbot.com" + }, + { + "name": "kylekatarnls", + "homepage": "http://github.com/kylekatarnls" } ], - "description": "A simple API extension for DateTime.", + "description": "An API extension for DateTime that supports 281 different languages.", "homepage": "http://carbon.nesbot.com", "keywords": [ "date", "datetime", "time" ], - "time": "2019-04-27T18:04:27+00:00" - }, - { - "name": "opis/closure", - "version": "3.1.6", + "support": { + "issues": "https://github.com/briannesbitt/Carbon/issues", + "source": "https://github.com/briannesbitt/Carbon" + }, + "funding": [ + { + "url": "https://opencollective.com/Carbon", + "type": "open_collective" + }, + { + "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon", + "type": "tidelift" + } + ], + "time": "2020-12-17T20:55:32+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v4.10.4", "source": { "type": "git", - "url": "https://github.com/opis/closure.git", - "reference": "ccb8e3928c5c8181c76cdd0ed9366c5bcaafd91b" + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/opis/closure/zipball/ccb8e3928c5c8181c76cdd0ed9366c5bcaafd91b", - "reference": "ccb8e3928c5c8181c76cdd0ed9366c5bcaafd91b", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/c6d052fc58cb876152f89f532b95a8d7907e7f0e", + "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e", "shasum": "" }, "require": { - "php": "^5.4 || ^7.0" + "ext-tokenizer": "*", + "php": ">=7.0" }, "require-dev": { - "jeremeamia/superclosure": "^2.0", - "phpunit/phpunit": "^4.0|^5.0|^6.0|^7.0" + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" }, + "bin": [ + "bin/php-parse" + ], "type": "library", "extra": { "branch-alias": { - "dev-master": "3.1.x-dev" + "dev-master": "4.9-dev" } }, "autoload": { "psr-4": { - "Opis\\Closure\\": "src/" - }, - "files": [ - "functions.php" - ] + "PhpParser\\": "lib/PhpParser" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Marius Sarca", - "email": "marius.sarca@gmail.com" - }, - { - "name": "Sorin Sarca", - "email": "sarca_sorin@hotmail.com" + "name": "Nikita Popov" } ], - "description": "A library that can be used to serialize closures (anonymous functions) and arbitrary objects.", - "homepage": "https://opis.io/closure", + "description": "A PHP parser written in PHP", "keywords": [ - "anonymous functions", - "closure", - "function", - "serializable", - "serialization", - "serialize" + "parser", + "php" ], - "time": "2019-02-22T10:30:00+00:00" + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v4.10.4" + }, + "time": "2020-12-20T10:01:03+00:00" }, { - "name": "paragonie/random_compat", - "version": "v9.99.99", + "name": "opis/closure", + "version": "3.6.1", "source": { "type": "git", - "url": "https://github.com/paragonie/random_compat.git", - "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95" + "url": "https://github.com/opis/closure.git", + "reference": "943b5d70cc5ae7483f6aff6ff43d7e34592ca0f5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", - "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", + "url": "https://api.github.com/repos/opis/closure/zipball/943b5d70cc5ae7483f6aff6ff43d7e34592ca0f5", + "reference": "943b5d70cc5ae7483f6aff6ff43d7e34592ca0f5", "shasum": "" }, "require": { - "php": "^7" + "php": "^5.4 || ^7.0 || ^8.0" }, "require-dev": { - "phpunit/phpunit": "4.*|5.*", - "vimeo/psalm": "^1" - }, - "suggest": { - "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." + "jeremeamia/superclosure": "^2.0", + "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.6.x-dev" + } + }, + "autoload": { + "psr-4": { + "Opis\\Closure\\": "src/" + }, + "files": [ + "functions.php" + ] + }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { - "name": "Paragon Initiative Enterprises", - "email": "security@paragonie.com", - "homepage": "https://paragonie.com" + "name": "Marius Sarca", + "email": "marius.sarca@gmail.com" + }, + { + "name": "Sorin Sarca", + "email": "sarca_sorin@hotmail.com" } ], - "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", + "description": "A library that can be used to serialize closures (anonymous functions) and arbitrary objects.", + "homepage": "https://opis.io/closure", "keywords": [ - "csprng", - "polyfill", - "pseudorandom", - "random" + "anonymous functions", + "closure", + "function", + "serializable", + "serialization", + "serialize" ], - "time": "2018-07-02T15:55:56+00:00" + "support": { + "issues": "https://github.com/opis/closure/issues", + "source": "https://github.com/opis/closure/tree/3.6.1" + }, + "time": "2020-11-07T02:01:34+00:00" }, { "name": "phar-io/manifest", - "version": "1.0.3", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/phar-io/manifest.git", - "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4" + "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", - "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/85265efd3af7ba3ca4b2a2c34dbfc5788dd29133", + "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133", "shasum": "" }, "require": { "ext-dom": "*", "ext-phar": "*", - "phar-io/version": "^2.0", - "php": "^5.6 || ^7.0" + "ext-xmlwriter": "*", + "phar-io/version": "^3.0.1", + "php": "^7.2 || ^8.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -1089,24 +1530,28 @@ } ], "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", - "time": "2018-07-08T19:23:20+00:00" + "support": { + "issues": "https://github.com/phar-io/manifest/issues", + "source": "https://github.com/phar-io/manifest/tree/master" + }, + "time": "2020-06-27T14:33:11+00:00" }, { "name": "phar-io/version", - "version": "2.0.1", + "version": "3.0.4", "source": { "type": "git", "url": "https://github.com/phar-io/version.git", - "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6" + "reference": "e4782611070e50613683d2b9a57730e9a3ba5451" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/45a2ec53a73c70ce41d55cedef9063630abaf1b6", - "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6", + "url": "https://api.github.com/repos/phar-io/version/zipball/e4782611070e50613683d2b9a57730e9a3ba5451", + "reference": "e4782611070e50613683d2b9a57730e9a3ba5451", "shasum": "" }, "require": { - "php": "^5.6 || ^7.0" + "php": "^7.2 || ^8.0" }, "type": "library", "autoload": { @@ -1136,39 +1581,38 @@ } ], "description": "Library for handling version information and constraints", - "time": "2018-07-08T19:19:57+00:00" + "support": { + "issues": "https://github.com/phar-io/version/issues", + "source": "https://github.com/phar-io/version/tree/3.0.4" + }, + "time": "2020-12-13T23:18:30+00:00" }, { "name": "phpdocumentor/reflection-common", - "version": "1.0.1", + "version": "2.2.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6" + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", - "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b", + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b", "shasum": "" }, "require": { - "php": ">=5.5" - }, - "require-dev": { - "phpunit/phpunit": "^4.6" + "php": "^7.2 || ^8.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-2.x": "2.x-dev" } }, "autoload": { "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src" - ] + "phpDocumentor\\Reflection\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1190,44 +1634,45 @@ "reflection", "static analysis" ], - "time": "2017-09-11T18:02:19+00:00" + "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" }, { "name": "phpdocumentor/reflection-docblock", - "version": "4.3.1", + "version": "5.2.2", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "bdd9f737ebc2a01c06ea7ff4308ec6697db9b53c" + "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/bdd9f737ebc2a01c06ea7ff4308ec6697db9b53c", - "reference": "bdd9f737ebc2a01c06ea7ff4308ec6697db9b53c", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556", + "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556", "shasum": "" }, "require": { - "php": "^7.0", - "phpdocumentor/reflection-common": "^1.0.0", - "phpdocumentor/type-resolver": "^0.4.0", - "webmozart/assert": "^1.0" + "ext-filter": "*", + "php": "^7.2 || ^8.0", + "phpdocumentor/reflection-common": "^2.2", + "phpdocumentor/type-resolver": "^1.3", + "webmozart/assert": "^1.9.1" }, "require-dev": { - "doctrine/instantiator": "~1.0.5", - "mockery/mockery": "^1.0", - "phpunit/phpunit": "^6.4" + "mockery/mockery": "~1.3.2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.x-dev" + "dev-master": "5.x-dev" } }, "autoload": { "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] + "phpDocumentor\\Reflection\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -1238,44 +1683,49 @@ { "name": "Mike van Riel", "email": "me@mikevanriel.com" + }, + { + "name": "Jaap van Otterdijk", + "email": "account@ijaap.nl" } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "time": "2019-04-30T17:48:53+00:00" + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/master" + }, + "time": "2020-09-03T19:13:55+00:00" }, { "name": "phpdocumentor/type-resolver", - "version": "0.4.0", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7" + "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7", - "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", + "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", "shasum": "" }, "require": { - "php": "^5.5 || ^7.0", - "phpdocumentor/reflection-common": "^1.0" + "php": "^7.2 || ^8.0", + "phpdocumentor/reflection-common": "^2.0" }, "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" + "ext-tokenizer": "*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-1.x": "1.x-dev" } }, "autoload": { "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] + "phpDocumentor\\Reflection\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -1288,47 +1738,57 @@ "email": "me@mikevanriel.com" } ], - "time": "2017-07-14T14:27:02+00:00" + "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": "phpoption/phpoption", - "version": "1.5.0", + "version": "1.7.5", "source": { "type": "git", "url": "https://github.com/schmittjoh/php-option.git", - "reference": "94e644f7d2051a5f0fcf77d81605f152eecff0ed" + "reference": "994ecccd8f3283ecf5ac33254543eb0ac946d525" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/94e644f7d2051a5f0fcf77d81605f152eecff0ed", - "reference": "94e644f7d2051a5f0fcf77d81605f152eecff0ed", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/994ecccd8f3283ecf5ac33254543eb0ac946d525", + "reference": "994ecccd8f3283ecf5ac33254543eb0ac946d525", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": "^5.5.9 || ^7.0 || ^8.0" }, "require-dev": { - "phpunit/phpunit": "4.7.*" + "bamarni/composer-bin-plugin": "^1.4.1", + "phpunit/phpunit": "^4.8.35 || ^5.7.27 || ^6.5.6 || ^7.0 || ^8.0 || ^9.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3-dev" + "dev-master": "1.7-dev" } }, "autoload": { - "psr-0": { - "PhpOption\\": "src/" + "psr-4": { + "PhpOption\\": "src/PhpOption/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "Apache2" + "Apache-2.0" ], "authors": [ { "name": "Johannes M. Schmitt", "email": "schmittjoh@gmail.com" + }, + { + "name": "Graham Campbell", + "email": "graham@alt-three.com" } ], "description": "Option Type for PHP", @@ -1338,42 +1798,56 @@ "php", "type" ], - "time": "2015-07-25T16:39:46+00:00" + "support": { + "issues": "https://github.com/schmittjoh/php-option/issues", + "source": "https://github.com/schmittjoh/php-option/tree/1.7.5" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption", + "type": "tidelift" + } + ], + "time": "2020-07-20T17:29:33+00:00" }, { "name": "phpspec/prophecy", - "version": "1.8.0", + "version": "1.12.2", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06" + "reference": "245710e971a030f42e08f4912863805570f23d39" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/4ba436b55987b4bf311cb7c6ba82aa528aac0a06", - "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/245710e971a030f42e08f4912863805570f23d39", + "reference": "245710e971a030f42e08f4912863805570f23d39", "shasum": "" }, "require": { - "doctrine/instantiator": "^1.0.2", - "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0", - "sebastian/comparator": "^1.1|^2.0|^3.0", - "sebastian/recursion-context": "^1.0|^2.0|^3.0" + "doctrine/instantiator": "^1.2", + "php": "^7.2 || ~8.0, <8.1", + "phpdocumentor/reflection-docblock": "^5.2", + "sebastian/comparator": "^3.0 || ^4.0", + "sebastian/recursion-context": "^3.0 || ^4.0" }, "require-dev": { - "phpspec/phpspec": "^2.5|^3.2", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" + "phpspec/phpspec": "^6.0", + "phpunit/phpunit": "^8.0 || ^9.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.8.x-dev" + "dev-master": "1.11.x-dev" } }, "autoload": { - "psr-0": { - "Prophecy\\": "src/" + "psr-4": { + "Prophecy\\": "src/Prophecy" } }, "notification-url": "https://packagist.org/downloads/", @@ -1401,44 +1875,52 @@ "spy", "stub" ], - "time": "2018-08-05T17:53:17+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", - "version": "6.1.4", + "version": "9.2.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d" + "reference": "f3e026641cc91909d421802dd3ac7827ebfd97e1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/807e6013b00af69b6c5d9ceb4282d0393dbb9d8d", - "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f3e026641cc91909d421802dd3ac7827ebfd97e1", + "reference": "f3e026641cc91909d421802dd3ac7827ebfd97e1", "shasum": "" }, "require": { "ext-dom": "*", + "ext-libxml": "*", "ext-xmlwriter": "*", - "php": "^7.1", - "phpunit/php-file-iterator": "^2.0", - "phpunit/php-text-template": "^1.2.1", - "phpunit/php-token-stream": "^3.0", - "sebastian/code-unit-reverse-lookup": "^1.0.1", - "sebastian/environment": "^3.1 || ^4.0", - "sebastian/version": "^2.0.1", - "theseer/tokenizer": "^1.1" + "nikic/php-parser": "^4.10.2", + "php": ">=7.3", + "phpunit/php-file-iterator": "^3.0.3", + "phpunit/php-text-template": "^2.0.2", + "sebastian/code-unit-reverse-lookup": "^2.0.2", + "sebastian/complexity": "^2.0", + "sebastian/environment": "^5.1.2", + "sebastian/lines-of-code": "^1.0.3", + "sebastian/version": "^3.0.1", + "theseer/tokenizer": "^1.2.0" }, "require-dev": { - "phpunit/phpunit": "^7.0" + "phpunit/phpunit": "^9.3" }, "suggest": { - "ext-xdebug": "^2.6.0" + "ext-pcov": "*", + "ext-xdebug": "*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "6.1-dev" + "dev-master": "9.2-dev" } }, "autoload": { @@ -1464,32 +1946,42 @@ "testing", "xunit" ], - "time": "2018-10-31T16:06:48+00:00" + "support": { + "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.5" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-28T06:44:49+00:00" }, { "name": "phpunit/php-file-iterator", - "version": "2.0.2", + "version": "3.0.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "050bedf145a257b1ff02746c31894800e5122946" + "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/050bedf145a257b1ff02746c31894800e5122946", - "reference": "050bedf145a257b1ff02746c31894800e5122946", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/aa4be8575f26070b100fccb67faabb28f21f66f8", + "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8", "shasum": "" }, "require": { - "php": "^7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^7.1" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -1514,26 +2006,48 @@ "filesystem", "iterator" ], - "time": "2018-09-13T20:33:42+00:00" + "support": { + "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.5" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:57:25+00:00" }, { - "name": "phpunit/php-text-template", - "version": "1.2.1", + "name": "phpunit/php-invoker", + "version": "3.1.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" + "url": "https://github.com/sebastianbergmann/php-invoker.git", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=7.3" + }, + "require-dev": { + "ext-pcntl": "*", + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-pcntl": "*" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, "autoload": { "classmap": [ "src/" @@ -1550,37 +2064,47 @@ "role": "lead" } ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "description": "Invoke callables with a timeout", + "homepage": "https://github.com/sebastianbergmann/php-invoker/", "keywords": [ - "template" + "process" ], - "time": "2015-06-21T13:50:34+00:00" + "support": { + "issues": "https://github.com/sebastianbergmann/php-invoker/issues", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:58:55+00:00" }, { - "name": "phpunit/php-timer", - "version": "2.1.1", + "name": "phpunit/php-text-template", + "version": "2.0.4", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "8b389aebe1b8b0578430bda0c7c95a829608e059" + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/8b389aebe1b8b0578430bda0c7c95a829608e059", - "reference": "8b389aebe1b8b0578430bda0c7c95a829608e059", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", "shasum": "" }, "require": { - "php": "^7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^7.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -1599,38 +2123,47 @@ "role": "lead" } ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", "keywords": [ - "timer" + "template" ], - "time": "2019-02-20T10:12:59+00:00" + "support": { + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T05:33:50+00:00" }, { - "name": "phpunit/php-token-stream", - "version": "3.0.1", + "name": "phpunit/php-timer", + "version": "5.0.3", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "c99e3be9d3e85f60646f152f9002d46ed7770d18" + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/c99e3be9d3e85f60646f152f9002d46ed7770d18", - "reference": "c99e3be9d3e85f60646f152f9002d46ed7770d18", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", "shasum": "" }, "require": { - "ext-tokenizer": "*", - "php": "^7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^7.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -1645,65 +2178,78 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", "keywords": [ - "tokenizer" + "timer" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } ], - "time": "2018-10-30T05:52:18+00:00" + "time": "2020-10-26T13:16:10+00:00" }, { "name": "phpunit/phpunit", - "version": "7.5.9", + "version": "9.5.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "134669cf0eeac3f79bc7f0c793efbc158bffc160" + "reference": "8e16c225d57c3d6808014df6b1dd7598d0a5bbbe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/134669cf0eeac3f79bc7f0c793efbc158bffc160", - "reference": "134669cf0eeac3f79bc7f0c793efbc158bffc160", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/8e16c225d57c3d6808014df6b1dd7598d0a5bbbe", + "reference": "8e16c225d57c3d6808014df6b1dd7598d0a5bbbe", "shasum": "" }, "require": { - "doctrine/instantiator": "^1.1", + "doctrine/instantiator": "^1.3.1", "ext-dom": "*", "ext-json": "*", "ext-libxml": "*", "ext-mbstring": "*", "ext-xml": "*", - "myclabs/deep-copy": "^1.7", - "phar-io/manifest": "^1.0.2", - "phar-io/version": "^2.0", - "php": "^7.1", - "phpspec/prophecy": "^1.7", - "phpunit/php-code-coverage": "^6.0.7", - "phpunit/php-file-iterator": "^2.0.1", - "phpunit/php-text-template": "^1.2.1", - "phpunit/php-timer": "^2.1", - "sebastian/comparator": "^3.0", - "sebastian/diff": "^3.0", - "sebastian/environment": "^4.0", - "sebastian/exporter": "^3.1", - "sebastian/global-state": "^2.0", - "sebastian/object-enumerator": "^3.0.3", - "sebastian/resource-operations": "^2.0", - "sebastian/version": "^2.0.1" - }, - "conflict": { - "phpunit/phpunit-mock-objects": "*" + "ext-xmlwriter": "*", + "myclabs/deep-copy": "^1.10.1", + "phar-io/manifest": "^2.0.1", + "phar-io/version": "^3.0.2", + "php": ">=7.3", + "phpspec/prophecy": "^1.12.1", + "phpunit/php-code-coverage": "^9.2.3", + "phpunit/php-file-iterator": "^3.0.5", + "phpunit/php-invoker": "^3.1.1", + "phpunit/php-text-template": "^2.0.3", + "phpunit/php-timer": "^5.0.2", + "sebastian/cli-parser": "^1.0.1", + "sebastian/code-unit": "^1.0.6", + "sebastian/comparator": "^4.0.5", + "sebastian/diff": "^4.0.3", + "sebastian/environment": "^5.1.3", + "sebastian/exporter": "^4.0.3", + "sebastian/global-state": "^5.0.1", + "sebastian/object-enumerator": "^4.0.3", + "sebastian/resource-operations": "^3.0.3", + "sebastian/type": "^2.3", + "sebastian/version": "^3.0.2" }, "require-dev": { - "ext-pdo": "*" + "ext-pdo": "*", + "phpspec/prophecy-phpunit": "^2.0.1" }, "suggest": { "ext-soap": "*", - "ext-xdebug": "*", - "phpunit/php-invoker": "^2.0" + "ext-xdebug": "*" }, "bin": [ "phpunit" @@ -1711,12 +2257,15 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "7.5-dev" + "dev-master": "9.5-dev" } }, "autoload": { "classmap": [ "src/" + ], + "files": [ + "src/Framework/Assert/Functions.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -1737,7 +2286,21 @@ "testing", "xunit" ], - "time": "2019-04-19T15:50:46+00:00" + "support": { + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.0" + }, + "funding": [ + { + "url": "https://phpunit.de/donate.html", + "type": "custom" + }, + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-12-04T05:05:53+00:00" }, { "name": "psr/container", @@ -1786,20 +2349,74 @@ "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" }, { + "name": "psr/event-dispatcher", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\EventDispatcher\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Standard interfaces for event handling.", + "keywords": [ + "events", + "psr", + "psr-14" + ], + "support": { + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + }, + "time": "2019-01-08T18:20:26+00:00" + }, + { "name": "psr/log", - "version": "1.1.0", + "version": "1.1.3", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd" + "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", - "reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd", + "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc", + "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc", "shasum": "" }, "require": { @@ -1808,7 +2425,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.1.x-dev" } }, "autoload": { @@ -1833,7 +2450,10 @@ "psr", "psr-3" ], - "time": "2018-11-20T15:27:04+00:00" + "support": { + "source": "https://github.com/php-fig/log/tree/1.1.3" + }, + "time": "2020-03-23T09:12:05+00:00" }, { "name": "psr/simple-cache", @@ -1881,60 +2501,50 @@ "psr-16", "simple-cache" ], + "support": { + "source": "https://github.com/php-fig/simple-cache/tree/master" + }, "time": "2017-10-23T01:57:42+00:00" }, { - "name": "ramsey/uuid", - "version": "3.8.0", + "name": "ramsey/collection", + "version": "1.1.1", "source": { "type": "git", - "url": "https://github.com/ramsey/uuid.git", - "reference": "d09ea80159c1929d75b3f9c60504d613aeb4a1e3" + "url": "https://github.com/ramsey/collection.git", + "reference": "24d93aefb2cd786b7edd9f45b554aea20b28b9b1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/d09ea80159c1929d75b3f9c60504d613aeb4a1e3", - "reference": "d09ea80159c1929d75b3f9c60504d613aeb4a1e3", + "url": "https://api.github.com/repos/ramsey/collection/zipball/24d93aefb2cd786b7edd9f45b554aea20b28b9b1", + "reference": "24d93aefb2cd786b7edd9f45b554aea20b28b9b1", "shasum": "" }, "require": { - "paragonie/random_compat": "^1.0|^2.0|9.99.99", - "php": "^5.4 || ^7.0", - "symfony/polyfill-ctype": "^1.8" - }, - "replace": { - "rhumsaa/uuid": "self.version" + "php": "^7.2 || ^8" }, "require-dev": { - "codeception/aspect-mock": "^1.0 | ~2.0.0", - "doctrine/annotations": "~1.2.0", - "goaop/framework": "1.0.0-alpha.2 | ^1.0 | ~2.1.0", - "ircmaxell/random-lib": "^1.1", - "jakub-onderka/php-parallel-lint": "^0.9.0", - "mockery/mockery": "^0.9.9", - "moontoast/math": "^1.1", - "php-mock/php-mock-phpunit": "^0.3|^1.1", - "phpunit/phpunit": "^4.7|^5.0|^6.5", - "squizlabs/php_codesniffer": "^2.3" - }, - "suggest": { - "ext-ctype": "Provides support for PHP Ctype functions", - "ext-libsodium": "Provides the PECL libsodium extension for use with the SodiumRandomGenerator", - "ext-uuid": "Provides the PECL UUID extension for use with the PeclUuidTimeGenerator and PeclUuidRandomGenerator", - "ircmaxell/random-lib": "Provides RandomLib for use with the RandomLibAdapter", - "moontoast/math": "Provides support for converting UUID to 128-bit integer (in string form).", - "ramsey/uuid-console": "A console application for generating UUIDs with ramsey/uuid", - "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." + "captainhook/captainhook": "^5.3", + "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", + "ergebnis/composer-normalize": "^2.6", + "fzaninotto/faker": "^1.5", + "hamcrest/hamcrest-php": "^2", + "jangregor/phpstan-prophecy": "^0.6", + "mockery/mockery": "^1.3", + "phpstan/extension-installer": "^1", + "phpstan/phpstan": "^0.12.32", + "phpstan/phpstan-mockery": "^0.12.5", + "phpstan/phpstan-phpunit": "^0.12.11", + "phpunit/phpunit": "^8.5", + "psy/psysh": "^0.10.4", + "slevomat/coding-standard": "^6.3", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "^3.12.2" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - } - }, "autoload": { "psr-4": { - "Ramsey\\Uuid\\": "src/" + "Ramsey\\Collection\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1946,96 +2556,145 @@ "name": "Ben Ramsey", "email": "ben@benramsey.com", "homepage": "https://benramsey.com" - }, - { - "name": "Marijn Huizendveld", - "email": "marijn.huizendveld@gmail.com" - }, - { - "name": "Thibaud Fabre", - "email": "thibaud@aztech.io" } ], - "description": "Formerly rhumsaa/uuid. A PHP 5.4+ library for generating RFC 4122 version 1, 3, 4, and 5 universally unique identifiers (UUID).", - "homepage": "https://github.com/ramsey/uuid", + "description": "A PHP 7.2+ library for representing and manipulating collections.", "keywords": [ - "guid", - "identifier", - "uuid" + "array", + "collection", + "hash", + "map", + "queue", + "set" + ], + "support": { + "issues": "https://github.com/ramsey/collection/issues", + "source": "https://github.com/ramsey/collection/tree/1.1.1" + }, + "funding": [ + { + "url": "https://github.com/ramsey", + "type": "github" + } ], - "time": "2018-07-19T23:38:55+00:00" + "time": "2020-09-10T20:58:17+00:00" }, { - "name": "sebastian/code-unit-reverse-lookup", - "version": "1.0.1", + "name": "ramsey/uuid", + "version": "4.1.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18" + "url": "https://github.com/ramsey/uuid.git", + "reference": "cd4032040a750077205918c86049aa0f43d22947" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", - "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/cd4032040a750077205918c86049aa0f43d22947", + "reference": "cd4032040a750077205918c86049aa0f43d22947", "shasum": "" }, "require": { - "php": "^5.6 || ^7.0" + "brick/math": "^0.8 || ^0.9", + "ext-json": "*", + "php": "^7.2 || ^8", + "ramsey/collection": "^1.0", + "symfony/polyfill-ctype": "^1.8" + }, + "replace": { + "rhumsaa/uuid": "self.version" }, "require-dev": { - "phpunit/phpunit": "^5.7 || ^6.0" + "codeception/aspect-mock": "^3", + "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7.0", + "doctrine/annotations": "^1.8", + "goaop/framework": "^2", + "mockery/mockery": "^1.3", + "moontoast/math": "^1.1", + "paragonie/random-lib": "^2", + "php-mock/php-mock-mockery": "^1.3", + "php-mock/php-mock-phpunit": "^2.5", + "php-parallel-lint/php-parallel-lint": "^1.1", + "phpbench/phpbench": "^0.17.1", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-mockery": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpunit/phpunit": "^8.5", + "psy/psysh": "^0.10.0", + "slevomat/coding-standard": "^6.0", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "3.9.4" + }, + "suggest": { + "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", + "ext-ctype": "Enables faster processing of character classification using ctype functions.", + "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", + "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", + "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", + "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "4.x-dev" } }, "autoload": { - "classmap": [ - "src/" + "psr-4": { + "Ramsey\\Uuid\\": "src/" + }, + "files": [ + "src/functions.php" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "authors": [ + "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", + "homepage": "https://github.com/ramsey/uuid", + "keywords": [ + "guid", + "identifier", + "uuid" + ], + "support": { + "issues": "https://github.com/ramsey/uuid/issues", + "rss": "https://github.com/ramsey/uuid/releases.atom", + "source": "https://github.com/ramsey/uuid" + }, + "funding": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "url": "https://github.com/ramsey", + "type": "github" } ], - "description": "Looks up which function or method a line of code belongs to", - "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", - "time": "2017-03-04T06:30:41+00:00" + "time": "2020-08-18T17:17:46+00:00" }, { - "name": "sebastian/comparator", - "version": "3.0.2", + "name": "sebastian/cli-parser", + "version": "1.0.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da" + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/5de4fc177adf9bce8df98d8d141a7559d7ccf6da", - "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", "shasum": "" }, "require": { - "php": "^7.1", - "sebastian/diff": "^3.0", - "sebastian/exporter": "^3.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^7.1" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "1.0-dev" } }, "autoload": { @@ -2049,56 +2708,49 @@ ], "authors": [ { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "https://github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" + "description": "Library for parsing CLI options", + "homepage": "https://github.com/sebastianbergmann/cli-parser", + "support": { + "issues": "https://github.com/sebastianbergmann/cli-parser/issues", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } ], - "time": "2018-07-12T15:12:46+00:00" + "time": "2020-09-28T06:08:49+00:00" }, { - "name": "sebastian/diff", - "version": "3.0.2", + "name": "sebastian/code-unit", + "version": "1.0.8", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29" + "url": "https://github.com/sebastianbergmann/code-unit.git", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/720fcc7e9b5cf384ea68d9d930d480907a0c1a29", - "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", "shasum": "" }, "require": { - "php": "^7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^7.5 || ^8.0", - "symfony/process": "^2 || ^3.3 || ^4" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "1.0-dev" } }, "autoload": { @@ -2112,51 +2764,49 @@ ], "authors": [ { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff", - "udiff", - "unidiff", - "unified diff" + "description": "Collection of value objects that represent the PHP code units", + "homepage": "https://github.com/sebastianbergmann/code-unit", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit/issues", + "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } ], - "time": "2019-02-04T06:01:07+00:00" + "time": "2020-10-26T13:08:54+00:00" }, { - "name": "sebastian/environment", - "version": "4.2.2", + "name": "sebastian/code-unit-reverse-lookup", + "version": "2.0.3", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "f2a2c8e1c97c11ace607a7a667d73d47c19fe404" + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/f2a2c8e1c97c11ace607a7a667d73d47c19fe404", - "reference": "f2a2c8e1c97c11ace607a7a667d73d47c19fe404", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", "shasum": "" }, "require": { - "php": "^7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^7.5" - }, - "suggest": { - "ext-posix": "*" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.2-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -2174,41 +2824,46 @@ "email": "sebastian@phpunit.de" } ], - "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" + "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/2.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } ], - "time": "2019-05-05T09:05:15+00:00" + "time": "2020-09-28T05:30:19+00:00" }, { - "name": "sebastian/exporter", - "version": "3.1.0", + "name": "sebastian/comparator", + "version": "4.0.6", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "234199f4528de6d12aaa58b612e98f7d36adb937" + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "55f4261989e546dc112258c7a75935a81a7ce382" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/234199f4528de6d12aaa58b612e98f7d36adb937", - "reference": "234199f4528de6d12aaa58b612e98f7d36adb937", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55f4261989e546dc112258c7a75935a81a7ce382", + "reference": "55f4261989e546dc112258c7a75935a81a7ce382", "shasum": "" }, "require": { - "php": "^7.0", - "sebastian/recursion-context": "^3.0" + "php": ">=7.3", + "sebastian/diff": "^4.0", + "sebastian/exporter": "^4.0" }, "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.1.x-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -2222,6 +2877,10 @@ ], "authors": [ { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { "name": "Jeff Welch", "email": "whatthejeff@gmail.com" }, @@ -2232,46 +2891,47 @@ { "name": "Bernhard Schussek", "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" } ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "https://github.com/sebastianbergmann/comparator", "keywords": [ - "export", - "exporter" + "comparator", + "compare", + "equality" ], - "time": "2017-04-03T13:19:02+00:00" + "support": { + "issues": "https://github.com/sebastianbergmann/comparator/issues", + "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.6" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T15:49:45+00:00" }, { - "name": "sebastian/global-state", - "version": "2.0.0", + "name": "sebastian/complexity", + "version": "2.0.2", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4" + "url": "https://github.com/sebastianbergmann/complexity.git", + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", - "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", "shasum": "" }, "require": { - "php": "^7.0" + "nikic/php-parser": "^4.7", + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^6.0" - }, - "suggest": { - "ext-uopz": "*" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { @@ -2291,42 +2951,49 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" + "description": "Library for calculating the complexity of PHP code units", + "homepage": "https://github.com/sebastianbergmann/complexity", + "support": { + "issues": "https://github.com/sebastianbergmann/complexity/issues", + "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } ], - "time": "2017-04-27T15:39:26+00:00" + "time": "2020-10-26T15:52:27+00:00" }, { - "name": "sebastian/object-enumerator", - "version": "3.0.3", + "name": "sebastian/diff", + "version": "4.0.4", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5" + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5", - "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d", + "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d", "shasum": "" }, "require": { - "php": "^7.0", - "sebastian/object-reflector": "^1.1.1", - "sebastian/recursion-context": "^3.0" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^9.3", + "symfony/process": "^4.2 || ^5" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0.x-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -2342,36 +3009,59 @@ { "name": "Sebastian Bergmann", "email": "sebastian@phpunit.de" + }, + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" } ], - "description": "Traverses array structures and object graphs to enumerate all referenced objects", - "homepage": "https://github.com/sebastianbergmann/object-enumerator/", - "time": "2017-08-03T12:35:26+00:00" + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff", + "udiff", + "unidiff", + "unified diff" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/diff/issues", + "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:10:38+00:00" }, { - "name": "sebastian/object-reflector", - "version": "1.1.1", + "name": "sebastian/environment", + "version": "5.1.3", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "773f97c67f28de00d397be301821b06708fca0be" + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "388b6ced16caa751030f6a69e588299fa09200ac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be", - "reference": "773f97c67f28de00d397be301821b06708fca0be", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/388b6ced16caa751030f6a69e588299fa09200ac", + "reference": "388b6ced16caa751030f6a69e588299fa09200ac", "shasum": "" }, "require": { - "php": "^7.0" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-posix": "*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1-dev" + "dev-master": "5.1-dev" } }, "autoload": { @@ -2389,34 +3079,51 @@ "email": "sebastian@phpunit.de" } ], - "description": "Allows reflection of object attributes, including inherited and non-public ones", - "homepage": "https://github.com/sebastianbergmann/object-reflector/", - "time": "2017-03-29T09:07:27+00:00" + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "http://www.github.com/sebastianbergmann/environment", + "keywords": [ + "Xdebug", + "environment", + "hhvm" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/environment/issues", + "source": "https://github.com/sebastianbergmann/environment/tree/5.1.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:52:38+00:00" }, { - "name": "sebastian/recursion-context", - "version": "3.0.0", + "name": "sebastian/exporter", + "version": "4.0.3", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8" + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", - "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/d89cc98761b8cb5a1a235a6b703ae50d34080e65", + "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65", "shasum": "" }, "require": { - "php": "^7.0" + "php": ">=7.3", + "sebastian/recursion-context": "^4.0" }, "require-dev": { - "phpunit/phpunit": "^6.0" + "ext-mbstring": "*", + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0.x-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -2430,43 +3137,74 @@ ], "authors": [ { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { "name": "Jeff Welch", "email": "whatthejeff@gmail.com" }, { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "name": "Volker Dusch", + "email": "github@wallbash.com" }, { "name": "Adam Harvey", "email": "aharvey@php.net" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" } ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2017-03-03T06:23:57+00:00" + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "http://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/exporter/issues", + "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:24:23+00:00" }, { - "name": "sebastian/resource-operations", - "version": "2.0.1", + "name": "sebastian/global-state", + "version": "5.0.2", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9" + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "a90ccbddffa067b51f574dea6eb25d5680839455" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/4d7a795d35b889bf80a0cc04e08d77cedfa917a9", - "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/a90ccbddffa067b51f574dea6eb25d5680839455", + "reference": "a90ccbddffa067b51f574dea6eb25d5680839455", "shasum": "" }, "require": { - "php": "^7.1" + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "ext-dom": "*", + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-uopz": "*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -2484,31 +3222,48 @@ "email": "sebastian@phpunit.de" } ], - "description": "Provides a list of PHP built-in functions that operate on resources", - "homepage": "https://www.github.com/sebastianbergmann/resource-operations", - "time": "2018-10-04T04:07:39+00:00" + "description": "Snapshotting of global state", + "homepage": "http://www.github.com/sebastianbergmann/global-state", + "keywords": [ + "global state" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/global-state/issues", + "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T15:55:19+00:00" }, { - "name": "sebastian/version", - "version": "2.0.1", + "name": "sebastian/lines-of-code", + "version": "1.0.3", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" + "url": "https://github.com/sebastianbergmann/lines-of-code.git", + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc", "shasum": "" }, "require": { - "php": ">=5.6" + "nikic/php-parser": "^4.6", + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "1.0-dev" } }, "autoload": { @@ -2527,49 +3282,926 @@ "role": "lead" } ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "time": "2016-10-03T07:35:21+00:00" + "description": "Library for counting the lines of code in PHP source code", + "homepage": "https://github.com/sebastianbergmann/lines-of-code", + "support": { + "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-28T06:42:11+00:00" + }, + { + "name": "sebastian/object-enumerator", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "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/4.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:12:34+00:00" + }, + { + "name": "sebastian/object-reflector", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "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/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:14:26+00:00" + }, + { + "name": "sebastian/recursion-context", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172", + "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "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/4.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:17:30+00:00" + }, + { + "name": "sebastian/resource-operations", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/resource-operations.git", + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "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/3.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:45:17+00:00" + }, + { + "name": "sebastian/type", + "version": "2.3.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/type.git", + "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/81cd61ab7bbf2de744aba0ea61fae32f721df3d2", + "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.3-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the types of the PHP type system", + "homepage": "https://github.com/sebastianbergmann/type", + "support": { + "issues": "https://github.com/sebastianbergmann/type/issues", + "source": "https://github.com/sebastianbergmann/type/tree/2.3.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:18:59+00:00" + }, + { + "name": "sebastian/version", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "c6c1022351a901512170118436c764e473f6de8c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", + "reference": "c6c1022351a901512170118436c764e473f6de8c", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "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/3.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:39:44+00:00" + }, + { + "name": "swiftmailer/swiftmailer", + "version": "v6.2.4", + "source": { + "type": "git", + "url": "https://github.com/swiftmailer/swiftmailer.git", + "reference": "56f0ab23f54c4ccbb0d5dcc67ff8552e0c98d59e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/56f0ab23f54c4ccbb0d5dcc67ff8552e0c98d59e", + "reference": "56f0ab23f54c4ccbb0d5dcc67ff8552e0c98d59e", + "shasum": "" + }, + "require": { + "egulias/email-validator": "^2.0", + "php": ">=7.0.0", + "symfony/polyfill-iconv": "^1.0", + "symfony/polyfill-intl-idn": "^1.10", + "symfony/polyfill-mbstring": "^1.0" + }, + "require-dev": { + "mockery/mockery": "^1.0", + "symfony/phpunit-bridge": "^4.4|^5.0" + }, + "suggest": { + "ext-intl": "Needed to support internationalized email addresses" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.2-dev" + } + }, + "autoload": { + "files": [ + "lib/swift_required.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Chris Corbyn" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Swiftmailer, free feature-rich PHP mailer", + "homepage": "https://swiftmailer.symfony.com", + "keywords": [ + "email", + "mail", + "mailer" + ], + "support": { + "issues": "https://github.com/swiftmailer/swiftmailer/issues", + "source": "https://github.com/swiftmailer/swiftmailer/tree/v6.2.4" + }, + "funding": [ + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/swiftmailer/swiftmailer", + "type": "tidelift" + } + ], + "time": "2020-12-08T18:02:06+00:00" + }, + { + "name": "symfony/console", + "version": "v5.2.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "47c02526c532fb381374dab26df05e7313978976" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/47c02526c532fb381374dab26df05e7313978976", + "reference": "47c02526c532fb381374dab26df05e7313978976", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php73": "^1.8", + "symfony/polyfill-php80": "^1.15", + "symfony/service-contracts": "^1.1|^2", + "symfony/string": "^5.1" + }, + "conflict": { + "symfony/dependency-injection": "<4.4", + "symfony/dotenv": "<5.1", + "symfony/event-dispatcher": "<4.4", + "symfony/lock": "<4.4", + "symfony/process": "<4.4" + }, + "provide": { + "psr/log-implementation": "1.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/event-dispatcher": "^4.4|^5.0", + "symfony/lock": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0", + "symfony/var-dumper": "^4.4|^5.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/lock": "", + "symfony/process": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Console Component", + "homepage": "https://symfony.com", + "keywords": [ + "cli", + "command line", + "console", + "terminal" + ], + "support": { + "source": "https://github.com/symfony/console/tree/v5.2.1" + }, + "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-12-18T08:03:05+00:00" + }, + { + "name": "symfony/css-selector", + "version": "v5.2.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/css-selector.git", + "reference": "f789e7ead4c79e04ca9a6d6162fc629c89bd8054" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/f789e7ead4c79e04ca9a6d6162fc629c89bd8054", + "reference": "f789e7ead4c79e04ca9a6d6162fc629c89bd8054", + "shasum": "" + }, + "require": { + "php": ">=7.2.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\CssSelector\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Jean-François Simon", + "email": "jeanfrancois.simon@sensiolabs.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony CssSelector Component", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/css-selector/tree/v5.2.1" + }, + "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-12-08T17:02:38+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v2.2.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5fa56b4074d1ae755beb55617ddafe6f5d78f665", + "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-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/dom-crawler", + "version": "v5.2.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/dom-crawler.git", + "reference": "ee7cf316fb0de786cfe5ae32ee79502b290c81ea" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/ee7cf316fb0de786cfe5ae32ee79502b290c81ea", + "reference": "ee7cf316fb0de786cfe5ae32ee79502b290c81ea", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "masterminds/html5": "<2.6" + }, + "require-dev": { + "masterminds/html5": "^2.6", + "symfony/css-selector": "^4.4|^5.0" + }, + "suggest": { + "symfony/css-selector": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\DomCrawler\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony DomCrawler Component", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/dom-crawler/tree/v5.2.1" + }, + "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-12-18T08:02:46+00:00" + }, + { + "name": "symfony/error-handler", + "version": "v5.2.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/error-handler.git", + "reference": "59b190ce16ddf32771a22087b60f6dafd3407147" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/59b190ce16ddf32771a22087b60f6dafd3407147", + "reference": "59b190ce16ddf32771a22087b60f6dafd3407147", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/log": "^1.0", + "symfony/polyfill-php80": "^1.15", + "symfony/var-dumper": "^4.4|^5.0" + }, + "require-dev": { + "symfony/deprecation-contracts": "^2.1", + "symfony/http-kernel": "^4.4|^5.0", + "symfony/serializer": "^4.4|^5.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\ErrorHandler\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony ErrorHandler Component", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/error-handler/tree/v5.2.1" + }, + "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-12-09T18:54:12+00:00" }, { - "name": "swiftmailer/swiftmailer", - "version": "v6.2.1", + "name": "symfony/event-dispatcher", + "version": "v5.2.1", "source": { "type": "git", - "url": "https://github.com/swiftmailer/swiftmailer.git", - "reference": "5397cd05b0a0f7937c47b0adcb4c60e5ab936b6a" + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "1c93f7a1dff592c252574c79a8635a8a80856042" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/5397cd05b0a0f7937c47b0adcb4c60e5ab936b6a", - "reference": "5397cd05b0a0f7937c47b0adcb4c60e5ab936b6a", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/1c93f7a1dff592c252574c79a8635a8a80856042", + "reference": "1c93f7a1dff592c252574c79a8635a8a80856042", "shasum": "" }, "require": { - "egulias/email-validator": "~2.0", - "php": ">=7.0.0", - "symfony/polyfill-iconv": "^1.0", - "symfony/polyfill-intl-idn": "^1.10", - "symfony/polyfill-mbstring": "^1.0" + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/event-dispatcher-contracts": "^2", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "symfony/dependency-injection": "<4.4" + }, + "provide": { + "psr/event-dispatcher-implementation": "1.0", + "symfony/event-dispatcher-implementation": "2.0" }, "require-dev": { - "mockery/mockery": "~0.9.1", - "symfony/phpunit-bridge": "^3.4.19|^4.1.8" + "psr/log": "~1.0", + "symfony/config": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/error-handler": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/http-foundation": "^4.4|^5.0", + "symfony/service-contracts": "^1.1|^2", + "symfony/stopwatch": "^4.4|^5.0" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\EventDispatcher\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony EventDispatcher Component", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/event-dispatcher/tree/v5.2.1" + }, + "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-12-18T08:03:05+00:00" + }, + { + "name": "symfony/event-dispatcher-contracts", + "version": "v2.2.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher-contracts.git", + "reference": "0ba7d54483095a198fa51781bc608d17e84dffa2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/0ba7d54483095a198fa51781bc608d17e84dffa2", + "reference": "0ba7d54483095a198fa51781bc608d17e84dffa2", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/event-dispatcher": "^1" }, "suggest": { - "ext-intl": "Needed to support internationalized email addresses", - "true/punycode": "Needed to support internationalized email addresses, if ext-intl is not installed" + "symfony/event-dispatcher-implementation": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "6.2-dev" + "dev-master": "2.2-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" } }, "autoload": { - "files": [ - "lib/swift_required.php" - ] + "psr-4": { + "Symfony\\Contracts\\EventDispatcher\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2577,71 +4209,216 @@ ], "authors": [ { - "name": "Chris Corbyn" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Swiftmailer, free feature-rich PHP mailer", - "homepage": "https://swiftmailer.symfony.com", + "description": "Generic abstractions related to dispatching event", + "homepage": "https://symfony.com", "keywords": [ - "email", - "mail", - "mailer" + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.2.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": "2019-04-21T09:21:45+00:00" + "time": "2020-09-07T11:33:47+00:00" }, { - "name": "symfony/console", - "version": "v4.2.8", + "name": "symfony/finder", + "version": "v5.2.1", "source": { "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "e2840bb38bddad7a0feaf85931e38fdcffdb2f81" + "url": "https://github.com/symfony/finder.git", + "reference": "0b9231a5922fd7287ba5b411893c0ecd2733e5ba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/e2840bb38bddad7a0feaf85931e38fdcffdb2f81", - "reference": "e2840bb38bddad7a0feaf85931e38fdcffdb2f81", + "url": "https://api.github.com/repos/symfony/finder/zipball/0b9231a5922fd7287ba5b411893c0ecd2733e5ba", + "reference": "0b9231a5922fd7287ba5b411893c0ecd2733e5ba", "shasum": "" }, "require": { - "php": "^7.1.3", - "symfony/contracts": "^1.0", - "symfony/polyfill-mbstring": "~1.0" + "php": ">=7.2.5" }, - "conflict": { - "symfony/dependency-injection": "<3.4", - "symfony/process": "<3.3" + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, - "provide": { - "psr/log-implementation": "1.0" + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Finder Component", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/finder/tree/v5.2.1" }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~3.4|~4.0", - "symfony/dependency-injection": "~3.4|~4.0", - "symfony/event-dispatcher": "~3.4|~4.0", - "symfony/lock": "~3.4|~4.0", - "symfony/process": "~3.4|~4.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": "2020-12-08T17:02:38+00:00" + }, + { + "name": "symfony/http-client-contracts", + "version": "v2.3.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-client-contracts.git", + "reference": "41db680a15018f9c1d4b23516059633ce280ca33" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/41db680a15018f9c1d4b23516059633ce280ca33", + "reference": "41db680a15018f9c1d4b23516059633ce280ca33", + "shasum": "" + }, + "require": { + "php": ">=7.2.5" }, "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/lock": "", - "symfony/process": "" + "symfony/http-client-implementation": "" }, "type": "library", "extra": { + "branch-version": "2.3", "branch-alias": { - "dev-master": "4.2-dev" + "dev-main": "2.3-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" } }, "autoload": { "psr-4": { - "Symfony\\Component\\Console\\": "" + "Symfony\\Contracts\\HttpClient\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to HTTP clients", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/http-client-contracts/tree/v2.3.1" + }, + "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-10-14T17:08:19+00:00" + }, + { + "name": "symfony/http-foundation", + "version": "v5.2.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-foundation.git", + "reference": "a1f6218b29897ab52acba58cfa905b83625bef8d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/a1f6218b29897ab52acba58cfa905b83625bef8d", + "reference": "a1f6218b29897ab52acba58cfa905b83625bef8d", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-mbstring": "~1.1", + "symfony/polyfill-php80": "^1.15" + }, + "require-dev": { + "predis/predis": "~1.0", + "symfony/cache": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/mime": "^4.4|^5.0" + }, + "suggest": { + "symfony/mime": "To use the file extension guesser" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpFoundation\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -2661,50 +4438,102 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Console Component", + "description": "Symfony HttpFoundation Component", "homepage": "https://symfony.com", - "time": "2019-04-08T14:23:48+00:00" + "support": { + "source": "https://github.com/symfony/http-foundation/tree/v5.2.1" + }, + "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-12-18T10:00:10+00:00" }, { - "name": "symfony/contracts", - "version": "v1.0.2", + "name": "symfony/http-kernel", + "version": "v5.2.1", "source": { "type": "git", - "url": "https://github.com/symfony/contracts.git", - "reference": "1aa7ab2429c3d594dd70689604b5cf7421254cdf" + "url": "https://github.com/symfony/http-kernel.git", + "reference": "1feb619286d819180f7b8bc0dc44f516d9c62647" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/contracts/zipball/1aa7ab2429c3d594dd70689604b5cf7421254cdf", - "reference": "1aa7ab2429c3d594dd70689604b5cf7421254cdf", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/1feb619286d819180f7b8bc0dc44f516d9c62647", + "reference": "1feb619286d819180f7b8bc0dc44f516d9c62647", "shasum": "" }, "require": { - "php": "^7.1.3" + "php": ">=7.2.5", + "psr/log": "~1.0", + "symfony/deprecation-contracts": "^2.1", + "symfony/error-handler": "^4.4|^5.0", + "symfony/event-dispatcher": "^5.0", + "symfony/http-client-contracts": "^1.1|^2", + "symfony/http-foundation": "^4.4|^5.0", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-php73": "^1.9", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "symfony/browser-kit": "<4.4", + "symfony/cache": "<5.0", + "symfony/config": "<5.0", + "symfony/console": "<4.4", + "symfony/dependency-injection": "<5.1.8", + "symfony/doctrine-bridge": "<5.0", + "symfony/form": "<5.0", + "symfony/http-client": "<5.0", + "symfony/mailer": "<5.0", + "symfony/messenger": "<5.0", + "symfony/translation": "<5.0", + "symfony/twig-bridge": "<5.0", + "symfony/validator": "<5.0", + "twig/twig": "<2.4" + }, + "provide": { + "psr/log-implementation": "1.0" }, "require-dev": { - "psr/cache": "^1.0", - "psr/container": "^1.0" + "psr/cache": "~1.0", + "symfony/browser-kit": "^4.4|^5.0", + "symfony/config": "^5.0", + "symfony/console": "^4.4|^5.0", + "symfony/css-selector": "^4.4|^5.0", + "symfony/dependency-injection": "^5.1.8", + "symfony/dom-crawler": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0", + "symfony/routing": "^4.4|^5.0", + "symfony/stopwatch": "^4.4|^5.0", + "symfony/translation": "^4.4|^5.0", + "symfony/translation-contracts": "^1.1|^2", + "twig/twig": "^2.4|^3.0" }, "suggest": { - "psr/cache": "When using the Cache contracts", - "psr/container": "When using the Service contracts", - "symfony/cache-contracts-implementation": "", - "symfony/service-contracts-implementation": "", - "symfony/translation-contracts-implementation": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } + "symfony/browser-kit": "", + "symfony/config": "", + "symfony/console": "", + "symfony/dependency-injection": "" }, + "type": "library", "autoload": { "psr-4": { - "Symfony\\Contracts\\": "" + "Symfony\\Component\\HttpKernel\\": "" }, "exclude-from-classmap": [ - "**/Tests/" + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -2713,52 +4542,71 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "A set of abstractions extracted out of the Symfony components", + "description": "Symfony HttpKernel Component", "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" + "support": { + "source": "https://github.com/symfony/http-kernel/tree/v5.2.1" + }, + "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": "2018-12-05T08:06:11+00:00" + "time": "2020-12-18T13:49:39+00:00" }, { - "name": "symfony/css-selector", - "version": "v4.2.8", + "name": "symfony/mime", + "version": "v5.2.1", "source": { "type": "git", - "url": "https://github.com/symfony/css-selector.git", - "reference": "48eddf66950fa57996e1be4a55916d65c10c604a" + "url": "https://github.com/symfony/mime.git", + "reference": "de97005aef7426ba008c46ba840fc301df577ada" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/48eddf66950fa57996e1be4a55916d65c10c604a", - "reference": "48eddf66950fa57996e1be4a55916d65c10c604a", + "url": "https://api.github.com/repos/symfony/mime/zipball/de97005aef7426ba008c46ba840fc301df577ada", + "reference": "de97005aef7426ba008c46ba840fc301df577ada", "shasum": "" }, "require": { - "php": "^7.1.3" + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-intl-idn": "^1.10", + "symfony/polyfill-mbstring": "^1.0", + "symfony/polyfill-php80": "^1.15" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.2-dev" - } + "conflict": { + "symfony/mailer": "<4.4" + }, + "require-dev": { + "egulias/email-validator": "^2.1.10", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/property-access": "^4.4|^5.1", + "symfony/property-info": "^4.4|^5.1", + "symfony/serializer": "^5.2" }, + "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\CssSelector\\": "" + "Symfony\\Component\\Mime\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -2770,10 +4618,6 @@ ], "authors": [ { - "name": "Jean-François Simon", - "email": "jeanfrancois.simon@sensiolabs.com" - }, - { "name": "Fabien Potencier", "email": "fabien@symfony.com" }, @@ -2782,46 +4626,67 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony CssSelector Component", + "description": "A library to manipulate MIME messages", "homepage": "https://symfony.com", - "time": "2019-01-16T20:31:39+00:00" + "keywords": [ + "mime", + "mime-type" + ], + "support": { + "source": "https://github.com/symfony/mime/tree/v5.2.1" + }, + "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-12-09T18:54:12+00:00" }, { - "name": "symfony/debug", - "version": "v4.2.8", + "name": "symfony/polyfill-ctype", + "version": "v1.22.0", "source": { "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "2d279b6bb1d582dd5740d4d3251ae8c18812ed37" + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "c6c942b1ac76c82448322025e084cadc56048b4e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/2d279b6bb1d582dd5740d4d3251ae8c18812ed37", - "reference": "2d279b6bb1d582dd5740d4d3251ae8c18812ed37", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/c6c942b1ac76c82448322025e084cadc56048b4e", + "reference": "c6c942b1ac76c82448322025e084cadc56048b4e", "shasum": "" }, "require": { - "php": "^7.1.3", - "psr/log": "~1.0" - }, - "conflict": { - "symfony/http-kernel": "<3.4" + "php": ">=7.1" }, - "require-dev": { - "symfony/http-kernel": "~3.4|~4.0" + "suggest": { + "ext-ctype": "For best performance" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.2-dev" + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { "psr-4": { - "Symfony\\Component\\Debug\\": "" + "Symfony\\Polyfill\\Ctype\\": "" }, - "exclude-from-classmap": [ - "/Tests/" + "files": [ + "bootstrap.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -2830,55 +4695,77 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Debug Component", + "description": "Symfony polyfill for ctype functions", "homepage": "https://symfony.com", - "time": "2019-04-11T11:27:41+00:00" + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "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/dom-crawler", - "version": "v4.2.8", + "name": "symfony/polyfill-iconv", + "version": "v1.22.0", "source": { "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "53c97769814c80a84a8403efcf3ae7ae966d53bb" + "url": "https://github.com/symfony/polyfill-iconv.git", + "reference": "b34bfb8c4c22650ac080d2662ae3502e5f2f4ae6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/53c97769814c80a84a8403efcf3ae7ae966d53bb", - "reference": "53c97769814c80a84a8403efcf3ae7ae966d53bb", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/b34bfb8c4c22650ac080d2662ae3502e5f2f4ae6", + "reference": "b34bfb8c4c22650ac080d2662ae3502e5f2f4ae6", "shasum": "" }, "require": { - "php": "^7.1.3", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.0" - }, - "require-dev": { - "symfony/css-selector": "~3.4|~4.0" + "php": ">=7.1" }, "suggest": { - "symfony/css-selector": "" + "ext-iconv": "For best performance" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.2-dev" + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" + "Symfony\\Polyfill\\Iconv\\": "" }, - "exclude-from-classmap": [ - "/Tests/" + "files": [ + "bootstrap.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -2887,62 +4774,78 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony DomCrawler Component", + "description": "Symfony polyfill for the Iconv extension", "homepage": "https://symfony.com", - "time": "2019-02-23T15:17:42+00:00" + "keywords": [ + "compatibility", + "iconv", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-iconv/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/event-dispatcher", - "version": "v4.2.8", + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.22.0", "source": { "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "fbce53cd74ac509cbe74b6f227622650ab759b02" + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "267a9adeb8ecb8071040a740930e077cdfb987af" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/fbce53cd74ac509cbe74b6f227622650ab759b02", - "reference": "fbce53cd74ac509cbe74b6f227622650ab759b02", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/267a9adeb8ecb8071040a740930e077cdfb987af", + "reference": "267a9adeb8ecb8071040a740930e077cdfb987af", "shasum": "" }, "require": { - "php": "^7.1.3", - "symfony/contracts": "^1.0" - }, - "conflict": { - "symfony/dependency-injection": "<3.4" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~3.4|~4.0", - "symfony/dependency-injection": "~3.4|~4.0", - "symfony/expression-language": "~3.4|~4.0", - "symfony/stopwatch": "~3.4|~4.0" + "php": ">=7.1" }, "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" + "ext-intl": "For best performance" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.2-dev" + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { "psr-4": { - "Symfony\\Component\\EventDispatcher\\": "" + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" }, - "exclude-from-classmap": [ - "/Tests/" + "files": [ + "bootstrap.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -2951,47 +4854,81 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony EventDispatcher Component", + "description": "Symfony polyfill for intl's grapheme_* functions", "homepage": "https://symfony.com", - "time": "2019-04-06T13:51:08+00:00" + "keywords": [ + "compatibility", + "grapheme", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-grapheme/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/finder", - "version": "v4.2.8", + "name": "symfony/polyfill-intl-idn", + "version": "v1.22.0", "source": { "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "e45135658bd6c14b61850bf131c4f09a55133f69" + "url": "https://github.com/symfony/polyfill-intl-idn.git", + "reference": "0eb8293dbbcd6ef6bf81404c9ce7d95bcdf34f44" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/e45135658bd6c14b61850bf131c4f09a55133f69", - "reference": "e45135658bd6c14b61850bf131c4f09a55133f69", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/0eb8293dbbcd6ef6bf81404c9ce7d95bcdf34f44", + "reference": "0eb8293dbbcd6ef6bf81404c9ce7d95bcdf34f44", "shasum": "" }, "require": { - "php": "^7.1.3" + "php": ">=7.1", + "symfony/polyfill-intl-normalizer": "^1.10", + "symfony/polyfill-php72": "^1.10" + }, + "suggest": { + "ext-intl": "For best performance" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.2-dev" + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { "psr-4": { - "Symfony\\Component\\Finder\\": "" + "Symfony\\Polyfill\\Intl\\Idn\\": "" }, - "exclude-from-classmap": [ - "/Tests/" + "files": [ + "bootstrap.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -3000,53 +4937,86 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Laurent Bassin", + "email": "laurent@bassin.info" + }, + { + "name": "Trevor Rowbotham", + "email": "trevor.rowbotham@pm.me" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Finder Component", + "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", "homepage": "https://symfony.com", - "time": "2019-04-06T13:51:08+00:00" + "keywords": [ + "compatibility", + "idn", + "intl", + "polyfill", + "portable", + "shim" + ], + "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/http-foundation", - "version": "v4.4.7", + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.22.0", "source": { "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "62f92509c9abfd1f73e17b8cf1b72c0bdac6611b" + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "6e971c891537eb617a00bb07a43d182a6915faba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/62f92509c9abfd1f73e17b8cf1b72c0bdac6611b", - "reference": "62f92509c9abfd1f73e17b8cf1b72c0bdac6611b", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/6e971c891537eb617a00bb07a43d182a6915faba", + "reference": "6e971c891537eb617a00bb07a43d182a6915faba", "shasum": "" }, "require": { - "php": "^7.1.3", - "symfony/mime": "^4.3|^5.0", - "symfony/polyfill-mbstring": "~1.1" + "php": ">=7.1" }, - "require-dev": { - "predis/predis": "~1.0", - "symfony/expression-language": "^3.4|^4.0|^5.0" + "suggest": { + "ext-intl": "For best performance" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.4-dev" + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" }, - "exclude-from-classmap": [ - "/Tests/" + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", @@ -3055,87 +5025,79 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony HttpFoundation Component", + "description": "Symfony polyfill for intl's Normalizer class and related functions", "homepage": "https://symfony.com", - "time": "2020-03-30T14:07:33+00:00" + "keywords": [ + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "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/http-kernel", - "version": "v4.2.8", + "name": "symfony/polyfill-mbstring", + "version": "v1.22.0", "source": { "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "a7713bc522f1a1cdf0b39f809fa4542523fc3114" + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "f377a3dd1fde44d37b9831d68dc8dea3ffd28e13" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/a7713bc522f1a1cdf0b39f809fa4542523fc3114", - "reference": "a7713bc522f1a1cdf0b39f809fa4542523fc3114", - "shasum": "" - }, - "require": { - "php": "^7.1.3", - "psr/log": "~1.0", - "symfony/contracts": "^1.0.2", - "symfony/debug": "~3.4|~4.0", - "symfony/event-dispatcher": "~4.1", - "symfony/http-foundation": "^4.1.1", - "symfony/polyfill-ctype": "~1.8" - }, - "conflict": { - "symfony/config": "<3.4", - "symfony/dependency-injection": "<4.2", - "symfony/translation": "<4.2", - "symfony/var-dumper": "<4.1.1", - "twig/twig": "<1.34|<2.4,>=2" - }, - "provide": { - "psr/log-implementation": "1.0" + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/f377a3dd1fde44d37b9831d68dc8dea3ffd28e13", + "reference": "f377a3dd1fde44d37b9831d68dc8dea3ffd28e13", + "shasum": "" }, - "require-dev": { - "psr/cache": "~1.0", - "symfony/browser-kit": "~3.4|~4.0", - "symfony/config": "~3.4|~4.0", - "symfony/console": "~3.4|~4.0", - "symfony/css-selector": "~3.4|~4.0", - "symfony/dependency-injection": "^4.2", - "symfony/dom-crawler": "~3.4|~4.0", - "symfony/expression-language": "~3.4|~4.0", - "symfony/finder": "~3.4|~4.0", - "symfony/process": "~3.4|~4.0", - "symfony/routing": "~3.4|~4.0", - "symfony/stopwatch": "~3.4|~4.0", - "symfony/templating": "~3.4|~4.0", - "symfony/translation": "~4.2", - "symfony/var-dumper": "^4.1.1" + "require": { + "php": ">=7.1" }, "suggest": { - "symfony/browser-kit": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "", - "symfony/var-dumper": "" + "ext-mbstring": "For best performance" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.2-dev" + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" + "Symfony\\Polyfill\\Mbstring\\": "" }, - "exclude-from-classmap": [ - "/Tests/" + "files": [ + "bootstrap.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -3144,56 +5106,75 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony HttpKernel Component", + "description": "Symfony polyfill for the Mbstring extension", "homepage": "https://symfony.com", - "time": "2019-05-01T13:31:08+00:00" + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/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/mime", - "version": "v4.4.7", + "name": "symfony/polyfill-php72", + "version": "v1.22.0", "source": { "type": "git", - "url": "https://github.com/symfony/mime.git", - "reference": "6dde9dc70155e91b850b1d009d1f841c54bc4aba" + "url": "https://github.com/symfony/polyfill-php72.git", + "reference": "cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/6dde9dc70155e91b850b1d009d1f841c54bc4aba", - "reference": "6dde9dc70155e91b850b1d009d1f841c54bc4aba", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9", + "reference": "cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9", "shasum": "" }, "require": { - "php": "^7.1.3", - "symfony/polyfill-intl-idn": "^1.10", - "symfony/polyfill-mbstring": "^1.0" - }, - "conflict": { - "symfony/mailer": "<4.4" - }, - "require-dev": { - "egulias/email-validator": "^2.1.10", - "symfony/dependency-injection": "^3.4|^4.1|^5.0" + "php": ">=7.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.4-dev" + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { "psr-4": { - "Symfony\\Component\\Mime\\": "" + "Symfony\\Polyfill\\Php72\\": "" }, - "exclude-from-classmap": [ - "/Tests/" + "files": [ + "bootstrap.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -3202,54 +5183,77 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "A library to manipulate MIME messages", + "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", "homepage": "https://symfony.com", "keywords": [ - "mime", - "mime-type" + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php72/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": "2020-03-27T16:54:36+00:00" + "time": "2021-01-07T16:49:33+00:00" }, { - "name": "symfony/polyfill-ctype", - "version": "v1.11.0", + "name": "symfony/polyfill-php73", + "version": "v1.22.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "82ebae02209c21113908c229e9883c419720738a" + "url": "https://github.com/symfony/polyfill-php73.git", + "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/82ebae02209c21113908c229e9883c419720738a", - "reference": "82ebae02209c21113908c229e9883c419720738a", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/a678b42e92f86eca04b7fa4c0f6f19d097fb69e2", + "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2", "shasum": "" }, "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-ctype": "For best performance" + "php": ">=7.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.11-dev" + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" + "Symfony\\Polyfill\\Php73\\": "" }, "files": [ "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", @@ -3258,56 +5262,77 @@ ], "authors": [ { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for ctype functions", + "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", "homepage": "https://symfony.com", "keywords": [ "compatibility", - "ctype", "polyfill", - "portable" + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php73/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": "2019-02-06T07:57:58+00:00" + "time": "2021-01-07T16:49:33+00:00" }, { - "name": "symfony/polyfill-iconv", - "version": "v1.11.0", + "name": "symfony/polyfill-php80", + "version": "v1.22.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "f037ea22acfaee983e271dd9c3b8bb4150bd8ad7" + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/f037ea22acfaee983e271dd9c3b8bb4150bd8ad7", - "reference": "f037ea22acfaee983e271dd9c3b8bb4150bd8ad7", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/dc3063ba22c2a1fd2f45ed856374d79114998f91", + "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91", "shasum": "" }, "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-iconv": "For best performance" + "php": ">=7.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.11-dev" + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { "psr-4": { - "Symfony\\Polyfill\\Iconv\\": "" + "Symfony\\Polyfill\\Php80\\": "" }, "files": [ "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", @@ -3316,6 +5341,10 @@ ], "authors": [ { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { "name": "Nicolas Grekas", "email": "p@tchwork.com" }, @@ -3324,51 +5353,58 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for the Iconv extension", + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", "homepage": "https://symfony.com", "keywords": [ "compatibility", - "iconv", "polyfill", "portable", "shim" ], - "time": "2019-02-06T07:57:58+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/polyfill-intl-idn", - "version": "v1.15.0", + "name": "symfony/process", + "version": "v5.2.1", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "47bd6aa45beb1cd7c6a16b7d1810133b728bdfcf" + "url": "https://github.com/symfony/process.git", + "reference": "bd8815b8b6705298beaa384f04fabd459c10bedd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/47bd6aa45beb1cd7c6a16b7d1810133b728bdfcf", - "reference": "47bd6aa45beb1cd7c6a16b7d1810133b728bdfcf", + "url": "https://api.github.com/repos/symfony/process/zipball/bd8815b8b6705298beaa384f04fabd459c10bedd", + "reference": "bd8815b8b6705298beaa384f04fabd459c10bedd", "shasum": "" }, "require": { - "php": ">=5.3.3", - "symfony/polyfill-mbstring": "^1.3", - "symfony/polyfill-php72": "^1.10" - }, - "suggest": { - "ext-intl": "For best performance" + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.15" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.15-dev" - } - }, "autoload": { "psr-4": { - "Symfony\\Polyfill\\Intl\\Idn\\": "" + "Symfony\\Component\\Process\\": "" }, - "files": [ - "bootstrap.php" + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -3377,58 +5413,82 @@ ], "authors": [ { - "name": "Laurent Bassin", - "email": "laurent@bassin.info" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", + "description": "Symfony Process Component", "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "idn", - "intl", - "polyfill", - "portable", - "shim" + "support": { + "source": "https://github.com/symfony/process/tree/v5.2.1" + }, + "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-03-09T19:04:49+00:00" + "time": "2020-12-08T17:03:37+00:00" }, { - "name": "symfony/polyfill-mbstring", - "version": "v1.15.0", + "name": "symfony/routing", + "version": "v5.2.1", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "81ffd3a9c6d707be22e3012b827de1c9775fc5ac" + "url": "https://github.com/symfony/routing.git", + "reference": "934ac2720dcc878a47a45c986b483a7ee7193620" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/81ffd3a9c6d707be22e3012b827de1c9775fc5ac", - "reference": "81ffd3a9c6d707be22e3012b827de1c9775fc5ac", + "url": "https://api.github.com/repos/symfony/routing/zipball/934ac2720dcc878a47a45c986b483a7ee7193620", + "reference": "934ac2720dcc878a47a45c986b483a7ee7193620", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "symfony/config": "<5.0", + "symfony/dependency-injection": "<4.4", + "symfony/yaml": "<4.4" + }, + "require-dev": { + "doctrine/annotations": "^1.7", + "psr/log": "~1.0", + "symfony/config": "^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/http-foundation": "^4.4|^5.0", + "symfony/yaml": "^4.4|^5.0" }, "suggest": { - "ext-mbstring": "For best performance" + "doctrine/annotations": "For using the annotation loader", + "symfony/config": "For using the all-in-one router or any loader", + "symfony/expression-language": "For using expression matching", + "symfony/http-foundation": "For using a Symfony Request object", + "symfony/yaml": "For using the YAML loader" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.15-dev" - } - }, "autoload": { "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" + "Symfony\\Component\\Routing\\": "" }, - "files": [ - "bootstrap.php" + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -3437,55 +5497,76 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for the Mbstring extension", + "description": "Symfony Routing Component", "homepage": "https://symfony.com", "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" + "router", + "routing", + "uri", + "url" + ], + "support": { + "source": "https://github.com/symfony/routing/tree/v5.2.1" + }, + "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-03-09T19:04:49+00:00" + "time": "2020-12-08T17:03:37+00:00" }, { - "name": "symfony/polyfill-php72", - "version": "v1.15.0", + "name": "symfony/service-contracts", + "version": "v2.2.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "37b0976c78b94856543260ce09b460a7bc852747" + "url": "https://github.com/symfony/service-contracts.git", + "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/37b0976c78b94856543260ce09b460a7bc852747", - "reference": "37b0976c78b94856543260ce09b460a7bc852747", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/d15da7ba4957ffb8f1747218be9e1a121fd298a1", + "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=7.2.5", + "psr/container": "^1.0" + }, + "suggest": { + "symfony/service-implementation": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.15-dev" + "dev-master": "2.2-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" } }, "autoload": { "psr-4": { - "Symfony\\Polyfill\\Php72\\": "" - }, - "files": [ - "bootstrap.php" - ] + "Symfony\\Contracts\\Service\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3501,43 +5582,71 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "description": "Generic abstractions related to writing services", "homepage": "https://symfony.com", "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" ], - "time": "2020-02-27T09:26:54+00:00" + "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/process", - "version": "v4.2.8", + "name": "symfony/string", + "version": "v5.2.1", "source": { "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "8cf39fb4ccff793340c258ee7760fd40bfe745fe" + "url": "https://github.com/symfony/string.git", + "reference": "5bd67751d2e3f7d6f770c9154b8fbcb2aa05f7ed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/8cf39fb4ccff793340c258ee7760fd40bfe745fe", - "reference": "8cf39fb4ccff793340c258ee7760fd40bfe745fe", + "url": "https://api.github.com/repos/symfony/string/zipball/5bd67751d2e3f7d6f770c9154b8fbcb2aa05f7ed", + "reference": "5bd67751d2e3f7d6f770c9154b8fbcb2aa05f7ed", "shasum": "" }, "require": { - "php": "^7.1.3" + "php": ">=7.2.5", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "~1.15" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.2-dev" - } + "require-dev": { + "symfony/error-handler": "^4.4|^5.0", + "symfony/http-client": "^4.4|^5.0", + "symfony/translation-contracts": "^1.1|^2", + "symfony/var-exporter": "^4.4|^5.0" }, + "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\Process\\": "" + "Symfony\\Component\\String\\": "" }, + "files": [ + "Resources/functions.php" + ], "exclude-from-classmap": [ "/Tests/" ] @@ -3548,65 +5657,96 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Process Component", + "description": "Symfony String component", "homepage": "https://symfony.com", - "time": "2019-04-10T16:20:36+00:00" + "keywords": [ + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], + "support": { + "source": "https://github.com/symfony/string/tree/v5.2.1" + }, + "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-12-05T07:33:16+00:00" }, { - "name": "symfony/routing", - "version": "v4.2.8", + "name": "symfony/translation", + "version": "v5.2.1", "source": { "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "f4e43bb0dff56f0f62fa056c82d7eadcdb391bab" + "url": "https://github.com/symfony/translation.git", + "reference": "a04209ba0d1391c828e5b2373181dac63c52ee70" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/f4e43bb0dff56f0f62fa056c82d7eadcdb391bab", - "reference": "f4e43bb0dff56f0f62fa056c82d7eadcdb391bab", + "url": "https://api.github.com/repos/symfony/translation/zipball/a04209ba0d1391c828e5b2373181dac63c52ee70", + "reference": "a04209ba0d1391c828e5b2373181dac63c52ee70", "shasum": "" }, "require": { - "php": "^7.1.3" + "php": ">=7.2.5", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.15", + "symfony/translation-contracts": "^2.3" }, "conflict": { - "symfony/config": "<4.2", - "symfony/dependency-injection": "<3.4", - "symfony/yaml": "<3.4" + "symfony/config": "<4.4", + "symfony/dependency-injection": "<5.0", + "symfony/http-kernel": "<5.0", + "symfony/twig-bundle": "<5.0", + "symfony/yaml": "<4.4" + }, + "provide": { + "symfony/translation-implementation": "2.0" }, "require-dev": { - "doctrine/annotations": "~1.0", "psr/log": "~1.0", - "symfony/config": "~4.2", - "symfony/dependency-injection": "~3.4|~4.0", - "symfony/expression-language": "~3.4|~4.0", - "symfony/http-foundation": "~3.4|~4.0", - "symfony/yaml": "~3.4|~4.0" + "symfony/config": "^4.4|^5.0", + "symfony/console": "^4.4|^5.0", + "symfony/dependency-injection": "^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/http-kernel": "^5.0", + "symfony/intl": "^4.4|^5.0", + "symfony/service-contracts": "^1.1.2|^2", + "symfony/yaml": "^4.4|^5.0" }, "suggest": { - "doctrine/annotations": "For using the annotation loader", - "symfony/config": "For using the all-in-one router or any loader", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" + "psr/log-implementation": "To use logging capability in translator", + "symfony/config": "", + "symfony/yaml": "" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.2-dev" - } - }, "autoload": { + "files": [ + "Resources/functions.php" + ], "psr-4": { - "Symfony\\Component\\Routing\\": "" + "Symfony\\Component\\Translation\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -3626,72 +5766,61 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Routing Component", + "description": "Symfony Translation Component", "homepage": "https://symfony.com", - "keywords": [ - "router", - "routing", - "uri", - "url" + "support": { + "source": "https://github.com/symfony/translation/tree/v5.2.1" + }, + "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": "2019-04-27T09:38:08+00:00" + "time": "2020-12-08T17:03:37+00:00" }, { - "name": "symfony/translation", - "version": "v4.2.8", + "name": "symfony/translation-contracts", + "version": "v2.3.0", "source": { "type": "git", - "url": "https://github.com/symfony/translation.git", - "reference": "181a426dd129cb496f12d7e7555f6d0b37a7615b" + "url": "https://github.com/symfony/translation-contracts.git", + "reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/181a426dd129cb496f12d7e7555f6d0b37a7615b", - "reference": "181a426dd129cb496f12d7e7555f6d0b37a7615b", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/e2eaa60b558f26a4b0354e1bbb25636efaaad105", + "reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105", "shasum": "" }, "require": { - "php": "^7.1.3", - "symfony/contracts": "^1.0.2", - "symfony/polyfill-mbstring": "~1.0" - }, - "conflict": { - "symfony/config": "<3.4", - "symfony/dependency-injection": "<3.4", - "symfony/yaml": "<3.4" - }, - "provide": { - "symfony/translation-contracts-implementation": "1.0" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~3.4|~4.0", - "symfony/console": "~3.4|~4.0", - "symfony/dependency-injection": "~3.4|~4.0", - "symfony/finder": "~2.8|~3.0|~4.0", - "symfony/http-kernel": "~3.4|~4.0", - "symfony/intl": "~3.4|~4.0", - "symfony/var-dumper": "~3.4|~4.0", - "symfony/yaml": "~3.4|~4.0" + "php": ">=7.2.5" }, "suggest": { - "psr/log-implementation": "To use logging capability in translator", - "symfony/config": "", - "symfony/yaml": "" + "symfony/translation-implementation": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.2-dev" + "dev-master": "2.3-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" } }, "autoload": { "psr-4": { - "Symfony\\Component\\Translation\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Symfony\\Contracts\\Translation\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3699,46 +5828,71 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Translation Component", + "description": "Generic abstractions related to translation", "homepage": "https://symfony.com", - "time": "2019-05-01T12:55:36+00:00" + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/translation-contracts/tree/v2.3.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": "2020-09-28T13:05:58+00:00" }, { "name": "symfony/var-dumper", - "version": "v4.2.8", + "version": "v5.2.1", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "3c4084cb1537c0e2ad41aad622bbf55a44a5c9ce" + "reference": "13e7e882eaa55863faa7c4ad7c60f12f1a8b5089" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/3c4084cb1537c0e2ad41aad622bbf55a44a5c9ce", - "reference": "3c4084cb1537c0e2ad41aad622bbf55a44a5c9ce", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/13e7e882eaa55863faa7c4ad7c60f12f1a8b5089", + "reference": "13e7e882eaa55863faa7c4ad7c60f12f1a8b5089", "shasum": "" }, "require": { - "php": "^7.1.3", + "php": ">=7.2.5", "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php72": "~1.5" + "symfony/polyfill-php80": "^1.15" }, "conflict": { - "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0", - "symfony/console": "<3.4" + "phpunit/phpunit": "<5.4.3", + "symfony/console": "<4.4" }, "require-dev": { "ext-iconv": "*", - "symfony/console": "~3.4|~4.0", - "symfony/process": "~3.4|~4.0", - "twig/twig": "~1.34|~2.4" + "symfony/console": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0", + "twig/twig": "^2.4|^3.0" }, "suggest": { "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", @@ -3749,11 +5903,6 @@ "Resources/bin/var-dump-server" ], "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.2-dev" - } - }, "autoload": { "files": [ "Resources/functions/dump.php" @@ -3785,27 +5934,44 @@ "debug", "dump" ], - "time": "2019-05-01T12:55:36+00:00" + "support": { + "source": "https://github.com/symfony/var-dumper/tree/v5.2.1" + }, + "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-12-16T17:02:19+00:00" }, { "name": "theseer/tokenizer", - "version": "1.1.2", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "1c42705be2b6c1de5904f8afacef5895cab44bf8" + "reference": "75a63c33a8577608444246075ea0af0d052e452a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/1c42705be2b6c1de5904f8afacef5895cab44bf8", - "reference": "1c42705be2b6c1de5904f8afacef5895cab44bf8", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/75a63c33a8577608444246075ea0af0d052e452a", + "reference": "75a63c33a8577608444246075ea0af0d052e452a", "shasum": "" }, "require": { "ext-dom": "*", "ext-tokenizer": "*", "ext-xmlwriter": "*", - "php": "^7.0" + "php": "^7.2 || ^8.0" }, "type": "library", "autoload": { @@ -3825,28 +5991,40 @@ } ], "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", - "time": "2019-04-04T09:56:43+00:00" + "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" }, { "name": "tijsverkoyen/css-to-inline-styles", - "version": "2.2.1", + "version": "2.2.3", "source": { "type": "git", "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", - "reference": "0ed4a2ea4e0902dac0489e6436ebcd5bbcae9757" + "reference": "b43b05cf43c1b6d849478965062b6ef73e223bb5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/0ed4a2ea4e0902dac0489e6436ebcd5bbcae9757", - "reference": "0ed4a2ea4e0902dac0489e6436ebcd5bbcae9757", + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/b43b05cf43c1b6d849478965062b6ef73e223bb5", + "reference": "b43b05cf43c1b6d849478965062b6ef73e223bb5", "shasum": "" }, "require": { - "php": "^5.5 || ^7.0", - "symfony/css-selector": "^2.7 || ^3.0 || ^4.0" + "ext-dom": "*", + "ext-libxml": "*", + "php": "^5.5 || ^7.0 || ^8.0", + "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5" }, "type": "library", "extra": { @@ -3872,34 +6050,47 @@ ], "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", - "time": "2017-11-27T11:13:29+00:00" + "support": { + "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", + "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/2.2.3" + }, + "time": "2020-07-13T06:12:54+00:00" }, { "name": "vlucas/phpdotenv", - "version": "v3.3.3", + "version": "v5.2.0", "source": { "type": "git", "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "dbcc609971dd9b55f48b8008b553d79fd372ddde" + "reference": "fba64139db67123c7a57072e5f8d3db10d160b66" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/dbcc609971dd9b55f48b8008b553d79fd372ddde", - "reference": "dbcc609971dd9b55f48b8008b553d79fd372ddde", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/fba64139db67123c7a57072e5f8d3db10d160b66", + "reference": "fba64139db67123c7a57072e5f8d3db10d160b66", "shasum": "" }, "require": { - "php": "^5.4 || ^7.0", - "phpoption/phpoption": "^1.5", - "symfony/polyfill-ctype": "^1.9" + "ext-pcre": "*", + "graham-campbell/result-type": "^1.0.1", + "php": "^7.1.3 || ^8.0", + "phpoption/phpoption": "^1.7.4", + "symfony/polyfill-ctype": "^1.17", + "symfony/polyfill-mbstring": "^1.17", + "symfony/polyfill-php80": "^1.17" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.0 || ^6.0" + "bamarni/composer-bin-plugin": "^1.4.1", + "ext-filter": "*", + "phpunit/phpunit": "^7.5.20 || ^8.5.2 || ^9.0" + }, + "suggest": { + "ext-filter": "Required to use the boolean validator." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.3-dev" + "dev-master": "5.2-dev" } }, "autoload": { @@ -3913,9 +6104,14 @@ ], "authors": [ { + "name": "Graham Campbell", + "email": "graham@alt-three.com", + "homepage": "https://gjcampbell.co.uk/" + }, + { "name": "Vance Lucas", "email": "vance@vancelucas.com", - "homepage": "http://www.vancelucas.com" + "homepage": "https://vancelucas.com/" } ], "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", @@ -3924,36 +6120,122 @@ "env", "environment" ], - "time": "2019-03-06T09:39:45+00:00" + "support": { + "issues": "https://github.com/vlucas/phpdotenv/issues", + "source": "https://github.com/vlucas/phpdotenv/tree/v5.2.0" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv", + "type": "tidelift" + } + ], + "time": "2020-09-14T15:57:31+00:00" + }, + { + "name": "voku/portable-ascii", + "version": "1.5.6", + "source": { + "type": "git", + "url": "https://github.com/voku/portable-ascii.git", + "reference": "80953678b19901e5165c56752d087fc11526017c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/80953678b19901e5165c56752d087fc11526017c", + "reference": "80953678b19901e5165c56752d087fc11526017c", + "shasum": "" + }, + "require": { + "php": ">=7.0.0" + }, + "require-dev": { + "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0" + }, + "suggest": { + "ext-intl": "Use Intl for transliterator_transliterate() support" + }, + "type": "library", + "autoload": { + "psr-4": { + "voku\\": "src/voku/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Lars Moelleken", + "homepage": "http://www.moelleken.org/" + } + ], + "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", + "homepage": "https://github.com/voku/portable-ascii", + "keywords": [ + "ascii", + "clean", + "php" + ], + "support": { + "issues": "https://github.com/voku/portable-ascii/issues", + "source": "https://github.com/voku/portable-ascii/tree/1.5.6" + }, + "funding": [ + { + "url": "https://www.paypal.me/moelleken", + "type": "custom" + }, + { + "url": "https://github.com/voku", + "type": "github" + }, + { + "url": "https://opencollective.com/portable-ascii", + "type": "open_collective" + }, + { + "url": "https://www.patreon.com/voku", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/voku/portable-ascii", + "type": "tidelift" + } + ], + "time": "2020-11-12T00:07:28+00:00" }, { "name": "webmozart/assert", - "version": "1.4.0", + "version": "1.9.1", "source": { "type": "git", "url": "https://github.com/webmozart/assert.git", - "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9" + "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/83e253c8e0be5b0257b881e1827274667c5c17a9", - "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9", + "url": "https://api.github.com/repos/webmozart/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389", + "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389", "shasum": "" }, "require": { - "php": "^5.3.3 || ^7.0", + "php": "^5.3.3 || ^7.0 || ^8.0", "symfony/polyfill-ctype": "^1.8" }, + "conflict": { + "phpstan/phpstan": "<0.12.20", + "vimeo/psalm": "<3.9.1" + }, "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" + "phpunit/phpunit": "^4.8.36 || ^7.5.13" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-dev" - } - }, "autoload": { "psr-4": { "Webmozart\\Assert\\": "src/" @@ -3975,38 +6257,40 @@ "check", "validate" ], - "time": "2018-12-25T11:19:39+00:00" + "support": { + "issues": "https://github.com/webmozart/assert/issues", + "source": "https://github.com/webmozart/assert/tree/master" + }, + "time": "2020-07-08T17:02:28+00:00" } ], "packages-dev": [ { - "name": "fzaninotto/faker", - "version": "v1.8.0", + "name": "fakerphp/faker", + "version": "v1.13.0", "source": { "type": "git", - "url": "https://github.com/fzaninotto/Faker.git", - "reference": "f72816b43e74063c8b10357394b6bba8cb1c10de" + "url": "https://github.com/FakerPHP/Faker.git", + "reference": "ab3f5364d01f2c2c16113442fb987d26e4004913" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/f72816b43e74063c8b10357394b6bba8cb1c10de", - "reference": "f72816b43e74063c8b10357394b6bba8cb1c10de", + "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/ab3f5364d01f2c2c16113442fb987d26e4004913", + "reference": "ab3f5364d01f2c2c16113442fb987d26e4004913", "shasum": "" }, "require": { - "php": "^5.3.3 || ^7.0" + "php": "^7.1 || ^8.0" + }, + "conflict": { + "fzaninotto/faker": "*" }, "require-dev": { + "bamarni/composer-bin-plugin": "^1.4.1", "ext-intl": "*", - "phpunit/phpunit": "^4.8.35 || ^5.7", - "squizlabs/php_codesniffer": "^1.5" + "phpunit/phpunit": "^7.5.20 || ^8.5.8 || ^9.4.2" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.8-dev" - } - }, "autoload": { "psr-4": { "Faker\\": "src/Faker/" @@ -4027,33 +6311,37 @@ "faker", "fixtures" ], - "time": "2018-07-12T10:23:15+00:00" + "support": { + "issues": "https://github.com/FakerPHP/Faker/issues", + "source": "https://github.com/FakerPHP/Faker/tree/v1.13.0" + }, + "time": "2020-12-18T16:50:48+00:00" }, { "name": "orchestra/testbench", - "version": "v3.8.2", + "version": "v6.7.2", "source": { "type": "git", "url": "https://github.com/orchestral/testbench.git", - "reference": "96aef2b9be81839ddf66405d0ecaf2f1598153fb" + "reference": "9d835af2510b4c581a8eb2952ef7412ed1e6a727" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/orchestral/testbench/zipball/96aef2b9be81839ddf66405d0ecaf2f1598153fb", - "reference": "96aef2b9be81839ddf66405d0ecaf2f1598153fb", + "url": "https://api.github.com/repos/orchestral/testbench/zipball/9d835af2510b4c581a8eb2952ef7412ed1e6a727", + "reference": "9d835af2510b4c581a8eb2952ef7412ed1e6a727", "shasum": "" }, "require": { - "laravel/framework": "~5.8.3", - "mockery/mockery": "^1.0", - "orchestra/testbench-core": "~3.8.2", - "php": ">=7.1", - "phpunit/phpunit": "^7.5 || ^8.0" + "laravel/framework": "^8.18.1", + "mockery/mockery": "^1.3.2", + "orchestra/testbench-core": "^6.9.2", + "php": ">=7.3 || >=8.0", + "phpunit/phpunit": "^8.4 || ^9.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.8-dev" + "dev-master": "6.0-dev" } }, "notification-url": "https://packagist.org/downloads/", @@ -4077,43 +6365,63 @@ "orchestral", "testing" ], - "time": "2019-04-20T16:13:31+00:00" + "support": { + "issues": "https://github.com/orchestral/testbench/issues", + "source": "https://github.com/orchestral/testbench/tree/v6.7.2" + }, + "funding": [ + { + "url": "https://paypal.me/crynobone", + "type": "custom" + }, + { + "url": "https://liberapay.com/crynobone", + "type": "liberapay" + } + ], + "time": "2020-12-30T12:57:51+00:00" }, { "name": "orchestra/testbench-core", - "version": "v3.8.2", + "version": "v6.9.2", "source": { "type": "git", "url": "https://github.com/orchestral/testbench-core.git", - "reference": "598caa6f7813b8a29b2f1b69912b40659dcef79b" + "reference": "389f145f7afbebc77765f3ef5d5af748fef0eebf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/598caa6f7813b8a29b2f1b69912b40659dcef79b", - "reference": "598caa6f7813b8a29b2f1b69912b40659dcef79b", + "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/389f145f7afbebc77765f3ef5d5af748fef0eebf", + "reference": "389f145f7afbebc77765f3ef5d5af748fef0eebf", "shasum": "" }, "require": { - "fzaninotto/faker": "^1.4", - "php": ">=7.1" + "fakerphp/faker": "^1.9.1", + "php": ">=7.2.5 || >=8.0", + "symfony/yaml": "^4.3 || ^5.0", + "vlucas/phpdotenv": "^5.1" }, "require-dev": { - "laravel/framework": "~5.8.3", - "laravel/laravel": "dev-master", - "mockery/mockery": "^1.0", - "phpunit/phpunit": "^7.5 || ^8.0" + "laravel/framework": "^8.0", + "laravel/laravel": "8.x-dev", + "mockery/mockery": "^1.3.2", + "orchestra/canvas": "^6.0", + "phpunit/phpunit": "^8.4 || ^9.0" }, "suggest": { - "laravel/framework": "Required for testing (~5.8.3).", - "mockery/mockery": "Allow to use Mockery for testing (^1.0).", - "orchestra/testbench-browser-kit": "Allow to use legacy Laravel BrowserKit for testing (^3.8).", - "orchestra/testbench-dusk": "Allow to use Laravel Dusk for testing (^3.8).", - "phpunit/phpunit": "Allow to use PHPUnit for testing (^7.5 || ^8.0)." + "laravel/framework": "Required for testing (^8.0).", + "mockery/mockery": "Allow using Mockery for testing (^1.3.2).", + "orchestra/testbench-browser-kit": "Allow using legacy Laravel BrowserKit for testing (^6.0).", + "orchestra/testbench-dusk": "Allow using Laravel Dusk for testing (^6.0).", + "phpunit/phpunit": "Allow using PHPUnit for testing (^8.4 || ^9.0)." }, + "bin": [ + "testbench" + ], "type": "library", "extra": { "branch-alias": { - "dev-master": "3.8-dev" + "dev-master": "6.0-dev" } }, "autoload": { @@ -4142,7 +6450,96 @@ "orchestral", "testing" ], - "time": "2019-04-10T12:50:29+00:00" + "support": { + "issues": "https://github.com/orchestral/testbench/issues", + "source": "https://github.com/orchestral/testbench-core" + }, + "funding": [ + { + "url": "https://paypal.me/crynobone", + "type": "custom" + }, + { + "url": "https://liberapay.com/crynobone", + "type": "liberapay" + } + ], + "time": "2020-12-30T12:42:02+00:00" + }, + { + "name": "symfony/yaml", + "version": "v5.2.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "290ea5e03b8cf9b42c783163123f54441fb06939" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/290ea5e03b8cf9b42c783163123f54441fb06939", + "reference": "290ea5e03b8cf9b42c783163123f54441fb06939", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "symfony/console": "<4.4" + }, + "require-dev": { + "symfony/console": "^4.4|^5.0" + }, + "suggest": { + "symfony/console": "For validating YAML files using the lint command" + }, + "bin": [ + "Resources/bin/yaml-lint" + ], + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Yaml Component", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/yaml/tree/v5.2.1" + }, + "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-12-08T17:02:38+00:00" } ], "aliases": [], @@ -4151,7 +6548,8 @@ "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": ">=7.0.0" + "php": "^7.3|^8.0" }, - "platform-dev": [] + "platform-dev": [], + "plugin-api-version": "2.0.0" } diff --git a/src/GeneratorCommand.php b/src/GeneratorCommand.php index b8dced3..8b9cb67 100644 --- a/src/GeneratorCommand.php +++ b/src/GeneratorCommand.php @@ -88,7 +88,7 @@ class GeneratorCommand extends Command $inputName = explode('/', ucfirst($modelName)); array_pop($inputName); - return implode('/', $inputName); + return implode('/', $inputName) ?: 'Models'; } /** diff --git a/src/stubs/controllers/full-formrequests.stub b/src/stubs/controllers/full-formrequests.stub index 31ddce3..8a2b08f 100644 --- a/src/stubs/controllers/full-formrequests.stub +++ b/src/stubs/controllers/full-formrequests.stub @@ -51,7 +51,7 @@ class MasterController extends Controller /** * Display the specified singleMstr. * - * @param \App\Master $singleMstr + * @param \App\Models\Master $singleMstr * @return \Illuminate\View\View */ public function show(Master $singleMstr) @@ -62,7 +62,7 @@ class MasterController extends Controller /** * Show the form for editing the specified singleMstr. * - * @param \App\Master $singleMstr + * @param \App\Models\Master $singleMstr * @return \Illuminate\View\View */ public function edit(Master $singleMstr) diff --git a/src/stubs/controllers/full.stub b/src/stubs/controllers/full.stub index 37424b7..41ca598 100644 --- a/src/stubs/controllers/full.stub +++ b/src/stubs/controllers/full.stub @@ -57,7 +57,7 @@ class MasterController extends Controller /** * Display the specified singleMstr. * - * @param \App\Master $singleMstr + * @param \App\Models\Master $singleMstr * @return \Illuminate\View\View */ public function show(Master $singleMstr) @@ -68,7 +68,7 @@ class MasterController extends Controller /** * Show the form for editing the specified singleMstr. * - * @param \App\Master $singleMstr + * @param \App\Models\Master $singleMstr * @return \Illuminate\View\View */ public function edit(Master $singleMstr) diff --git a/src/stubs/database/factories/model-factory.stub b/src/stubs/database/factories/model-factory.stub index 03761ff..c4c5caf 100644 --- a/src/stubs/database/factories/model-factory.stub +++ b/src/stubs/database/factories/model-factory.stub @@ -1,16 +1,23 @@ define(Master::class, function (Faker $faker) { +class MasterFactory extends Factory +{ + protected $model = Master::class; - return [ - 'name' => $faker->word, - 'description' => $faker->sentence, - 'creator_id' => function () { - return factory(User::class)->create()->id; - }, - ]; -}); + public function definition() + { + return [ + 'name' => $this->faker->word, + 'description' => $this->faker->sentence, + 'creator_id' => function () { + return User::factory()->create()->id; + }, + ]; + } +} diff --git a/src/stubs/models/model-formfield.stub b/src/stubs/models/model-formfield.stub index e722cc5..f755497 100644 --- a/src/stubs/models/model-formfield.stub +++ b/src/stubs/models/model-formfield.stub @@ -3,10 +3,13 @@ namespace mstrNmspc; use App\User; +use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Master extends Model { + use HasFactory; + protected $fillable = ['name', 'description', 'creator_id']; public function getNameLinkAttribute() diff --git a/src/stubs/models/model.stub b/src/stubs/models/model.stub index ab427dc..0c70568 100644 --- a/src/stubs/models/model.stub +++ b/src/stubs/models/model.stub @@ -3,10 +3,13 @@ namespace mstrNmspc; use App\User; +use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Master extends Model { + use HasFactory; + protected $fillable = ['name', 'description', 'creator_id']; public function getNameLinkAttribute() diff --git a/src/stubs/routes/api.stub b/src/stubs/routes/api.stub index f091613..342ccd5 100644 --- a/src/stubs/routes/api.stub +++ b/src/stubs/routes/api.stub @@ -2,4 +2,4 @@ /* * Masters Endpoints */ -Route::middleware('auth:api')->resource('masters', 'Api\MasterController')->names('api.masters'); +Route::middleware('auth:api')->resource('masters', App\Http\Controllers\Api\MasterController::class)->names('api.masters'); diff --git a/src/stubs/routes/web.stub b/src/stubs/routes/web.stub index fd9c2aa..36f6876 100644 --- a/src/stubs/routes/web.stub +++ b/src/stubs/routes/web.stub @@ -2,4 +2,4 @@ /* * Masters Routes */ -Route::resource('masters', 'MasterController'); +Route::resource('masters', App\Http\Controllers\MasterController::class); diff --git a/src/stubs/testcases/browserkit-base-class.stub b/src/stubs/testcases/browserkit-base-class.stub index e5bdc1f..f1ee9e8 100644 --- a/src/stubs/testcases/browserkit-base-class.stub +++ b/src/stubs/testcases/browserkit-base-class.stub @@ -2,7 +2,7 @@ namespace Tests; -use App\User; +use App\Models\User; use Laravel\BrowserKitTesting\TestCase as BaseTestCase; abstract class BrowserKitTest extends BaseTestCase @@ -21,6 +21,6 @@ abstract class BrowserKitTest extends BaseTestCase protected function createUser() { - return factory(User::class)->create(); + return User::factory()->create(); } } diff --git a/src/stubs/testcases/feature/api.stub b/src/stubs/testcases/feature/api.stub index ea35101..d7e12a7 100644 --- a/src/stubs/testcases/feature/api.stub +++ b/src/stubs/testcases/feature/api.stub @@ -14,7 +14,7 @@ class ManageMasterTest extends TestCase public function user_can_see_master_list_in_master_index_page() { $user = $this->createUser(); - $singleMstr = factory(Master::class)->create(); + $singleMstr = Master::factory()->create(); $this->getJson(route('api.masters.index'), [ 'Authorization' => 'Bearer '.$user->api_token @@ -111,7 +111,7 @@ class ManageMasterTest extends TestCase public function user_can_get_a_master_detail() { $user = $this->createUser(); - $singleMstr = factory(Master::class)->create(['name' => 'Testing 123']); + $singleMstr = Master::factory()->create(['name' => 'Testing 123']); $this->getJson(route('api.masters.show', $singleMstr), [ 'Authorization' => 'Bearer '.$user->api_token @@ -124,7 +124,7 @@ class ManageMasterTest extends TestCase public function user_can_update_a_master() { $user = $this->createUser(); - $singleMstr = factory(Master::class)->create(['name' => 'Testing 123']); + $singleMstr = Master::factory()->create(['name' => 'Testing 123']); $this->patchJson(route('api.masters.update', $singleMstr), [ 'name' => 'Master 1 name', @@ -158,7 +158,7 @@ class ManageMasterTest extends TestCase public function validate_master_name_update_is_required() { $user = $this->createUser(); - $singleMstr = factory(Master::class)->create(); + $singleMstr = Master::factory()->create(); // name empty $requestBody = $this->getEditFields(['name' => '']); @@ -176,7 +176,7 @@ class ManageMasterTest extends TestCase public function validate_master_name_update_is_not_more_than_60_characters() { $user = $this->createUser(); - $singleMstr = factory(Master::class)->create(); + $singleMstr = Master::factory()->create(); // name 70 characters $requestBody = $this->getEditFields(['name' => str_repeat('Test Title', 7)]); @@ -194,7 +194,7 @@ class ManageMasterTest extends TestCase public function validate_master_description_update_is_not_more_than_255_characters() { $user = $this->createUser(); - $singleMstr = factory(Master::class)->create(['name' => 'Testing 123']); + $singleMstr = Master::factory()->create(['name' => 'Testing 123']); // description 256 characters $requestBody = $this->getEditFields(['description' => str_repeat('Long description', 16)]); @@ -212,7 +212,7 @@ class ManageMasterTest extends TestCase public function user_can_delete_a_master() { $user = $this->createUser(); - $singleMstr = factory(Master::class)->create(); + $singleMstr = Master::factory()->create(); $this->deleteJson(route('api.masters.destroy', $singleMstr), [ 'master_id' => $singleMstr->id, diff --git a/src/stubs/testcases/feature/full.stub b/src/stubs/testcases/feature/full.stub index bcea142..22d4626 100644 --- a/src/stubs/testcases/feature/full.stub +++ b/src/stubs/testcases/feature/full.stub @@ -13,7 +13,7 @@ class ManageMasterTest extends TestCase /** @test */ public function user_can_see_master_list_in_master_index_page() { - $singleMstr = factory(Master::class)->create(); + $singleMstr = Master::factory()->create(); $this->loginAsUser(); $this->visitRoute('masters.index'); @@ -90,7 +90,7 @@ class ManageMasterTest extends TestCase public function user_can_edit_a_master() { $this->loginAsUser(); - $singleMstr = factory(Master::class)->create(['name' => 'Testing 123']); + $singleMstr = Master::factory()->create(['name' => 'Testing 123']); $this->visitRoute('masters.show', $singleMstr); $this->click('edit-master-'.$singleMstr->id); @@ -109,7 +109,7 @@ class ManageMasterTest extends TestCase public function validate_master_name_update_is_required() { $this->loginAsUser(); - $master = factory(Master::class)->create(['name' => 'Testing 123']); + $master = Master::factory()->create(['name' => 'Testing 123']); // name empty $this->patch(route('masters.update', $master), $this->getEditFields(['name' => ''])); @@ -120,7 +120,7 @@ class ManageMasterTest extends TestCase public function validate_master_name_update_is_not_more_than_60_characters() { $this->loginAsUser(); - $master = factory(Master::class)->create(['name' => 'Testing 123']); + $master = Master::factory()->create(['name' => 'Testing 123']); // name 70 characters $this->patch(route('masters.update', $master), $this->getEditFields([ @@ -133,7 +133,7 @@ class ManageMasterTest extends TestCase public function validate_master_description_update_is_not_more_than_255_characters() { $this->loginAsUser(); - $master = factory(Master::class)->create(['name' => 'Testing 123']); + $master = Master::factory()->create(['name' => 'Testing 123']); // description 256 characters $this->patch(route('masters.update', $master), $this->getEditFields([ @@ -146,8 +146,8 @@ class ManageMasterTest extends TestCase public function user_can_delete_a_master() { $this->loginAsUser(); - $singleMstr = factory(Master::class)->create(); - factory(Master::class)->create(); + $singleMstr = Master::factory()->create(); + Master::factory()->create(); $this->visitRoute('masters.edit', $singleMstr); $this->click('del-master-'.$singleMstr->id); diff --git a/src/stubs/testcases/feature/simple.stub b/src/stubs/testcases/feature/simple.stub index b4c0884..702a8bd 100644 --- a/src/stubs/testcases/feature/simple.stub +++ b/src/stubs/testcases/feature/simple.stub @@ -13,7 +13,7 @@ class ManageMasterTest extends TestCase /** @test */ public function user_can_see_master_list_in_master_index_page() { - $singleMstr = factory(Master::class)->create(); + $singleMstr = Master::factory()->create(); $this->loginAsUser(); $this->visitRoute('masters.index'); @@ -88,7 +88,7 @@ class ManageMasterTest extends TestCase public function user_can_edit_a_master_within_search_query() { $this->loginAsUser(); - $singleMstr = factory(Master::class)->create(['name' => 'Testing 123']); + $singleMstr = Master::factory()->create(['name' => 'Testing 123']); $this->visitRoute('masters.index', ['q' => '123']); $this->click('edit-master-'.$singleMstr->id); @@ -119,7 +119,7 @@ class ManageMasterTest extends TestCase public function validate_master_name_update_is_required() { $this->loginAsUser(); - $master = factory(Master::class)->create(['name' => 'Testing 123']); + $master = Master::factory()->create(['name' => 'Testing 123']); // name empty $this->patch(route('masters.update', $master), $this->getEditFields(['name' => ''])); @@ -130,7 +130,7 @@ class ManageMasterTest extends TestCase public function validate_master_name_update_is_not_more_than_60_characters() { $this->loginAsUser(); - $master = factory(Master::class)->create(['name' => 'Testing 123']); + $master = Master::factory()->create(['name' => 'Testing 123']); // name 70 characters $this->patch(route('masters.update', $master), $this->getEditFields([ @@ -143,7 +143,7 @@ class ManageMasterTest extends TestCase public function validate_master_description_update_is_not_more_than_255_characters() { $this->loginAsUser(); - $master = factory(Master::class)->create(['name' => 'Testing 123']); + $master = Master::factory()->create(['name' => 'Testing 123']); // description 256 characters $this->patch(route('masters.update', $master), $this->getEditFields([ @@ -156,8 +156,8 @@ class ManageMasterTest extends TestCase public function user_can_delete_a_master() { $this->loginAsUser(); - $singleMstr = factory(Master::class)->create(); - factory(Master::class)->create(); + $singleMstr = Master::factory()->create(); + Master::factory()->create(); $this->visitRoute('masters.index', ['action' => 'edit', 'id' => $singleMstr->id]); $this->click('del-master-'.$singleMstr->id); diff --git a/src/stubs/testcases/unit/model-formfield.stub b/src/stubs/testcases/unit/model-formfield.stub index a376315..059390c 100644 --- a/src/stubs/testcases/unit/model-formfield.stub +++ b/src/stubs/testcases/unit/model-formfield.stub @@ -14,7 +14,7 @@ class MasterTest extends TestCase /** @test */ public function a_master_has_name_link_attribute() { - $singleMstr = factory(Master::class)->create(); + $singleMstr = Master::factory()->create(); $this->assertEquals( link_to_route('masters.show', $singleMstr->name, [$singleMstr], [ @@ -29,7 +29,7 @@ class MasterTest extends TestCase /** @test */ public function a_master_has_belongs_to_creator_relation() { - $singleMstr = factory(Master::class)->make(); + $singleMstr = Master::factory()->make(); $this->assertInstanceOf(User::class, $singleMstr->creator); $this->assertEquals($singleMstr->creator_id, $singleMstr->creator->id); diff --git a/src/stubs/testcases/unit/model-policy.stub b/src/stubs/testcases/unit/model-policy.stub index 0ff2118..67e6ccd 100644 --- a/src/stubs/testcases/unit/model-policy.stub +++ b/src/stubs/testcases/unit/model-policy.stub @@ -21,7 +21,7 @@ class MasterPolicyTest extends TestCase public function user_can_view_master() { $user = $this->createUser(); - $singleMstr = factory(Master::class)->create(); + $singleMstr = Master::factory()->create(); $this->assertTrue($user->can('view', $singleMstr)); } @@ -29,7 +29,7 @@ class MasterPolicyTest extends TestCase public function user_can_update_master() { $user = $this->createUser(); - $singleMstr = factory(Master::class)->create(); + $singleMstr = Master::factory()->create(); $this->assertTrue($user->can('update', $singleMstr)); } @@ -37,7 +37,7 @@ class MasterPolicyTest extends TestCase public function user_can_delete_master() { $user = $this->createUser(); - $singleMstr = factory(Master::class)->create(); + $singleMstr = Master::factory()->create(); $this->assertTrue($user->can('delete', $singleMstr)); } } diff --git a/src/stubs/testcases/unit/model.stub b/src/stubs/testcases/unit/model.stub index 21fa2c0..ae388c2 100644 --- a/src/stubs/testcases/unit/model.stub +++ b/src/stubs/testcases/unit/model.stub @@ -14,7 +14,7 @@ class MasterTest extends TestCase /** @test */ public function a_master_has_name_link_attribute() { - $singleMstr = factory(Master::class)->create(); + $singleMstr = Master::factory()->create(); $title = __('app.show_detail_title', [ 'name' => $singleMstr->name, 'type' => __('master.master'), @@ -30,7 +30,7 @@ class MasterTest extends TestCase /** @test */ public function a_master_has_belongs_to_creator_relation() { - $singleMstr = factory(Master::class)->make(); + $singleMstr = Master::factory()->make(); $this->assertInstanceOf(User::class, $singleMstr->creator); $this->assertEquals($singleMstr->creator_id, $singleMstr->creator->id); diff --git a/tests/CommandOptions/FullCrudBs3OptionsTest.php b/tests/CommandOptions/FullCrudBs3OptionsTest.php index 823f3eb..cfb9d5d 100644 --- a/tests/CommandOptions/FullCrudBs3OptionsTest.php +++ b/tests/CommandOptions/FullCrudBs3OptionsTest.php @@ -2,8 +2,8 @@ namespace Tests\CommandOptions; -use Tests\TestCase; use Illuminate\Contracts\Console\Kernel; +use Tests\TestCase; class FullCrudBs3OptionsTest extends TestCase { @@ -12,9 +12,9 @@ class FullCrudBs3OptionsTest extends TestCase { $this->artisan('make:crud', ['name' => $this->model_name, '--bs3' => true]); - $this->assertNotContains("{$this->model_name} model already exists.", app(Kernel::class)->output()); + $this->assertStringNotContainsString("{$this->model_name} model already exists.", app(Kernel::class)->output()); - $this->assertFileExists(app_path($this->model_name.'.php')); + $this->assertFileExists(app_path('Models/'.$this->model_name.'.php')); $this->assertFileExists(app_path("Http/Controllers/{$this->model_name}Controller.php")); $migrationFilePath = database_path('migrations/'.date('Y_m_d_His').'_create_'.$this->table_name.'_table.php'); @@ -23,7 +23,7 @@ class FullCrudBs3OptionsTest extends TestCase $this->assertFileExists(resource_path("views/{$this->table_name}/index.blade.php")); $this->assertFileExists(resource_path("views/{$this->table_name}/create.blade.php")); $this->assertFileExists(resource_path("views/{$this->table_name}/edit.blade.php")); - $this->assertFileNotExists(resource_path("views/{$this->table_name}/forms.blade.php")); + $this->assertFileDoesNotExist(resource_path("views/{$this->table_name}/forms.blade.php")); $localeConfig = config('app.locale'); $this->assertFileExists(resource_path("lang/{$localeConfig}/{$this->lang_name}.php")); diff --git a/tests/CommandOptions/FullCrudFormRequestOptionsTest.php b/tests/CommandOptions/FullCrudFormRequestOptionsTest.php index 4cac918..a2420c6 100644 --- a/tests/CommandOptions/FullCrudFormRequestOptionsTest.php +++ b/tests/CommandOptions/FullCrudFormRequestOptionsTest.php @@ -2,8 +2,8 @@ namespace Tests\CommandOptions; -use Tests\TestCase; use Illuminate\Contracts\Console\Kernel; +use Tests\TestCase; class FullCrudFormRequestOptionsTest extends TestCase { @@ -12,9 +12,9 @@ class FullCrudFormRequestOptionsTest extends TestCase { $this->artisan('make:crud', ['name' => $this->model_name, '--no-interaction' => true, '--form-requests' => true]); - $this->assertNotContains("{$this->model_name} model already exists.", app(Kernel::class)->output()); + $this->assertStringNotContainsString("{$this->model_name} model already exists.", app(Kernel::class)->output()); - $this->assertFileExists(app_path($this->model_name.'.php')); + $this->assertFileExists(app_path('Models/'.$this->model_name.'.php')); $this->assertFileExists(app_path("Http/Controllers/{$this->model_name}Controller.php")); $this->assertFileExists(app_path("Http/Requests/{$this->plural_model_name}/CreateRequest.php")); $this->assertFileExists(app_path("Http/Requests/{$this->plural_model_name}/UpdateRequest.php")); @@ -25,7 +25,7 @@ class FullCrudFormRequestOptionsTest extends TestCase $this->assertFileExists(resource_path("views/{$this->table_name}/index.blade.php")); $this->assertFileExists(resource_path("views/{$this->table_name}/create.blade.php")); $this->assertFileExists(resource_path("views/{$this->table_name}/edit.blade.php")); - $this->assertFileNotExists(resource_path("views/{$this->table_name}/forms.blade.php")); + $this->assertFileDoesNotExist(resource_path("views/{$this->table_name}/forms.blade.php")); $localeConfig = config('app.locale'); $this->assertFileExists(resource_path("lang/{$localeConfig}/{$this->lang_name}.php")); diff --git a/tests/CommandOptions/FullCrudFormfieldBs3OptionsTest.php b/tests/CommandOptions/FullCrudFormfieldBs3OptionsTest.php index 758b7b8..745ff7b 100644 --- a/tests/CommandOptions/FullCrudFormfieldBs3OptionsTest.php +++ b/tests/CommandOptions/FullCrudFormfieldBs3OptionsTest.php @@ -2,8 +2,8 @@ namespace Tests\CommandOptions; -use Tests\TestCase; use Illuminate\Contracts\Console\Kernel; +use Tests\TestCase; class FullCrudFormfieldBs3OptionsTest extends TestCase { @@ -12,9 +12,9 @@ class FullCrudFormfieldBs3OptionsTest extends TestCase { $this->artisan('make:crud', ['name' => $this->model_name, '--formfield' => true, '--bs3' => true]); - $this->assertNotContains("{$this->model_name} model already exists.", app(Kernel::class)->output()); + $this->assertStringNotContainsString("{$this->model_name} model already exists.", app(Kernel::class)->output()); - $this->assertFileExists(app_path($this->model_name.'.php')); + $this->assertFileExists(app_path('Models/'.$this->model_name.'.php')); $this->assertFileExists(app_path("Http/Controllers/{$this->model_name}Controller.php")); $migrationFilePath = database_path('migrations/'.date('Y_m_d_His').'_create_'.$this->table_name.'_table.php'); @@ -23,7 +23,7 @@ class FullCrudFormfieldBs3OptionsTest extends TestCase $this->assertFileExists(resource_path("views/{$this->table_name}/index.blade.php")); $this->assertFileExists(resource_path("views/{$this->table_name}/create.blade.php")); $this->assertFileExists(resource_path("views/{$this->table_name}/edit.blade.php")); - $this->assertFileNotExists(resource_path("views/{$this->table_name}/forms.blade.php")); + $this->assertFileDoesNotExist(resource_path("views/{$this->table_name}/forms.blade.php")); $localeConfig = config('app.locale'); $this->assertFileExists(resource_path("lang/{$localeConfig}/{$this->lang_name}.php")); diff --git a/tests/CommandOptions/FullCrudFormfieldOptionsTest.php b/tests/CommandOptions/FullCrudFormfieldOptionsTest.php index 262f7d2..f646a86 100644 --- a/tests/CommandOptions/FullCrudFormfieldOptionsTest.php +++ b/tests/CommandOptions/FullCrudFormfieldOptionsTest.php @@ -2,8 +2,8 @@ namespace Tests\CommandOptions; -use Tests\TestCase; use Illuminate\Contracts\Console\Kernel; +use Tests\TestCase; class FullCrudFormfieldOptionsTest extends TestCase { @@ -12,9 +12,9 @@ class FullCrudFormfieldOptionsTest extends TestCase { $this->artisan('make:crud', ['name' => $this->model_name, '--formfield' => true]); - $this->assertNotContains("{$this->model_name} model already exists.", app(Kernel::class)->output()); + $this->assertStringNotContainsString("{$this->model_name} model already exists.", app(Kernel::class)->output()); - $this->assertFileExists(app_path($this->model_name.'.php')); + $this->assertFileExists(app_path('Models/'.$this->model_name.'.php')); $this->assertFileExists(app_path("Http/Controllers/{$this->model_name}Controller.php")); $migrationFilePath = database_path('migrations/'.date('Y_m_d_His').'_create_'.$this->table_name.'_table.php'); @@ -23,7 +23,7 @@ class FullCrudFormfieldOptionsTest extends TestCase $this->assertFileExists(resource_path("views/{$this->table_name}/index.blade.php")); $this->assertFileExists(resource_path("views/{$this->table_name}/create.blade.php")); $this->assertFileExists(resource_path("views/{$this->table_name}/edit.blade.php")); - $this->assertFileNotExists(resource_path("views/{$this->table_name}/forms.blade.php")); + $this->assertFileDoesNotExist(resource_path("views/{$this->table_name}/forms.blade.php")); $localeConfig = config('app.locale'); $this->assertFileExists(resource_path("lang/{$localeConfig}/{$this->lang_name}.php")); @@ -243,19 +243,23 @@ class FullCrudFormfieldOptionsTest extends TestCase /** @test */ public function it_creates_correct_model_class_with_link_to_route_helper() { + config(['auth.providers.users.model' => 'App\Models\User']); $this->artisan('make:crud', ['name' => $this->model_name, '--formfield' => true]); - $modelPath = app_path($this->model_name.'.php'); + $modelPath = app_path('Models/'.$this->model_name.'.php'); $this->assertFileExists($modelPath); $modelClassContent = "model_name} extends Model { + use HasFactory; + protected \$fillable = ['name', 'description', 'creator_id']; public function getNameLinkAttribute() @@ -280,6 +284,7 @@ class {$this->model_name} extends Model /** @test */ public function it_creates_correct_unit_test_class_with_link_to_route_helper() { + config(['auth.providers.users.model' => 'App\User']); $this->artisan('make:crud', ['name' => $this->model_name, '--formfield' => true]); $uniTestPath = base_path("tests/Unit/Models/{$this->model_name}Test.php"); @@ -300,7 +305,7 @@ class {$this->model_name}Test extends TestCase /** @test */ public function a_{$this->lang_name}_has_name_link_attribute() { - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(); \$this->assertEquals( link_to_route('{$this->table_name}.show', \${$this->single_model_var_name}->name, [\${$this->single_model_var_name}], [ @@ -315,7 +320,7 @@ class {$this->model_name}Test extends TestCase /** @test */ public function a_{$this->lang_name}_has_belongs_to_creator_relation() { - \${$this->single_model_var_name} = factory({$this->model_name}::class)->make(); + \${$this->single_model_var_name} = {$this->model_name}::factory()->make(); \$this->assertInstanceOf(User::class, \${$this->single_model_var_name}->creator); \$this->assertEquals(\${$this->single_model_var_name}->creator_id, \${$this->single_model_var_name}->creator->id); diff --git a/tests/CommandOptions/SimpleCrudBs3OptionsTest.php b/tests/CommandOptions/SimpleCrudBs3OptionsTest.php index f3f7aa3..74b99bc 100644 --- a/tests/CommandOptions/SimpleCrudBs3OptionsTest.php +++ b/tests/CommandOptions/SimpleCrudBs3OptionsTest.php @@ -2,8 +2,8 @@ namespace Tests\CommandOptions; -use Tests\TestCase; use Illuminate\Contracts\Console\Kernel; +use Tests\TestCase; class SimpleCrudBs3OptionsTest extends TestCase { @@ -12,9 +12,9 @@ class SimpleCrudBs3OptionsTest extends TestCase { $this->artisan('make:crud-simple', ['name' => $this->model_name, '--bs3' => true]); - $this->assertNotContains("{$this->model_name} model already exists.", app(Kernel::class)->output()); + $this->assertStringNotContainsString("{$this->model_name} model already exists.", app(Kernel::class)->output()); - $this->assertFileExists(app_path($this->model_name.'.php')); + $this->assertFileExists(app_path('Models/'.$this->model_name.'.php')); $this->assertFileExists(app_path("Http/Controllers/{$this->model_name}Controller.php")); $migrationFilePath = database_path('migrations/'.date('Y_m_d_His').'_create_'.$this->table_name.'_table.php'); diff --git a/tests/CommandOptions/SimpleCrudFormfieldBs3OptionsTest.php b/tests/CommandOptions/SimpleCrudFormfieldBs3OptionsTest.php index 2ead7b4..7d65084 100644 --- a/tests/CommandOptions/SimpleCrudFormfieldBs3OptionsTest.php +++ b/tests/CommandOptions/SimpleCrudFormfieldBs3OptionsTest.php @@ -2,8 +2,8 @@ namespace Tests\CommandOptions; -use Tests\TestCase; use Illuminate\Contracts\Console\Kernel; +use Tests\TestCase; class SimpleCrudFormfieldBs3OptionsTest extends TestCase { @@ -12,9 +12,9 @@ class SimpleCrudFormfieldBs3OptionsTest extends TestCase { $this->artisan('make:crud-simple', ['name' => $this->model_name, '--formfield' => true, '--bs3' => true]); - $this->assertNotContains("{$this->model_name} model already exists.", app(Kernel::class)->output()); + $this->assertStringNotContainsString("{$this->model_name} model already exists.", app(Kernel::class)->output()); - $this->assertFileExists(app_path($this->model_name.'.php')); + $this->assertFileExists(app_path('Models/'.$this->model_name.'.php')); $this->assertFileExists(app_path("Http/Controllers/{$this->model_name}Controller.php")); $migrationFilePath = database_path('migrations/'.date('Y_m_d_His').'_create_'.$this->table_name.'_table.php'); diff --git a/tests/CommandOptions/SimpleCrudFormfieldOptionsTest.php b/tests/CommandOptions/SimpleCrudFormfieldOptionsTest.php index 48b9386..48a61d4 100644 --- a/tests/CommandOptions/SimpleCrudFormfieldOptionsTest.php +++ b/tests/CommandOptions/SimpleCrudFormfieldOptionsTest.php @@ -2,8 +2,8 @@ namespace Tests\CommandOptions; -use Tests\TestCase; use Illuminate\Contracts\Console\Kernel; +use Tests\TestCase; class SimpleCrudFormfieldOptionsTest extends TestCase { @@ -12,9 +12,9 @@ class SimpleCrudFormfieldOptionsTest extends TestCase { $this->artisan('make:crud-simple', ['name' => $this->model_name, '--formfield' => true]); - $this->assertNotContains("{$this->model_name} model already exists.", app(Kernel::class)->output()); + $this->assertStringNotContainsString("{$this->model_name} model already exists.", app(Kernel::class)->output()); - $this->assertFileExists(app_path($this->model_name.'.php')); + $this->assertFileExists(app_path('Models/'.$this->model_name.'.php')); $this->assertFileExists(app_path("Http/Controllers/{$this->model_name}Controller.php")); $migrationFilePath = database_path('migrations/'.date('Y_m_d_His').'_create_'.$this->table_name.'_table.php'); diff --git a/tests/CommandOptions/TestsOnlyOptionsTest.php b/tests/CommandOptions/TestsOnlyOptionsTest.php index b89f2ec..f5e003c 100644 --- a/tests/CommandOptions/TestsOnlyOptionsTest.php +++ b/tests/CommandOptions/TestsOnlyOptionsTest.php @@ -2,10 +2,10 @@ namespace Tests\CommandOptions; -use Tests\TestCase; use Illuminate\Contracts\Console\Kernel; +use Tests\TestCase; -class TestOnlyOptionsTest extends TestCase +class TestsOnlyOptionsTest extends TestCase { /** @test */ public function it_can_generate_only_tests_files() @@ -17,28 +17,28 @@ class TestOnlyOptionsTest extends TestCase $output = app(Kernel::class)->output(); - $this->assertNotContains("{$this->model_name} model already exists.", $output); + $this->assertStringNotContainsString("{$this->model_name} model already exists.", $output); - $this->assertFileNotExists(app_path($this->model_name.'.php')); - $this->assertFileNotExists(app_path("Http/Controllers/{$this->model_name}Controller.php")); + $this->assertFileDoesNotExist(app_path($this->model_name.'.php')); + $this->assertFileDoesNotExist(app_path("Http/Controllers/{$this->model_name}Controller.php")); $migrationFilePath = database_path('migrations/'.date('Y_m_d_His').'_create_'.$this->table_name.'_table.php'); - $this->assertFileNotExists($migrationFilePath); + $this->assertFileDoesNotExist($migrationFilePath); - $this->assertFileNotExists(resource_path("views/{$this->table_name}/index.blade.php")); - $this->assertFileNotExists(resource_path("views/{$this->table_name}/forms.blade.php")); + $this->assertFileDoesNotExist(resource_path("views/{$this->table_name}/index.blade.php")); + $this->assertFileDoesNotExist(resource_path("views/{$this->table_name}/forms.blade.php")); $localeConfig = config('app.locale'); - $this->assertFileNotExists(resource_path("lang/{$localeConfig}/{$this->lang_name}.php")); + $this->assertFileDoesNotExist(resource_path("lang/{$localeConfig}/{$this->lang_name}.php")); - $this->assertFileNotExists(base_path("routes/web.php")); - $this->assertFileNotExists(app_path("Policies/{$this->model_name}Policy.php")); - $this->assertFileNotExists(database_path("factories/{$this->model_name}Factory.php")); + $this->assertFileDoesNotExist(base_path("routes/web.php")); + $this->assertFileDoesNotExist(app_path("Policies/{$this->model_name}Policy.php")); + $this->assertFileDoesNotExist(database_path("factories/{$this->model_name}Factory.php")); $this->assertFileExists(base_path("tests/Unit/Models/{$this->model_name}Test.php")); $this->assertFileExists(base_path("tests/Unit/Policies/{$this->model_name}PolicyTest.php")); $this->assertFileExists(base_path("tests/Feature/Manage{$this->model_name}Test.php")); - $this->assertContains('Test files generated successfully!', $output); + $this->assertStringContainsString('Test files generated successfully!', $output); } } diff --git a/tests/CrudApiMakeCommandTest.php b/tests/CrudApiMakeCommandTest.php index f2f2e19..60a5360 100644 --- a/tests/CrudApiMakeCommandTest.php +++ b/tests/CrudApiMakeCommandTest.php @@ -11,16 +11,16 @@ class CrudApiMakeCommandTest extends TestCase { $this->artisan('make:crud-api', ['name' => $this->model_name, '--no-interaction' => true]); - $this->assertNotContains("{$this->model_name} model already exists.", app(Kernel::class)->output()); + $this->assertStringNotContainsString("{$this->model_name} model already exists.", app(Kernel::class)->output()); - $this->assertFileExists(app_path($this->model_name.'.php')); + $this->assertFileExists(app_path('Models/'.$this->model_name.'.php')); $this->assertFileExists(app_path("Http/Controllers/Api/{$this->model_name}Controller.php")); $migrationFilePath = database_path('migrations/'.date('Y_m_d_His').'_create_'.$this->table_name.'_table.php'); $this->assertFileExists($migrationFilePath); - $this->assertFileNotExists(resource_path("views/{$this->table_name}/index.blade.php")); - $this->assertFileNotExists(resource_path("views/{$this->table_name}/forms.blade.php")); + $this->assertFileDoesNotExist(resource_path("views/{$this->table_name}/index.blade.php")); + $this->assertFileDoesNotExist(resource_path("views/{$this->table_name}/forms.blade.php")); $localeConfig = config('app.locale'); $this->assertFileExists(resource_path("lang/{$localeConfig}/{$this->lang_name}.php")); @@ -36,25 +36,24 @@ class CrudApiMakeCommandTest extends TestCase /** @test */ public function it_generate_api_crud_files_even_if_model_exists() { - $this->artisan('make:model', ['name' => $this->model_name, '--no-interaction' => true]); + $this->artisan('make:model', ['name' => 'Models/'.$this->model_name, '--no-interaction' => true]); $this->artisan('make:crud-api', ['name' => $this->model_name, '--no-interaction' => true]); - $this->assertContains("We will use existing {$this->model_name} model.", app(Kernel::class)->output()); - - $this->assertFileExists(app_path($this->model_name.'.php')); + $this->assertStringContainsString("We will use existing {$this->model_name} model.", app(Kernel::class)->output()); + $this->assertFileExists(app_path('Models/'.$this->model_name.'.php')); $this->assertFileExists(app_path("Http/Controllers/Api/{$this->model_name}Controller.php")); $migrationFilePath = database_path('migrations/'.date('Y_m_d_His').'_create_'.$this->table_name.'_table.php'); - $this->assertFileNotExists($migrationFilePath); + $this->assertFileDoesNotExist($migrationFilePath); $localeConfig = config('app.locale'); - $this->assertFileNotExists(resource_path("lang/{$localeConfig}/{$this->lang_name}.php")); + $this->assertFileDoesNotExist(resource_path("lang/{$localeConfig}/{$this->lang_name}.php")); - $this->assertFileNotExists(base_path("routes/web.php")); - $this->assertFileNotExists(app_path("Policies/{$this->model_name}Policy.php")); - $this->assertFileNotExists(database_path("factories/{$this->model_name}Factory.php")); - $this->assertFileNotExists(base_path("tests/Unit/Models/{$this->model_name}Test.php")); - $this->assertFileNotExists(base_path("tests/Unit/Policies/{$this->model_name}PolicyTest.php")); + $this->assertFileDoesNotExist(base_path("routes/web.php")); + $this->assertFileDoesNotExist(app_path("Policies/{$this->model_name}Policy.php")); + $this->assertFileDoesNotExist(database_path("factories/{$this->model_name}Factory.php")); + $this->assertFileDoesNotExist(base_path("tests/Unit/Models/{$this->model_name}Test.php")); + $this->assertFileDoesNotExist(base_path("tests/Unit/Policies/{$this->model_name}PolicyTest.php")); $this->assertFileExists(base_path("tests/Feature/Api/Manage{$this->model_name}Test.php")); } @@ -64,24 +63,24 @@ class CrudApiMakeCommandTest extends TestCase $this->artisan('make:model', ['name' => 'Entities/Projects/Problem', '--no-interaction' => true]); $this->artisan('make:crud-api', ['name' => 'Entities/Projects/Problem', '--no-interaction' => true]); - $this->assertContains("We will use existing Problem model.", app(Kernel::class)->output()); + $this->assertStringContainsString("We will use existing Problem model.", app(Kernel::class)->output()); $this->assertFileExists(app_path('Entities/Projects/Problem.php')); $this->assertFileExists(app_path("Http/Controllers/Api/ProblemController.php")); $migrationFilePath = database_path('migrations/'.date('Y_m_d_His').'_create_problems_table.php'); - $this->assertFileNotExists($migrationFilePath); + $this->assertFileDoesNotExist($migrationFilePath); - $this->assertFileNotExists(resource_path("views/problems/index.blade.php")); - $this->assertFileNotExists(resource_path("views/problems/forms.blade.php")); + $this->assertFileDoesNotExist(resource_path("views/problems/index.blade.php")); + $this->assertFileDoesNotExist(resource_path("views/problems/forms.blade.php")); $localeConfig = config('app.locale'); - $this->assertFileNotExists(resource_path("lang/{$localeConfig}/{$this->lang_name}.php")); + $this->assertFileDoesNotExist(resource_path("lang/{$localeConfig}/{$this->lang_name}.php")); - $this->assertFileNotExists(app_path("Policies/ProblemPolicy.php")); - $this->assertFileNotExists(database_path("factories/ProblemFactory.php")); - $this->assertFileNotExists(base_path("tests/Unit/Models/ProblemTest.php")); - $this->assertFileNotExists(base_path("tests/Unit/Policies/ProblemPolicyTest.php")); + $this->assertFileDoesNotExist(app_path("Policies/ProblemPolicy.php")); + $this->assertFileDoesNotExist(database_path("factories/ProblemFactory.php")); + $this->assertFileDoesNotExist(base_path("tests/Unit/Models/ProblemTest.php")); + $this->assertFileDoesNotExist(base_path("tests/Unit/Policies/ProblemPolicyTest.php")); $this->assertFileExists(base_path("tests/Feature/Api/ManageProblemTest.php")); $this->removeFileOrDir(app_path('Entities/Projects')); @@ -101,7 +100,7 @@ class CrudApiMakeCommandTest extends TestCase $this->artisan('make:crud-api', ['name' => $inputName, '--no-interaction' => true]); - $this->assertNotContains("{$modelName} model already exists.", app(Kernel::class)->output()); + $this->assertStringNotContainsString("{$modelName} model already exists.", app(Kernel::class)->output()); $this->assertFileExists(app_path($modelPath.'/'.$modelName.'.php')); $this->assertFileExists(app_path("Http/Controllers/Api/{$modelName}Controller.php")); @@ -109,8 +108,8 @@ class CrudApiMakeCommandTest extends TestCase $migrationFilePath = database_path('migrations/'.date('Y_m_d_His').'_create_'.$tableName.'_table.php'); $this->assertFileExists($migrationFilePath); - $this->assertFileNotExists(resource_path("views/{$tableName}/index.blade.php")); - $this->assertFileNotExists(resource_path("views/{$tableName}/forms.blade.php")); + $this->assertFileDoesNotExist(resource_path("views/{$tableName}/index.blade.php")); + $this->assertFileDoesNotExist(resource_path("views/{$tableName}/forms.blade.php")); $localeConfig = config('app.locale'); $this->assertFileExists(resource_path("lang/{$localeConfig}/{$langName}.php")); @@ -135,7 +134,7 @@ class CrudApiMakeCommandTest extends TestCase $this->artisan('make:crud-api', ['name' => $inputName, '--parent' => $parentName, '--no-interaction' => true]); - $this->assertNotContains("{$modelName} model already exists.", app(Kernel::class)->output()); + $this->assertStringNotContainsString("{$modelName} model already exists.", app(Kernel::class)->output()); $this->assertFileExists(app_path($modelPath.'/'.$modelName.'.php')); $this->assertFileExists(app_path("Http/Controllers/Api/{$parentName}/{$modelName}Controller.php")); @@ -143,8 +142,8 @@ class CrudApiMakeCommandTest extends TestCase $migrationFilePath = database_path('migrations/'.date('Y_m_d_His').'_create_'.$tableName.'_table.php'); $this->assertFileExists($migrationFilePath); - $this->assertFileNotExists(resource_path("views/{$tableName}/index.blade.php")); - $this->assertFileNotExists(resource_path("views/{$tableName}/forms.blade.php")); + $this->assertFileDoesNotExist(resource_path("views/{$tableName}/index.blade.php")); + $this->assertFileDoesNotExist(resource_path("views/{$tableName}/forms.blade.php")); $localeConfig = config('app.locale'); $this->assertFileExists(resource_path("lang/{$localeConfig}/{$langName}.php")); diff --git a/tests/CrudMakeClassPropertiesTest.php b/tests/CrudMakeClassPropertiesTest.php index afe12f7..49be9d1 100644 --- a/tests/CrudMakeClassPropertiesTest.php +++ b/tests/CrudMakeClassPropertiesTest.php @@ -16,14 +16,14 @@ class CrudMakeClassPropertiesTest extends TestCase public function it_has_stub_model_names_property() { $this->assertEquals([ - 'model_namespace' => 'mstrNmspc', - 'full_model_name' => 'fullMstr', - 'plural_model_name' => 'Masters', - 'model_name' => 'Master', - 'table_name' => 'masters', - 'lang_name' => 'master', + 'model_namespace' => 'mstrNmspc', + 'full_model_name' => 'fullMstr', + 'plural_model_name' => 'Masters', + 'model_name' => 'Master', + 'table_name' => 'masters', + 'lang_name' => 'master', 'collection_model_var_name' => 'mstrCollections', - 'single_model_var_name' => 'singleMstr', + 'single_model_var_name' => 'singleMstr', ], $this->crudMaker->stubModelNames); } @@ -31,27 +31,27 @@ class CrudMakeClassPropertiesTest extends TestCase public function it_has_model_names_property() { $this->assertEquals([ - 'full_model_name' => 'App\Category', - 'plural_model_name' => 'Categories', - 'model_name' => 'Category', - 'table_name' => 'categories', - 'lang_name' => 'category', + 'full_model_name' => 'App\Models\Category', + 'plural_model_name' => 'Categories', + 'model_name' => 'Category', + 'table_name' => 'categories', + 'lang_name' => 'category', 'collection_model_var_name' => 'categories', - 'single_model_var_name' => 'category', - 'model_path' => '', - 'model_namespace' => 'App', + 'single_model_var_name' => 'category', + 'model_path' => 'Models', + 'model_namespace' => 'App\Models', ], $this->crudMaker->getModelName('Category')); $this->assertEquals([ - 'full_model_name' => 'App\Category', - 'plural_model_name' => 'Categories', - 'model_name' => 'Category', - 'table_name' => 'categories', - 'lang_name' => 'category', + 'full_model_name' => 'App\Models\Category', + 'plural_model_name' => 'Categories', + 'model_name' => 'Category', + 'table_name' => 'categories', + 'lang_name' => 'category', 'collection_model_var_name' => 'categories', - 'single_model_var_name' => 'category', - 'model_path' => '', - 'model_namespace' => 'App', + 'single_model_var_name' => 'category', + 'model_path' => 'Models', + 'model_namespace' => 'App\Models', ], $this->crudMaker->getModelName('category')); } @@ -59,39 +59,39 @@ class CrudMakeClassPropertiesTest extends TestCase public function it_set_proper_model_names_property_for_namespaced_model_name_entry() { $this->assertEquals([ - 'model_namespace' => 'App\Entities\References', - 'full_model_name' => 'App\Entities\References\Category', - 'plural_model_name' => 'Categories', - 'model_name' => 'Category', - 'table_name' => 'categories', - 'lang_name' => 'category', + 'model_namespace' => 'App\Entities\References', + 'full_model_name' => 'App\Entities\References\Category', + 'plural_model_name' => 'Categories', + 'model_name' => 'Category', + 'table_name' => 'categories', + 'lang_name' => 'category', 'collection_model_var_name' => 'categories', - 'single_model_var_name' => 'category', - 'model_path' => 'Entities/References', + 'single_model_var_name' => 'category', + 'model_path' => 'Entities/References', ], $this->crudMaker->getModelName('Entities/References/Category')); $this->assertEquals([ - 'model_namespace' => 'App\Models', - 'full_model_name' => 'App\Models\Category', - 'plural_model_name' => 'Categories', - 'model_name' => 'Category', - 'table_name' => 'categories', - 'lang_name' => 'category', + 'model_namespace' => 'App\Models', + 'full_model_name' => 'App\Models\Category', + 'plural_model_name' => 'Categories', + 'model_name' => 'Category', + 'table_name' => 'categories', + 'lang_name' => 'category', 'collection_model_var_name' => 'categories', - 'single_model_var_name' => 'category', - 'model_path' => 'Models', + 'single_model_var_name' => 'category', + 'model_path' => 'Models', ], $this->crudMaker->getModelName('Models/Category')); $this->assertEquals([ - 'model_namespace' => 'App\Models', - 'full_model_name' => 'App\Models\Category', - 'plural_model_name' => 'Categories', - 'model_name' => 'Category', - 'table_name' => 'categories', - 'lang_name' => 'category', + 'model_namespace' => 'App\Models', + 'full_model_name' => 'App\Models\Category', + 'plural_model_name' => 'Categories', + 'model_name' => 'Category', + 'table_name' => 'categories', + 'lang_name' => 'category', 'collection_model_var_name' => 'categories', - 'single_model_var_name' => 'category', - 'model_path' => 'Models', + 'single_model_var_name' => 'category', + 'model_path' => 'Models', ], $this->crudMaker->getModelName('models/category')); } } diff --git a/tests/CrudMakeCommandTest.php b/tests/CrudMakeCommandTest.php index ebb4ca1..d34c46f 100644 --- a/tests/CrudMakeCommandTest.php +++ b/tests/CrudMakeCommandTest.php @@ -11,9 +11,9 @@ class CrudMakeCommandTest extends TestCase { $this->artisan('make:crud', ['name' => $this->model_name, '--no-interaction' => true]); - $this->assertNotContains("{$this->model_name} model already exists.", app(Kernel::class)->output()); + $this->assertStringNotContainsString("{$this->model_name} model already exists.", app(Kernel::class)->output()); - $this->assertFileExists(app_path($this->model_name.'.php')); + $this->assertFileExists(app_path('Models/'.$this->model_name.'.php')); $this->assertFileExists(app_path("Http/Controllers/{$this->model_name}Controller.php")); $migrationFilePath = database_path('migrations/'.date('Y_m_d_His').'_create_'.$this->table_name.'_table.php'); @@ -22,7 +22,7 @@ class CrudMakeCommandTest extends TestCase $this->assertFileExists(resource_path("views/{$this->table_name}/index.blade.php")); $this->assertFileExists(resource_path("views/{$this->table_name}/create.blade.php")); $this->assertFileExists(resource_path("views/{$this->table_name}/edit.blade.php")); - $this->assertFileNotExists(resource_path("views/{$this->table_name}/forms.blade.php")); + $this->assertFileDoesNotExist(resource_path("views/{$this->table_name}/forms.blade.php")); $localeConfig = config('app.locale'); $this->assertFileExists(resource_path("lang/{$localeConfig}/{$this->lang_name}.php")); @@ -39,11 +39,11 @@ class CrudMakeCommandTest extends TestCase public function it_generates_crud_files_for_existing_model() { $this->mockConsoleOutput = true; - $this->artisan('make:model', ['name' => $this->model_name, '--no-interaction' => true]); + $this->artisan('make:model', ['name' => 'Models/'.$this->model_name, '--no-interaction' => true]); $this->artisan('make:crud', ['name' => $this->model_name, '--no-interaction' => true]) ->expectsQuestion('Model file exists, are you sure to generate CRUD files?', true); - $this->assertFileExists(app_path($this->model_name.'.php')); + $this->assertFileExists(app_path('Models/'.$this->model_name.'.php')); $this->assertFileExists(app_path("Http/Controllers/{$this->model_name}Controller.php")); $migrationFilePath = database_path('migrations/'.date('Y_m_d_His').'_create_'.$this->table_name.'_table.php'); @@ -52,7 +52,7 @@ class CrudMakeCommandTest extends TestCase $this->assertFileExists(resource_path("views/{$this->table_name}/index.blade.php")); $this->assertFileExists(resource_path("views/{$this->table_name}/create.blade.php")); $this->assertFileExists(resource_path("views/{$this->table_name}/edit.blade.php")); - $this->assertFileNotExists(resource_path("views/{$this->table_name}/forms.blade.php")); + $this->assertFileDoesNotExist(resource_path("views/{$this->table_name}/forms.blade.php")); $localeConfig = config('app.locale'); $this->assertFileExists(resource_path("lang/{$localeConfig}/{$this->lang_name}.php")); @@ -69,30 +69,30 @@ class CrudMakeCommandTest extends TestCase public function it_cannot_generate_crud_files_if_namespaced_model_exists() { $this->mockConsoleOutput = true; - $this->artisan('make:model', ['name' => 'Entities/Projects/Problem', '--no-interaction' => true]); + $this->artisan('make:model', ['name' => 'App/Entities/Projects/Problem', '--no-interaction' => true]); $this->artisan('make:crud', ['name' => 'Entities/Projects/Problem', '--no-interaction' => true]) ->expectsQuestion('Model file exists, are you sure to generate CRUD files?', false) ->expectsOutput('Problem model already exists.'); $this->assertFileExists(app_path('Entities/Projects/Problem.php')); - $this->assertFileNotExists(app_path("Http/Controllers/ProblemsController.php")); + $this->assertFileDoesNotExist(app_path("Http/Controllers/ProblemsController.php")); $migrationFilePath = database_path('migrations/'.date('Y_m_d_His').'_create_problems_table.php'); - $this->assertFileNotExists($migrationFilePath); + $this->assertFileDoesNotExist($migrationFilePath); - $this->assertFileNotExists(resource_path("views/problems/index.blade.php")); - $this->assertFileNotExists(resource_path("views/problems/create.blade.php")); - $this->assertFileNotExists(resource_path("views/problems/edit.blade.php")); - $this->assertFileNotExists(resource_path("views/problems/forms.blade.php")); + $this->assertFileDoesNotExist(resource_path("views/problems/index.blade.php")); + $this->assertFileDoesNotExist(resource_path("views/problems/create.blade.php")); + $this->assertFileDoesNotExist(resource_path("views/problems/edit.blade.php")); + $this->assertFileDoesNotExist(resource_path("views/problems/forms.blade.php")); $localeConfig = config('app.locale'); - $this->assertFileNotExists(resource_path("lang/{$localeConfig}/{$this->lang_name}.php")); + $this->assertFileDoesNotExist(resource_path("lang/{$localeConfig}/{$this->lang_name}.php")); - $this->assertFileNotExists(app_path("Policies/ProblemPolicy.php")); - $this->assertFileNotExists(database_path("factories/ProblemFactory.php")); - $this->assertFileNotExists(base_path("tests/Unit/Models/ProblemTest.php")); - $this->assertFileNotExists(base_path("tests/Unit/Policies/ProblemPolicyTest.php")); - $this->assertFileNotExists(base_path("tests/Feature/ManageProblemTest.php")); + $this->assertFileDoesNotExist(app_path("Policies/ProblemPolicy.php")); + $this->assertFileDoesNotExist(database_path("factories/ProblemFactory.php")); + $this->assertFileDoesNotExist(base_path("tests/Unit/Models/ProblemTest.php")); + $this->assertFileDoesNotExist(base_path("tests/Unit/Policies/ProblemPolicyTest.php")); + $this->assertFileDoesNotExist(base_path("tests/Feature/ManageProblemTest.php")); $this->removeFileOrDir(app_path('Entities/Projects')); $this->removeFileOrDir(resource_path('views/problems')); @@ -111,7 +111,7 @@ class CrudMakeCommandTest extends TestCase $this->artisan('make:crud', ['name' => $inputName, '--no-interaction' => true]); - $this->assertNotContains("{$modelName} model already exists.", app(Kernel::class)->output()); + $this->assertStringNotContainsString("{$modelName} model already exists.", app(Kernel::class)->output()); $this->assertFileExists(app_path($modelPath.'/'.$modelName.'.php')); $this->assertFileExists(app_path("Http/Controllers/{$modelName}Controller.php")); @@ -122,7 +122,7 @@ class CrudMakeCommandTest extends TestCase $this->assertFileExists(resource_path("views/{$tableName}/index.blade.php")); $this->assertFileExists(resource_path("views/{$tableName}/create.blade.php")); $this->assertFileExists(resource_path("views/{$tableName}/edit.blade.php")); - $this->assertFileNotExists(resource_path("views/{$tableName}/forms.blade.php")); + $this->assertFileDoesNotExist(resource_path("views/{$tableName}/forms.blade.php")); $localeConfig = config('app.locale'); $this->assertFileExists(resource_path("lang/{$localeConfig}/{$langName}.php")); @@ -147,7 +147,7 @@ class CrudMakeCommandTest extends TestCase $this->artisan('make:crud', ['name' => $inputName, '--parent' => $parentName, '--no-interaction' => true]); - $this->assertNotContains("{$modelName} model already exists.", app(Kernel::class)->output()); + $this->assertStringNotContainsString("{$modelName} model already exists.", app(Kernel::class)->output()); $this->assertFileExists(app_path($modelPath.'/'.$modelName.'.php')); $this->assertFileExists(app_path("Http/Controllers/{$parentName}/{$modelName}Controller.php")); @@ -158,7 +158,7 @@ class CrudMakeCommandTest extends TestCase $this->assertFileExists(resource_path("views/{$tableName}/index.blade.php")); $this->assertFileExists(resource_path("views/{$tableName}/create.blade.php")); $this->assertFileExists(resource_path("views/{$tableName}/edit.blade.php")); - $this->assertFileNotExists(resource_path("views/{$tableName}/forms.blade.php")); + $this->assertFileDoesNotExist(resource_path("views/{$tableName}/forms.blade.php")); $localeConfig = config('app.locale'); $this->assertFileExists(resource_path("lang/{$localeConfig}/{$langName}.php")); diff --git a/tests/CrudSimpleMakeCommandTest.php b/tests/CrudSimpleMakeCommandTest.php index 9ac980f..de97f88 100644 --- a/tests/CrudSimpleMakeCommandTest.php +++ b/tests/CrudSimpleMakeCommandTest.php @@ -4,16 +4,16 @@ namespace Tests; use Illuminate\Contracts\Console\Kernel; -class CrudSimpleCommandTest extends TestCase +class CrudSimpleMakeCommandTest extends TestCase { /** @test */ public function it_can_generate_simple_crud_files() { $this->artisan('make:crud-simple', ['name' => $this->model_name, '--no-interaction' => true]); - $this->assertNotContains("{$this->model_name} model already exists.", app(Kernel::class)->output()); + $this->assertStringNotContainsString("{$this->model_name} model already exists.", app(Kernel::class)->output()); - $this->assertFileExists(app_path($this->model_name.'.php')); + $this->assertFileExists(app_path('Models/'.$this->model_name.'.php')); $this->assertFileExists(app_path("Http/Controllers/{$this->model_name}Controller.php")); $migrationFilePath = database_path('migrations/'.date('Y_m_d_His').'_create_'.$this->table_name.'_table.php'); @@ -37,57 +37,57 @@ class CrudSimpleCommandTest extends TestCase public function it_cannot_generate_crud_files_if_model_exists() { $this->mockConsoleOutput = true; - $this->artisan('make:model', ['name' => $this->model_name, '--no-interaction' => true]); + $this->artisan('make:model', ['name' => 'Models/'.$this->model_name, '--no-interaction' => true]); $this->artisan('make:crud', ['name' => $this->model_name, '--no-interaction' => true]) ->expectsQuestion('Model file exists, are you sure to generate CRUD files?', false) ->expectsOutput("{$this->model_name} model already exists."); - $this->assertFileExists(app_path($this->model_name.'.php')); - $this->assertFileNotExists(app_path("Http/Controllers/{$this->model_name}Controller.php")); + $this->assertFileExists(app_path('Models/'.$this->model_name.'.php')); + $this->assertFileDoesNotExist(app_path("Http/Controllers/{$this->model_name}Controller.php")); $migrationFilePath = database_path('migrations/'.date('Y_m_d_His').'_create_'.$this->table_name.'_table.php'); - $this->assertFileNotExists($migrationFilePath); + $this->assertFileDoesNotExist($migrationFilePath); - $this->assertFileNotExists(resource_path("views/{$this->table_name}/index.blade.php")); - $this->assertFileNotExists(resource_path("views/{$this->table_name}/forms.blade.php")); + $this->assertFileDoesNotExist(resource_path("views/{$this->table_name}/index.blade.php")); + $this->assertFileDoesNotExist(resource_path("views/{$this->table_name}/forms.blade.php")); $localeConfig = config('app.locale'); - $this->assertFileNotExists(resource_path("lang/{$localeConfig}/{$this->lang_name}.php")); - - $this->assertFileNotExists(base_path("routes/web.php")); - $this->assertFileNotExists(app_path("Policies/{$this->model_name}Policy.php")); - $this->assertFileNotExists(database_path("factories/{$this->model_name}Factory.php")); - $this->assertFileNotExists(base_path("tests/Unit/Models/{$this->model_name}Test.php")); - $this->assertFileNotExists(base_path("tests/Unit/Policies/{$this->model_name}PolicyTest.php")); - $this->assertFileNotExists(base_path("tests/Feature/Manage{$this->model_name}Test.php")); + $this->assertFileDoesNotExist(resource_path("lang/{$localeConfig}/{$this->lang_name}.php")); + + $this->assertFileDoesNotExist(base_path("routes/web.php")); + $this->assertFileDoesNotExist(app_path("Policies/{$this->model_name}Policy.php")); + $this->assertFileDoesNotExist(database_path("factories/{$this->model_name}Factory.php")); + $this->assertFileDoesNotExist(base_path("tests/Unit/Models/{$this->model_name}Test.php")); + $this->assertFileDoesNotExist(base_path("tests/Unit/Policies/{$this->model_name}PolicyTest.php")); + $this->assertFileDoesNotExist(base_path("tests/Feature/Manage{$this->model_name}Test.php")); } /** @test */ public function it_cannot_generate_crud_files_if_namespaced_model_exists() { $this->mockConsoleOutput = true; - $this->artisan('make:model', ['name' => 'Entities/Projects/Problem', '--no-interaction' => true]); + $this->artisan('make:model', ['name' => 'App/Entities/Projects/Problem', '--no-interaction' => true]); $this->artisan('make:crud-simple', ['name' => 'Entities/Projects/Problem', '--no-interaction' => true]) ->expectsQuestion('Model file exists, are you sure to generate CRUD files?', false) ->expectsOutput("Problem model already exists."); $this->assertFileExists(app_path('Entities/Projects/Problem.php')); - $this->assertFileNotExists(app_path("Http/Controllers/ProblemsController.php")); + $this->assertFileDoesNotExist(app_path("Http/Controllers/ProblemsController.php")); $migrationFilePath = database_path('migrations/'.date('Y_m_d_His').'_create_problems_table.php'); - $this->assertFileNotExists($migrationFilePath); + $this->assertFileDoesNotExist($migrationFilePath); - $this->assertFileNotExists(resource_path("views/problems/index.blade.php")); - $this->assertFileNotExists(resource_path("views/problems/forms.blade.php")); + $this->assertFileDoesNotExist(resource_path("views/problems/index.blade.php")); + $this->assertFileDoesNotExist(resource_path("views/problems/forms.blade.php")); $localeConfig = config('app.locale'); - $this->assertFileNotExists(resource_path("lang/{$localeConfig}/{$this->lang_name}.php")); + $this->assertFileDoesNotExist(resource_path("lang/{$localeConfig}/{$this->lang_name}.php")); - $this->assertFileNotExists(app_path("Policies/ProblemPolicy.php")); - $this->assertFileNotExists(database_path("factories/ProblemFactory.php")); - $this->assertFileNotExists(base_path("tests/Unit/Models/ProblemTest.php")); - $this->assertFileNotExists(base_path("tests/Unit/Policies/ProblemPolicyTest.php")); - $this->assertFileNotExists(base_path("tests/Feature/ManageProblemTest.php")); + $this->assertFileDoesNotExist(app_path("Policies/ProblemPolicy.php")); + $this->assertFileDoesNotExist(database_path("factories/ProblemFactory.php")); + $this->assertFileDoesNotExist(base_path("tests/Unit/Models/ProblemTest.php")); + $this->assertFileDoesNotExist(base_path("tests/Unit/Policies/ProblemPolicyTest.php")); + $this->assertFileDoesNotExist(base_path("tests/Feature/ManageProblemTest.php")); $this->removeFileOrDir(app_path('Entities/Projects')); $this->removeFileOrDir(resource_path('views/problems')); @@ -106,7 +106,7 @@ class CrudSimpleCommandTest extends TestCase $this->artisan('make:crud-simple', ['name' => $inputName, '--no-interaction' => true]); - $this->assertNotContains("{$modelName} model already exists.", app(Kernel::class)->output()); + $this->assertStringNotContainsString("{$modelName} model already exists.", app(Kernel::class)->output()); $this->assertFileExists(app_path($modelPath.'/'.$modelName.'.php')); $this->assertFileExists(app_path("Http/Controllers/{$modelName}Controller.php")); @@ -140,7 +140,7 @@ class CrudSimpleCommandTest extends TestCase $this->artisan('make:crud-simple', ['name' => $inputName, '--parent' => $parentName, '--no-interaction' => true]); - $this->assertNotContains("{$modelName} model already exists.", app(Kernel::class)->output()); + $this->assertStringNotContainsString("{$modelName} model already exists.", app(Kernel::class)->output()); $this->assertFileExists(app_path($modelPath.'/'.$modelName.'.php')); $this->assertFileExists(app_path("Http/Controllers/{$parentName}/{$modelName}Controller.php")); diff --git a/tests/Generators/Api/ApiFeatureTestGeneratorTest.php b/tests/Generators/Api/ApiFeatureTestGeneratorTest.php index a93c1fe..b0fecb1 100644 --- a/tests/Generators/Api/ApiFeatureTestGeneratorTest.php +++ b/tests/Generators/Api/ApiFeatureTestGeneratorTest.php @@ -28,7 +28,7 @@ class Manage{$this->model_name}Test extends TestCase public function user_can_see_{$this->lang_name}_list_in_{$this->lang_name}_index_page() { \$user = \$this->createUser(); - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(); \$this->getJson(route('api.{$this->table_name}.index'), [ 'Authorization' => 'Bearer '.\$user->api_token @@ -125,7 +125,7 @@ class Manage{$this->model_name}Test extends TestCase public function user_can_get_a_{$this->lang_name}_detail() { \$user = \$this->createUser(); - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(['name' => 'Testing 123']); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(['name' => 'Testing 123']); \$this->getJson(route('api.{$this->table_name}.show', \${$this->single_model_var_name}), [ 'Authorization' => 'Bearer '.\$user->api_token @@ -138,7 +138,7 @@ class Manage{$this->model_name}Test extends TestCase public function user_can_update_a_{$this->lang_name}() { \$user = \$this->createUser(); - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(['name' => 'Testing 123']); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(['name' => 'Testing 123']); \$this->patchJson(route('api.{$this->table_name}.update', \${$this->single_model_var_name}), [ 'name' => '{$this->model_name} 1 name', @@ -172,7 +172,7 @@ class Manage{$this->model_name}Test extends TestCase public function validate_{$this->lang_name}_name_update_is_required() { \$user = \$this->createUser(); - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(); // name empty \$requestBody = \$this->getEditFields(['name' => '']); @@ -190,7 +190,7 @@ class Manage{$this->model_name}Test extends TestCase public function validate_{$this->lang_name}_name_update_is_not_more_than_60_characters() { \$user = \$this->createUser(); - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(); // name 70 characters \$requestBody = \$this->getEditFields(['name' => str_repeat('Test Title', 7)]); @@ -208,7 +208,7 @@ class Manage{$this->model_name}Test extends TestCase public function validate_{$this->lang_name}_description_update_is_not_more_than_255_characters() { \$user = \$this->createUser(); - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(['name' => 'Testing 123']); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(['name' => 'Testing 123']); // description 256 characters \$requestBody = \$this->getEditFields(['description' => str_repeat('Long description', 16)]); @@ -226,7 +226,7 @@ class Manage{$this->model_name}Test extends TestCase public function user_can_delete_a_{$this->lang_name}() { \$user = \$this->createUser(); - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(); \$this->deleteJson(route('api.{$this->table_name}.destroy', \${$this->single_model_var_name}), [ '{$this->lang_name}_id' => \${$this->single_model_var_name}->id, @@ -273,7 +273,7 @@ class Manage{$this->model_name}Test extends TestCase public function user_can_see_{$this->lang_name}_list_in_{$this->lang_name}_index_page() { \$user = \$this->createUser(); - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(); \$this->getJson(route('api.{$this->table_name}.index'), [ 'Authorization' => 'Bearer '.\$user->api_token @@ -370,7 +370,7 @@ class Manage{$this->model_name}Test extends TestCase public function user_can_get_a_{$this->lang_name}_detail() { \$user = \$this->createUser(); - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(['name' => 'Testing 123']); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(['name' => 'Testing 123']); \$this->getJson(route('api.{$this->table_name}.show', \${$this->single_model_var_name}), [ 'Authorization' => 'Bearer '.\$user->api_token @@ -383,7 +383,7 @@ class Manage{$this->model_name}Test extends TestCase public function user_can_update_a_{$this->lang_name}() { \$user = \$this->createUser(); - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(['name' => 'Testing 123']); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(['name' => 'Testing 123']); \$this->patchJson(route('api.{$this->table_name}.update', \${$this->single_model_var_name}), [ 'name' => '{$this->model_name} 1 name', @@ -417,7 +417,7 @@ class Manage{$this->model_name}Test extends TestCase public function validate_{$this->lang_name}_name_update_is_required() { \$user = \$this->createUser(); - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(); // name empty \$requestBody = \$this->getEditFields(['name' => '']); @@ -435,7 +435,7 @@ class Manage{$this->model_name}Test extends TestCase public function validate_{$this->lang_name}_name_update_is_not_more_than_60_characters() { \$user = \$this->createUser(); - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(); // name 70 characters \$requestBody = \$this->getEditFields(['name' => str_repeat('Test Title', 7)]); @@ -453,7 +453,7 @@ class Manage{$this->model_name}Test extends TestCase public function validate_{$this->lang_name}_description_update_is_not_more_than_255_characters() { \$user = \$this->createUser(); - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(['name' => 'Testing 123']); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(['name' => 'Testing 123']); // description 256 characters \$requestBody = \$this->getEditFields(['description' => str_repeat('Long description', 16)]); @@ -471,7 +471,7 @@ class Manage{$this->model_name}Test extends TestCase public function user_can_delete_a_{$this->lang_name}() { \$user = \$this->createUser(); - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(); \$this->deleteJson(route('api.{$this->table_name}.destroy', \${$this->single_model_var_name}), [ '{$this->lang_name}_id' => \${$this->single_model_var_name}->id, diff --git a/tests/Generators/Api/RouteApiGeneratorTest.php b/tests/Generators/Api/RouteApiGeneratorTest.php index 9e1aa4b..aab7c6d 100644 --- a/tests/Generators/Api/RouteApiGeneratorTest.php +++ b/tests/Generators/Api/RouteApiGeneratorTest.php @@ -18,7 +18,7 @@ class RouteApiGeneratorTest extends TestCase /* * {$this->plural_model_name} Endpoints */ -Route::middleware('auth:api')->resource('{$this->table_name}', 'Api\\{$this->model_name}Controller')->names('api.{$this->table_name}'); +Route::middleware('auth:api')->resource('{$this->table_name}', App\\Http\\Controllers\\Api\\{$this->model_name}Controller::class)->names('api.{$this->table_name}'); "; $this->assertEquals($routeApiFileContent, file_get_contents($routeApiPath)); } @@ -35,7 +35,7 @@ Route::middleware('auth:api')->resource('{$this->table_name}', 'Api\\{$this->mod /* * {$this->plural_model_name} Endpoints */ -Route::middleware('auth:api')->resource('{$this->table_name}', 'Api\\Projects\\{$this->model_name}Controller')->names('api.{$this->table_name}'); +Route::middleware('auth:api')->resource('{$this->table_name}', App\\Http\\Controllers\\Api\\Projects\\{$this->model_name}Controller::class)->names('api.{$this->table_name}'); "; $this->assertEquals($routeApiFileContent, file_get_contents($routeApiPath)); } diff --git a/tests/Generators/FeatureTestGeneratorTest.php b/tests/Generators/FeatureTestGeneratorTest.php index 2780f24..a9ac2b7 100644 --- a/tests/Generators/FeatureTestGeneratorTest.php +++ b/tests/Generators/FeatureTestGeneratorTest.php @@ -16,7 +16,7 @@ class FeatureTestGeneratorTest extends TestCase namespace Tests; -use App\User; +use App\Models\User; use Laravel\BrowserKitTesting\TestCase as BaseTestCase; abstract class BrowserKitTest extends BaseTestCase @@ -35,7 +35,7 @@ abstract class BrowserKitTest extends BaseTestCase protected function createUser() { - return factory(User::class)->create(); + return User::factory()->create(); } } "; @@ -63,7 +63,7 @@ class Manage{$this->model_name}Test extends TestCase /** @test */ public function user_can_see_{$this->lang_name}_list_in_{$this->lang_name}_index_page() { - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(); \$this->loginAsUser(); \$this->visitRoute('{$this->table_name}.index'); @@ -140,7 +140,7 @@ class Manage{$this->model_name}Test extends TestCase public function user_can_edit_a_{$this->lang_name}() { \$this->loginAsUser(); - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(['name' => 'Testing 123']); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(['name' => 'Testing 123']); \$this->visitRoute('{$this->table_name}.show', \${$this->single_model_var_name}); \$this->click('edit-{$this->lang_name}-'.\${$this->single_model_var_name}->id); @@ -159,7 +159,7 @@ class Manage{$this->model_name}Test extends TestCase public function validate_{$this->lang_name}_name_update_is_required() { \$this->loginAsUser(); - \${$this->lang_name} = factory({$this->model_name}::class)->create(['name' => 'Testing 123']); + \${$this->lang_name} = {$this->model_name}::factory()->create(['name' => 'Testing 123']); // name empty \$this->patch(route('{$this->table_name}.update', \${$this->lang_name}), \$this->getEditFields(['name' => ''])); @@ -170,7 +170,7 @@ class Manage{$this->model_name}Test extends TestCase public function validate_{$this->lang_name}_name_update_is_not_more_than_60_characters() { \$this->loginAsUser(); - \${$this->lang_name} = factory({$this->model_name}::class)->create(['name' => 'Testing 123']); + \${$this->lang_name} = {$this->model_name}::factory()->create(['name' => 'Testing 123']); // name 70 characters \$this->patch(route('{$this->table_name}.update', \${$this->lang_name}), \$this->getEditFields([ @@ -183,7 +183,7 @@ class Manage{$this->model_name}Test extends TestCase public function validate_{$this->lang_name}_description_update_is_not_more_than_255_characters() { \$this->loginAsUser(); - \${$this->lang_name} = factory({$this->model_name}::class)->create(['name' => 'Testing 123']); + \${$this->lang_name} = {$this->model_name}::factory()->create(['name' => 'Testing 123']); // description 256 characters \$this->patch(route('{$this->table_name}.update', \${$this->lang_name}), \$this->getEditFields([ @@ -196,8 +196,8 @@ class Manage{$this->model_name}Test extends TestCase public function user_can_delete_a_{$this->lang_name}() { \$this->loginAsUser(); - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(); - factory({$this->model_name}::class)->create(); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(); + {$this->model_name}::factory()->create(); \$this->visitRoute('{$this->table_name}.edit', \${$this->single_model_var_name}); \$this->click('del-{$this->lang_name}-'.\${$this->single_model_var_name}->id); @@ -230,7 +230,7 @@ class Manage{$this->model_name}Test extends TestCase namespace Tests; -use App\User; +use App\Models\User; use Laravel\BrowserKitTesting\TestCase as BaseTestCase; abstract class {$baseTestClass} extends BaseTestCase @@ -249,7 +249,7 @@ abstract class {$baseTestClass} extends BaseTestCase protected function createUser() { - return factory(User::class)->create(); + return User::factory()->create(); } } "; @@ -280,7 +280,7 @@ class Manage{$this->model_name}Test extends TestCase /** @test */ public function user_can_see_{$this->lang_name}_list_in_{$this->lang_name}_index_page() { - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(); \$this->loginAsUser(); \$this->visitRoute('{$this->table_name}.index'); @@ -357,7 +357,7 @@ class Manage{$this->model_name}Test extends TestCase public function user_can_edit_a_{$this->lang_name}() { \$this->loginAsUser(); - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(['name' => 'Testing 123']); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(['name' => 'Testing 123']); \$this->visitRoute('{$this->table_name}.show', \${$this->single_model_var_name}); \$this->click('edit-{$this->lang_name}-'.\${$this->single_model_var_name}->id); @@ -376,7 +376,7 @@ class Manage{$this->model_name}Test extends TestCase public function validate_{$this->lang_name}_name_update_is_required() { \$this->loginAsUser(); - \${$this->lang_name} = factory({$this->model_name}::class)->create(['name' => 'Testing 123']); + \${$this->lang_name} = {$this->model_name}::factory()->create(['name' => 'Testing 123']); // name empty \$this->patch(route('{$this->table_name}.update', \${$this->lang_name}), \$this->getEditFields(['name' => ''])); @@ -387,7 +387,7 @@ class Manage{$this->model_name}Test extends TestCase public function validate_{$this->lang_name}_name_update_is_not_more_than_60_characters() { \$this->loginAsUser(); - \${$this->lang_name} = factory({$this->model_name}::class)->create(['name' => 'Testing 123']); + \${$this->lang_name} = {$this->model_name}::factory()->create(['name' => 'Testing 123']); // name 70 characters \$this->patch(route('{$this->table_name}.update', \${$this->lang_name}), \$this->getEditFields([ @@ -400,7 +400,7 @@ class Manage{$this->model_name}Test extends TestCase public function validate_{$this->lang_name}_description_update_is_not_more_than_255_characters() { \$this->loginAsUser(); - \${$this->lang_name} = factory({$this->model_name}::class)->create(['name' => 'Testing 123']); + \${$this->lang_name} = {$this->model_name}::factory()->create(['name' => 'Testing 123']); // description 256 characters \$this->patch(route('{$this->table_name}.update', \${$this->lang_name}), \$this->getEditFields([ @@ -413,8 +413,8 @@ class Manage{$this->model_name}Test extends TestCase public function user_can_delete_a_{$this->lang_name}() { \$this->loginAsUser(); - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(); - factory({$this->model_name}::class)->create(); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(); + {$this->model_name}::factory()->create(); \$this->visitRoute('{$this->table_name}.edit', \${$this->single_model_var_name}); \$this->click('del-{$this->lang_name}-'.\${$this->single_model_var_name}->id); @@ -455,7 +455,7 @@ class Manage{$this->model_name}Test extends TestCase /** @test */ public function user_can_see_{$this->lang_name}_list_in_{$this->lang_name}_index_page() { - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(); \$this->loginAsUser(); \$this->visitRoute('{$this->table_name}.index'); @@ -532,7 +532,7 @@ class Manage{$this->model_name}Test extends TestCase public function user_can_edit_a_{$this->lang_name}() { \$this->loginAsUser(); - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(['name' => 'Testing 123']); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(['name' => 'Testing 123']); \$this->visitRoute('{$this->table_name}.show', \${$this->single_model_var_name}); \$this->click('edit-{$this->lang_name}-'.\${$this->single_model_var_name}->id); @@ -551,7 +551,7 @@ class Manage{$this->model_name}Test extends TestCase public function validate_{$this->lang_name}_name_update_is_required() { \$this->loginAsUser(); - \${$this->lang_name} = factory({$this->model_name}::class)->create(['name' => 'Testing 123']); + \${$this->lang_name} = {$this->model_name}::factory()->create(['name' => 'Testing 123']); // name empty \$this->patch(route('{$this->table_name}.update', \${$this->lang_name}), \$this->getEditFields(['name' => ''])); @@ -562,7 +562,7 @@ class Manage{$this->model_name}Test extends TestCase public function validate_{$this->lang_name}_name_update_is_not_more_than_60_characters() { \$this->loginAsUser(); - \${$this->lang_name} = factory({$this->model_name}::class)->create(['name' => 'Testing 123']); + \${$this->lang_name} = {$this->model_name}::factory()->create(['name' => 'Testing 123']); // name 70 characters \$this->patch(route('{$this->table_name}.update', \${$this->lang_name}), \$this->getEditFields([ @@ -575,7 +575,7 @@ class Manage{$this->model_name}Test extends TestCase public function validate_{$this->lang_name}_description_update_is_not_more_than_255_characters() { \$this->loginAsUser(); - \${$this->lang_name} = factory({$this->model_name}::class)->create(['name' => 'Testing 123']); + \${$this->lang_name} = {$this->model_name}::factory()->create(['name' => 'Testing 123']); // description 256 characters \$this->patch(route('{$this->table_name}.update', \${$this->lang_name}), \$this->getEditFields([ @@ -588,8 +588,8 @@ class Manage{$this->model_name}Test extends TestCase public function user_can_delete_a_{$this->lang_name}() { \$this->loginAsUser(); - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(); - factory({$this->model_name}::class)->create(); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(); + {$this->model_name}::factory()->create(); \$this->visitRoute('{$this->table_name}.edit', \${$this->single_model_var_name}); \$this->click('del-{$this->lang_name}-'.\${$this->single_model_var_name}->id); diff --git a/tests/Generators/FullControllerGeneratorTest.php b/tests/Generators/FullControllerGeneratorTest.php index 0d807dc..b672dcc 100644 --- a/tests/Generators/FullControllerGeneratorTest.php +++ b/tests/Generators/FullControllerGeneratorTest.php @@ -201,7 +201,7 @@ class CategoryController extends Controller /** * Display the specified category. * - * @param \App\Category \$category + * @param \App\Models\Category \$category * @return \Illuminate\View\View */ public function show(Category \$category) @@ -212,7 +212,7 @@ class CategoryController extends Controller /** * Show the form for editing the specified category. * - * @param \App\Category \$category + * @param \App\Models\Category \$category * @return \Illuminate\View\View */ public function edit(Category \$category) @@ -332,7 +332,7 @@ class CategoryController extends Controller /** * Display the specified category. * - * @param \App\Category \$category + * @param \App\Models\Category \$category * @return \Illuminate\View\View */ public function show(Category \$category) @@ -343,7 +343,7 @@ class CategoryController extends Controller /** * Show the form for editing the specified category. * - * @param \App\Category \$category + * @param \App\Models\Category \$category * @return \Illuminate\View\View */ public function edit(Category \$category) diff --git a/tests/Generators/ModelFactoryGeneratorTest.php b/tests/Generators/ModelFactoryGeneratorTest.php index d93b37b..19b9e40 100644 --- a/tests/Generators/ModelFactoryGeneratorTest.php +++ b/tests/Generators/ModelFactoryGeneratorTest.php @@ -15,20 +15,27 @@ class ModelFactoryGeneratorTest extends TestCase $this->assertFileExists($modelFactoryPath); $modelFactoryContent = "full_model_name}; -use Faker\Generator as Faker; - -\$factory->define({$this->model_name}::class, function (Faker \$faker) { - - return [ - 'name' => \$faker->word, - 'description' => \$faker->sentence, - 'creator_id' => function () { - return factory(User::class)->create()->id; - }, - ]; -}); +use Illuminate\Database\Eloquent\Factories\Factory; + +class {$this->model_name}Factory extends Factory +{ + protected \$model = {$this->model_name}::class; + + public function definition() + { + return [ + 'name' => \$this->faker->word, + 'description' => \$this->faker->sentence, + 'creator_id' => function () { + return User::factory()->create()->id; + }, + ]; + } +} "; $this->assertEquals($modelFactoryContent, file_get_contents($modelFactoryPath)); } diff --git a/tests/Generators/ModelGeneratorTest.php b/tests/Generators/ModelGeneratorTest.php index 5293bf6..d333e3f 100644 --- a/tests/Generators/ModelGeneratorTest.php +++ b/tests/Generators/ModelGeneratorTest.php @@ -9,19 +9,23 @@ class ModelGeneratorTest extends TestCase /** @test */ public function it_creates_correct_model_class_content() { + config(['auth.providers.users.model' => 'App\Models\User']); $this->artisan('make:crud', ['name' => $this->model_name, '--no-interaction' => true]); - $modelPath = app_path($this->model_name.'.php'); + $modelPath = app_path('Models/'.$this->model_name.'.php'); $this->assertFileExists($modelPath); $modelClassContent = "model_name} extends Model { + use HasFactory; + protected \$fillable = ['name', 'description', 'creator_id']; public function getNameLinkAttribute() @@ -49,6 +53,7 @@ class {$this->model_name} extends Model /** @test */ public function it_creates_correct_namespaced_model_class_content() { + config(['auth.providers.users.model' => 'App\Models\User']); $this->artisan('make:crud', ['name' => 'Entities/References/Category', '--no-interaction' => true]); $modelPath = app_path('Entities/References/Category.php'); @@ -57,11 +62,14 @@ class {$this->model_name} extends Model namespace App\Entities\References; -use App\User; +use App\Models\User; +use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Category extends Model { + use HasFactory; + protected \$fillable = ['name', 'description', 'creator_id']; public function getNameLinkAttribute() diff --git a/tests/Generators/ModelPolicyTestGeneratorTest.php b/tests/Generators/ModelPolicyTestGeneratorTest.php index 1412f1a..1cbc680 100644 --- a/tests/Generators/ModelPolicyTestGeneratorTest.php +++ b/tests/Generators/ModelPolicyTestGeneratorTest.php @@ -39,7 +39,7 @@ class {$this->model_name}PolicyTest extends TestCase public function user_can_view_{$this->lang_name}() { \$user = \$this->createUser(); - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(); \$this->assertTrue(\$user->can('view', \${$this->single_model_var_name})); } @@ -47,7 +47,7 @@ class {$this->model_name}PolicyTest extends TestCase public function user_can_update_{$this->lang_name}() { \$user = \$this->createUser(); - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(); \$this->assertTrue(\$user->can('update', \${$this->single_model_var_name})); } @@ -55,7 +55,7 @@ class {$this->model_name}PolicyTest extends TestCase public function user_can_delete_{$this->lang_name}() { \$user = \$this->createUser(); - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(); \$this->assertTrue(\$user->can('delete', \${$this->single_model_var_name})); } } @@ -99,7 +99,7 @@ class {$this->model_name}PolicyTest extends TestCase public function user_can_view_{$this->lang_name}() { \$user = \$this->createUser(); - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(); \$this->assertTrue(\$user->can('view', \${$this->single_model_var_name})); } @@ -107,7 +107,7 @@ class {$this->model_name}PolicyTest extends TestCase public function user_can_update_{$this->lang_name}() { \$user = \$this->createUser(); - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(); \$this->assertTrue(\$user->can('update', \${$this->single_model_var_name})); } @@ -115,7 +115,7 @@ class {$this->model_name}PolicyTest extends TestCase public function user_can_delete_{$this->lang_name}() { \$user = \$this->createUser(); - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(); \$this->assertTrue(\$user->can('delete', \${$this->single_model_var_name})); } } @@ -159,7 +159,7 @@ class {$this->model_name}PolicyTest extends TestCase public function user_can_view_{$this->lang_name}() { \$user = \$this->createUser(); - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(); \$this->assertTrue(\$user->can('view', \${$this->single_model_var_name})); } @@ -167,7 +167,7 @@ class {$this->model_name}PolicyTest extends TestCase public function user_can_update_{$this->lang_name}() { \$user = \$this->createUser(); - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(); \$this->assertTrue(\$user->can('update', \${$this->single_model_var_name})); } @@ -175,7 +175,7 @@ class {$this->model_name}PolicyTest extends TestCase public function user_can_delete_{$this->lang_name}() { \$user = \$this->createUser(); - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(); \$this->assertTrue(\$user->can('delete', \${$this->single_model_var_name})); } } diff --git a/tests/Generators/ModelTestGeneratorTest.php b/tests/Generators/ModelTestGeneratorTest.php index 824fe07..5db0bd0 100644 --- a/tests/Generators/ModelTestGeneratorTest.php +++ b/tests/Generators/ModelTestGeneratorTest.php @@ -9,6 +9,7 @@ class ModelTestGeneratorTest extends TestCase /** @test */ public function it_creates_correct_unit_test_class_content() { + config(['auth.providers.users.model' => 'App\Models\User']); $this->artisan('make:crud', ['name' => $this->model_name, '--no-interaction' => true]); $uniTestPath = base_path("tests/Unit/Models/{$this->model_name}Test.php"); @@ -17,7 +18,7 @@ class ModelTestGeneratorTest extends TestCase namespace Tests\Unit\Models; -use App\User; +use App\Models\User; use {$this->full_model_name}; use Illuminate\Foundation\Testing\RefreshDatabase; use Tests\BrowserKitTest as TestCase; @@ -29,7 +30,7 @@ class {$this->model_name}Test extends TestCase /** @test */ public function a_{$this->lang_name}_has_name_link_attribute() { - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(); \$title = __('app.show_detail_title', [ 'name' => \${$this->single_model_var_name}->name, 'type' => __('{$this->lang_name}.{$this->lang_name}'), @@ -45,7 +46,7 @@ class {$this->model_name}Test extends TestCase /** @test */ public function a_{$this->lang_name}_has_belongs_to_creator_relation() { - \${$this->single_model_var_name} = factory({$this->model_name}::class)->make(); + \${$this->single_model_var_name} = {$this->model_name}::factory()->make(); \$this->assertInstanceOf(User::class, \${$this->single_model_var_name}->creator); \$this->assertEquals(\${$this->single_model_var_name}->creator_id, \${$this->single_model_var_name}->creator->id); @@ -58,6 +59,7 @@ class {$this->model_name}Test extends TestCase /** @test */ public function it_creates_correct_unit_test_class_with_base_test_class_based_on_config_file() { + config(['auth.providers.users.model' => 'App\Models\User']); config(['simple-crud.base_test_path' => 'tests/MyTestCase.php']); config(['simple-crud.base_test_class' => 'Tests\MyTestCase']); @@ -69,7 +71,7 @@ class {$this->model_name}Test extends TestCase namespace Tests\Unit\Models; -use App\User; +use App\Models\User; use {$this->full_model_name}; use Illuminate\Foundation\Testing\RefreshDatabase; use Tests\MyTestCase as TestCase; @@ -81,7 +83,7 @@ class {$this->model_name}Test extends TestCase /** @test */ public function a_{$this->lang_name}_has_name_link_attribute() { - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(); \$title = __('app.show_detail_title', [ 'name' => \${$this->single_model_var_name}->name, 'type' => __('{$this->lang_name}.{$this->lang_name}'), @@ -97,7 +99,7 @@ class {$this->model_name}Test extends TestCase /** @test */ public function a_{$this->lang_name}_has_belongs_to_creator_relation() { - \${$this->single_model_var_name} = factory({$this->model_name}::class)->make(); + \${$this->single_model_var_name} = {$this->model_name}::factory()->make(); \$this->assertInstanceOf(User::class, \${$this->single_model_var_name}->creator); \$this->assertEquals(\${$this->single_model_var_name}->creator_id, \${$this->single_model_var_name}->creator->id); @@ -110,6 +112,7 @@ class {$this->model_name}Test extends TestCase /** @test */ public function same_base_test_case_class_name_dont_use_alias() { + config(['auth.providers.users.model' => 'App\Models\User']); config(['simple-crud.base_test_path' => 'tests/TestCase.php']); config(['simple-crud.base_test_class' => 'Tests\TestCase']); @@ -121,7 +124,7 @@ class {$this->model_name}Test extends TestCase namespace Tests\Unit\Models; -use App\User; +use App\Models\User; use {$this->full_model_name}; use Illuminate\Foundation\Testing\RefreshDatabase; use Tests\TestCase; @@ -133,7 +136,7 @@ class {$this->model_name}Test extends TestCase /** @test */ public function a_{$this->lang_name}_has_name_link_attribute() { - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(); \$title = __('app.show_detail_title', [ 'name' => \${$this->single_model_var_name}->name, 'type' => __('{$this->lang_name}.{$this->lang_name}'), @@ -149,7 +152,7 @@ class {$this->model_name}Test extends TestCase /** @test */ public function a_{$this->lang_name}_has_belongs_to_creator_relation() { - \${$this->single_model_var_name} = factory({$this->model_name}::class)->make(); + \${$this->single_model_var_name} = {$this->model_name}::factory()->make(); \$this->assertInstanceOf(User::class, \${$this->single_model_var_name}->creator); \$this->assertEquals(\${$this->single_model_var_name}->creator_id, \${$this->single_model_var_name}->creator->id); diff --git a/tests/Generators/RouteWebGeneratorTest.php b/tests/Generators/RouteWebGeneratorTest.php index 8901b1e..977133d 100644 --- a/tests/Generators/RouteWebGeneratorTest.php +++ b/tests/Generators/RouteWebGeneratorTest.php @@ -18,7 +18,7 @@ class RouteWebGeneratorTest extends TestCase /* * {$this->plural_model_name} Routes */ -Route::resource('{$this->table_name}', '{$this->model_name}Controller'); +Route::resource('{$this->table_name}', App\\Http\\Controllers\\{$this->model_name}Controller::class); "; $this->assertEquals($routeWebFileContent, file_get_contents($routeWebPath)); } @@ -35,7 +35,7 @@ Route::resource('{$this->table_name}', '{$this->model_name}Controller'); /* * {$this->plural_model_name} Routes */ -Route::resource('{$this->table_name}', 'Projects\\{$this->model_name}Controller'); +Route::resource('{$this->table_name}', App\\Http\\Controllers\\Projects\\{$this->model_name}Controller::class); "; $this->assertEquals($routeWebFileContent, file_get_contents($routeWebPath)); } diff --git a/tests/Generators/Simple/FeatureTestGeneratorTest.php b/tests/Generators/Simple/FeatureTestGeneratorTest.php index 41aaa41..9c41a7e 100644 --- a/tests/Generators/Simple/FeatureTestGeneratorTest.php +++ b/tests/Generators/Simple/FeatureTestGeneratorTest.php @@ -16,7 +16,7 @@ class FeatureTestGeneratorTest extends TestCase namespace Tests; -use App\User; +use App\Models\User; use Laravel\BrowserKitTesting\TestCase as BaseTestCase; abstract class BrowserKitTest extends BaseTestCase @@ -35,7 +35,7 @@ abstract class BrowserKitTest extends BaseTestCase protected function createUser() { - return factory(User::class)->create(); + return User::factory()->create(); } } "; @@ -63,7 +63,7 @@ class Manage{$this->model_name}Test extends TestCase /** @test */ public function user_can_see_{$this->lang_name}_list_in_{$this->lang_name}_index_page() { - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(); \$this->loginAsUser(); \$this->visitRoute('{$this->table_name}.index'); @@ -138,7 +138,7 @@ class Manage{$this->model_name}Test extends TestCase public function user_can_edit_a_{$this->lang_name}_within_search_query() { \$this->loginAsUser(); - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(['name' => 'Testing 123']); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(['name' => 'Testing 123']); \$this->visitRoute('{$this->table_name}.index', ['q' => '123']); \$this->click('edit-{$this->lang_name}-'.\${$this->single_model_var_name}->id); @@ -169,7 +169,7 @@ class Manage{$this->model_name}Test extends TestCase public function validate_{$this->lang_name}_name_update_is_required() { \$this->loginAsUser(); - \${$this->lang_name} = factory({$this->model_name}::class)->create(['name' => 'Testing 123']); + \${$this->lang_name} = {$this->model_name}::factory()->create(['name' => 'Testing 123']); // name empty \$this->patch(route('{$this->table_name}.update', \${$this->lang_name}), \$this->getEditFields(['name' => ''])); @@ -180,7 +180,7 @@ class Manage{$this->model_name}Test extends TestCase public function validate_{$this->lang_name}_name_update_is_not_more_than_60_characters() { \$this->loginAsUser(); - \${$this->lang_name} = factory({$this->model_name}::class)->create(['name' => 'Testing 123']); + \${$this->lang_name} = {$this->model_name}::factory()->create(['name' => 'Testing 123']); // name 70 characters \$this->patch(route('{$this->table_name}.update', \${$this->lang_name}), \$this->getEditFields([ @@ -193,7 +193,7 @@ class Manage{$this->model_name}Test extends TestCase public function validate_{$this->lang_name}_description_update_is_not_more_than_255_characters() { \$this->loginAsUser(); - \${$this->lang_name} = factory({$this->model_name}::class)->create(['name' => 'Testing 123']); + \${$this->lang_name} = {$this->model_name}::factory()->create(['name' => 'Testing 123']); // description 256 characters \$this->patch(route('{$this->table_name}.update', \${$this->lang_name}), \$this->getEditFields([ @@ -206,8 +206,8 @@ class Manage{$this->model_name}Test extends TestCase public function user_can_delete_a_{$this->lang_name}() { \$this->loginAsUser(); - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(); - factory({$this->model_name}::class)->create(); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(); + {$this->model_name}::factory()->create(); \$this->visitRoute('{$this->table_name}.index', ['action' => 'edit', 'id' => \${$this->single_model_var_name}->id]); \$this->click('del-{$this->lang_name}-'.\${$this->single_model_var_name}->id); @@ -244,7 +244,7 @@ class Manage{$this->model_name}Test extends TestCase namespace Tests; -use App\User; +use App\Models\User; use Laravel\BrowserKitTesting\TestCase as BaseTestCase; abstract class {$baseTestClass} extends BaseTestCase @@ -263,7 +263,7 @@ abstract class {$baseTestClass} extends BaseTestCase protected function createUser() { - return factory(User::class)->create(); + return User::factory()->create(); } } "; @@ -294,7 +294,7 @@ class Manage{$this->model_name}Test extends TestCase /** @test */ public function user_can_see_{$this->lang_name}_list_in_{$this->lang_name}_index_page() { - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(); \$this->loginAsUser(); \$this->visitRoute('{$this->table_name}.index'); @@ -369,7 +369,7 @@ class Manage{$this->model_name}Test extends TestCase public function user_can_edit_a_{$this->lang_name}_within_search_query() { \$this->loginAsUser(); - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(['name' => 'Testing 123']); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(['name' => 'Testing 123']); \$this->visitRoute('{$this->table_name}.index', ['q' => '123']); \$this->click('edit-{$this->lang_name}-'.\${$this->single_model_var_name}->id); @@ -400,7 +400,7 @@ class Manage{$this->model_name}Test extends TestCase public function validate_{$this->lang_name}_name_update_is_required() { \$this->loginAsUser(); - \${$this->lang_name} = factory({$this->model_name}::class)->create(['name' => 'Testing 123']); + \${$this->lang_name} = {$this->model_name}::factory()->create(['name' => 'Testing 123']); // name empty \$this->patch(route('{$this->table_name}.update', \${$this->lang_name}), \$this->getEditFields(['name' => ''])); @@ -411,7 +411,7 @@ class Manage{$this->model_name}Test extends TestCase public function validate_{$this->lang_name}_name_update_is_not_more_than_60_characters() { \$this->loginAsUser(); - \${$this->lang_name} = factory({$this->model_name}::class)->create(['name' => 'Testing 123']); + \${$this->lang_name} = {$this->model_name}::factory()->create(['name' => 'Testing 123']); // name 70 characters \$this->patch(route('{$this->table_name}.update', \${$this->lang_name}), \$this->getEditFields([ @@ -424,7 +424,7 @@ class Manage{$this->model_name}Test extends TestCase public function validate_{$this->lang_name}_description_update_is_not_more_than_255_characters() { \$this->loginAsUser(); - \${$this->lang_name} = factory({$this->model_name}::class)->create(['name' => 'Testing 123']); + \${$this->lang_name} = {$this->model_name}::factory()->create(['name' => 'Testing 123']); // description 256 characters \$this->patch(route('{$this->table_name}.update', \${$this->lang_name}), \$this->getEditFields([ @@ -437,8 +437,8 @@ class Manage{$this->model_name}Test extends TestCase public function user_can_delete_a_{$this->lang_name}() { \$this->loginAsUser(); - \${$this->single_model_var_name} = factory({$this->model_name}::class)->create(); - factory({$this->model_name}::class)->create(); + \${$this->single_model_var_name} = {$this->model_name}::factory()->create(); + {$this->model_name}::factory()->create(); \$this->visitRoute('{$this->table_name}.index', ['action' => 'edit', 'id' => \${$this->single_model_var_name}->id]); \$this->click('del-{$this->lang_name}-'.\${$this->single_model_var_name}->id); diff --git a/tests/Generators/Simple/ViewsGeneratorTest.php b/tests/Generators/Simple/ViewsGeneratorTest.php index 0d36c1b..d470af6 100644 --- a/tests/Generators/Simple/ViewsGeneratorTest.php +++ b/tests/Generators/Simple/ViewsGeneratorTest.php @@ -167,7 +167,7 @@ class ViewsGeneratorTest extends TestCase $this->artisan('make:crud-simple', ['name' => $this->model_name, '--no-interaction' => true]); - $this->assertNotRegExp("/{$defaultLayoutView} view does not exists./", app(Kernel::class)->output()); + $this->assertDoesNotMatchRegularExpression("/{$defaultLayoutView} view does not exists./", app(Kernel::class)->output()); } /** @test */ @@ -176,7 +176,7 @@ class ViewsGeneratorTest extends TestCase $this->artisan('make:crud-simple', ['name' => $this->model_name, '--no-interaction' => true]); $defaultLayoutView = config('simple-crud.default_layout_view'); - $this->assertRegExp("/{$defaultLayoutView} view does not exists./", app(Kernel::class)->output()); + $this->assertMatchesRegularExpression("/{$defaultLayoutView} view does not exists./", app(Kernel::class)->output()); } public function generateDefaultLayoutView($defaultLayoutView) diff --git a/tests/Generators/ViewsGeneratorTest.php b/tests/Generators/ViewsGeneratorTest.php index d30fd36..3d062ef 100644 --- a/tests/Generators/ViewsGeneratorTest.php +++ b/tests/Generators/ViewsGeneratorTest.php @@ -234,7 +234,7 @@ class ViewsGeneratorTest extends TestCase $this->artisan('make:crud', ['name' => $this->model_name, '--no-interaction' => true]); - $this->assertNotRegExp("/{$defaultLayoutView} view does not exists./", app(Kernel::class)->output()); + $this->assertDoesNotMatchRegularExpression("/{$defaultLayoutView} view does not exists./", app(Kernel::class)->output()); } /** @test */ @@ -243,7 +243,7 @@ class ViewsGeneratorTest extends TestCase $this->artisan('make:crud', ['name' => $this->model_name, '--no-interaction' => true]); $defaultLayoutView = config('simple-crud.default_layout_view'); - $this->assertRegExp("/{$defaultLayoutView} view does not exists./", app(Kernel::class)->output()); + $this->assertMatchesRegularExpression("/{$defaultLayoutView} view does not exists./", app(Kernel::class)->output()); } public function generateDefaultLayoutView($defaultLayoutView) diff --git a/tests/TestCase.php b/tests/TestCase.php index 7723a4d..75d8ed7 100644 --- a/tests/TestCase.php +++ b/tests/TestCase.php @@ -20,7 +20,7 @@ abstract class TestCase extends BaseTestCase parent::setUp(); $this->model_name = 'MemberType'; - $this->full_model_name = 'App\\'.$this->model_name; + $this->full_model_name = 'App\\Models\\'.$this->model_name; $this->plural_model_name = Str::plural($this->model_name); $this->table_name = Str::snake($this->plural_model_name); $this->lang_name = Str::snake($this->model_name); @@ -41,6 +41,7 @@ abstract class TestCase extends BaseTestCase { $this->removeFileOrDir(app_path($this->model_name.'.php')); $this->removeFileOrDir(app_path('Entities')); + $this->removeFileOrDir(app_path('Models')); $this->removeFileOrDir(app_path('Http')); $this->removeFileOrDir(database_path('migrations')); $this->removeFileOrDir(database_path('factories'));