diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ead74cd..da81458 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,7 +19,7 @@ jobs: strategy: matrix: php-version: - - '7.3' + - '8.0' steps: - @@ -53,7 +53,7 @@ jobs: strategy: matrix: php-version: - - '7.3' + - '8.0' steps: - @@ -86,9 +86,9 @@ jobs: strategy: matrix: php-version: - - '7.3' - - '7.4' - '8.0' + - '8.1' + - '8.2' steps: - diff --git a/.github/workflows/release-phar.yml b/.github/workflows/release-phar.yml index da58e57..4e0874f 100644 --- a/.github/workflows/release-phar.yml +++ b/.github/workflows/release-phar.yml @@ -13,10 +13,10 @@ jobs: - name: Checkout code uses: actions/checkout@v2 - - name: Set PHP 7.3 + - name: Set PHP 8.0 uses: shivammathur/setup-php@v2 with: - php-version: '7.3' + php-version: '8.0' - name: Compile fink.phar run: | diff --git a/.gitignore b/.gitignore index 27d8726..89238c5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,6 @@ /vendor /bin/fink.phar -/.php_cs.cache +/.php-cs-fixer.cache /composer.lock /tests/Workspace /.phpactor.yml diff --git a/.php_cs.dist b/.php-cs-fixer.dist.php similarity index 84% rename from .php_cs.dist rename to .php-cs-fixer.dist.php index 0a31b78..b4fdbfa 100644 --- a/.php_cs.dist +++ b/.php-cs-fixer.dist.php @@ -1,11 +1,14 @@ in('lib') ->in('tests') ; -return PhpCsFixer\Config::create() +return (new Config()) + ->setRiskyAllowed(true) ->setRules([ '@PSR2' => true, 'array_syntax' => ['syntax' => 'short'], @@ -20,3 +23,4 @@ ]) ->setFinder($finder) ; + diff --git a/CHANGELOG.md b/CHANGELOG.md index 1b65a68..ceda93f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## [0.11.0] 2024-03-16 + +- Bump minimum version to PHP 8.0 +- Include `.dat` files @M-arcus + ## [0.10.2] 2021-01-28 - Consider `base` element when resolving URLs (#109) - @eHtmlu diff --git a/composer.json b/composer.json index a2fcb6b..8bea826 100644 --- a/composer.json +++ b/composer.json @@ -13,7 +13,7 @@ "minimum-stability": "dev", "prefer-stable": true, "require": { - "php": "^7.3||^8.0", + "php": "^8.0", "amphp/dns": "^v1.2.2", "amphp/file": "^1", "amphp/http-client": "^4.1.0", @@ -25,10 +25,10 @@ }, "require-dev": { "amphp/phpunit-util": "^1.3", - "friendsofphp/php-cs-fixer": "^2.14", + "friendsofphp/php-cs-fixer": "^3.0", "phpactor/test-utils": "^1.0", "phpspec/prophecy-phpunit": "^2.0", - "phpstan/phpstan": "^0.12.0", + "phpstan/phpstan": "^1.0", "phpunit/phpunit": "^9.0" }, "autoload": { diff --git a/lib/Model/ImmutableReportStore.php b/lib/Model/ImmutableReportStore.php index 486397c..546a2fd 100644 --- a/lib/Model/ImmutableReportStore.php +++ b/lib/Model/ImmutableReportStore.php @@ -5,6 +5,9 @@ use Countable; use IteratorAggregate; +/** + * @extends IteratorAggregate + */ interface ImmutableReportStore extends Countable, IteratorAggregate { } diff --git a/lib/Model/Store/CircularReportStore.php b/lib/Model/Store/CircularReportStore.php index 99b24b7..f6053be 100644 --- a/lib/Model/Store/CircularReportStore.php +++ b/lib/Model/Store/CircularReportStore.php @@ -36,7 +36,7 @@ public function add(Report $report): void /** * {@inheritDoc} */ - public function count() + public function count(): int { return count($this->reports); } diff --git a/lib/Model/Store/NullReportStore.php b/lib/Model/Store/NullReportStore.php index 0b46e9c..afd5568 100644 --- a/lib/Model/Store/NullReportStore.php +++ b/lib/Model/Store/NullReportStore.php @@ -5,21 +5,22 @@ use ArrayIterator; use DTL\Extension\Fink\Model\Report; use DTL\Extension\Fink\Model\ReportStore; +use Traversable; class NullReportStore implements ReportStore { /** * {@inheritDoc} */ - public function count() + public function count(): int { return 0; } /** - * {@inheritDoc} + * @return Traversable */ - public function getIterator() + public function getIterator(): Traversable { return new ArrayIterator(); } diff --git a/lib/Model/Urls.php b/lib/Model/Urls.php index d762898..989ed85 100644 --- a/lib/Model/Urls.php +++ b/lib/Model/Urls.php @@ -4,6 +4,7 @@ use ArrayIterator; use IteratorAggregate; +use Traversable; class Urls implements IteratorAggregate { @@ -32,9 +33,9 @@ private function add(Url $url) } /** - * {@inheritDoc} + * @return Traversable */ - public function getIterator() + public function getIterator(): Traversable { return new ArrayIterator($this->urls); } diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index b1a60a9..81e84ca 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -6,47 +6,47 @@ parameters: path: lib/Adapter/Artax/ImmutableCookieJar.php - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\Adapter\\\\Artax\\\\NetscapeCookieFileJar\\:\\:store\\(\\) return type with generic interface Amp\\\\Promise does not specify its types\\: TValue$#" + message: "#^Method DTL\\\\Extension\\\\Fink\\\\Adapter\\\\Artax\\\\NetscapeCookieFileJar\\:\\:getAll\\(\\) return type has no value type specified in iterable type array\\.$#" count: 1 path: lib/Adapter/Artax/NetscapeCookieFileJar.php - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\Adapter\\\\Artax\\\\NetscapeCookieFileJar\\:\\:getAll\\(\\) return type has no value type specified in iterable type array\\.$#" + message: "#^Method DTL\\\\Extension\\\\Fink\\\\Adapter\\\\Artax\\\\NetscapeCookieFileJar\\:\\:store\\(\\) return type with generic interface Amp\\\\Promise does not specify its types\\: TValue$#" count: 1 path: lib/Adapter/Artax/NetscapeCookieFileJar.php - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\Console\\\\Command\\\\CrawlCommand\\:\\:configure\\(\\) has no return typehint specified\\.$#" + message: "#^Method DTL\\\\Extension\\\\Fink\\\\Console\\\\Command\\\\CrawlCommand\\:\\:castToArray\\(\\) has parameter \\$value with no type specified\\.$#" count: 1 path: lib/Console/Command/CrawlCommand.php - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\Console\\\\Command\\\\CrawlCommand\\:\\:castToInt\\(\\) has parameter \\$value with no typehint specified\\.$#" + message: "#^Method DTL\\\\Extension\\\\Fink\\\\Console\\\\Command\\\\CrawlCommand\\:\\:castToArray\\(\\) return type has no value type specified in iterable type array\\.$#" count: 1 path: lib/Console/Command/CrawlCommand.php - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\Console\\\\Command\\\\CrawlCommand\\:\\:castToString\\(\\) has parameter \\$value with no typehint specified\\.$#" + message: "#^Method DTL\\\\Extension\\\\Fink\\\\Console\\\\Command\\\\CrawlCommand\\:\\:castToBool\\(\\) has parameter \\$value with no type specified\\.$#" count: 1 path: lib/Console/Command/CrawlCommand.php - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\Console\\\\Command\\\\CrawlCommand\\:\\:castToBool\\(\\) has parameter \\$value with no typehint specified\\.$#" + message: "#^Method DTL\\\\Extension\\\\Fink\\\\Console\\\\Command\\\\CrawlCommand\\:\\:castToFloat\\(\\) has parameter \\$value with no type specified\\.$#" count: 1 path: lib/Console/Command/CrawlCommand.php - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\Console\\\\Command\\\\CrawlCommand\\:\\:castToArray\\(\\) has parameter \\$value with no typehint specified\\.$#" + message: "#^Method DTL\\\\Extension\\\\Fink\\\\Console\\\\Command\\\\CrawlCommand\\:\\:castToInt\\(\\) has parameter \\$value with no type specified\\.$#" count: 1 path: lib/Console/Command/CrawlCommand.php - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\Console\\\\Command\\\\CrawlCommand\\:\\:castToArray\\(\\) return type has no value type specified in iterable type array\\.$#" + message: "#^Method DTL\\\\Extension\\\\Fink\\\\Console\\\\Command\\\\CrawlCommand\\:\\:castToString\\(\\) has parameter \\$value with no type specified\\.$#" count: 1 path: lib/Console/Command/CrawlCommand.php - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\Console\\\\Command\\\\CrawlCommand\\:\\:castToFloat\\(\\) has parameter \\$value with no typehint specified\\.$#" + message: "#^Method DTL\\\\Extension\\\\Fink\\\\Console\\\\Command\\\\CrawlCommand\\:\\:configure\\(\\) has no return type specified\\.$#" count: 1 path: lib/Console/Command/CrawlCommand.php @@ -56,39 +56,34 @@ parameters: path: lib/Console/Display/ConcatenatingDisplay.php - - message: "#^Property DTL\\\\Extension\\\\Fink\\\\Console\\\\Display\\\\RateDisplay\\:\\:\\$lastRequestCount has no typehint specified\\.$#" - count: 1 - path: lib/Console/Display/RateDisplay.php - - - - message: "#^Property DTL\\\\Extension\\\\Fink\\\\Console\\\\Display\\\\RateDisplay\\:\\:\\$requestCounts has no typehint specified\\.$#" + message: "#^Method DTL\\\\Extension\\\\Fink\\\\Console\\\\Display\\\\RateDisplay\\:\\:averageRequestTime\\(\\) has no return type specified\\.$#" count: 1 path: lib/Console/Display/RateDisplay.php - - message: "#^Property DTL\\\\Extension\\\\Fink\\\\Console\\\\Display\\\\RateDisplay\\:\\:\\$initialTime has no typehint specified\\.$#" + message: "#^Property DTL\\\\Extension\\\\Fink\\\\Console\\\\Display\\\\RateDisplay\\:\\:\\$initialTime has no type specified\\.$#" count: 1 path: lib/Console/Display/RateDisplay.php - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\Console\\\\Display\\\\RateDisplay\\:\\:averageRequestTime\\(\\) has no return typehint specified\\.$#" + message: "#^Property DTL\\\\Extension\\\\Fink\\\\Console\\\\Display\\\\RateDisplay\\:\\:\\$lastRequestCount has no type specified\\.$#" count: 1 path: lib/Console/Display/RateDisplay.php - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\Console\\\\Display\\\\RateDisplay\\:\\:averageRequestTime\\(\\) has parameter \\$reportStore with no value type specified in iterable type DTL\\\\Extension\\\\Fink\\\\Model\\\\Store\\\\ImmutableReportStore\\.$#" + message: "#^Property DTL\\\\Extension\\\\Fink\\\\Console\\\\Display\\\\RateDisplay\\:\\:\\$requestCounts has no type specified\\.$#" count: 1 path: lib/Console/Display/RateDisplay.php - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\Console\\\\Display\\\\ReportListDisplay\\:\\:resolveFormat\\(\\) has no return typehint specified\\.$#" + message: "#^Method DTL\\\\Extension\\\\Fink\\\\Console\\\\Display\\\\ReportListDisplay\\:\\:resolveFormat\\(\\) has no return type specified\\.$#" count: 1 path: lib/Console/Display/ReportListDisplay.php - - message: "#^Property DTL\\\\Extension\\\\Fink\\\\Console\\\\DisplayBuilder\\:\\:\\$default type has no value type specified in iterable type array\\.$#" + message: "#^Property DTL\\\\Extension\\\\Fink\\\\Console\\\\Display\\\\UptimeDisplay\\:\\:\\$windowSize is unused\\.$#" count: 1 - path: lib/Console/DisplayBuilder.php + path: lib/Console/Display/UptimeDisplay.php - message: "#^Method DTL\\\\Extension\\\\Fink\\\\Console\\\\DisplayBuilder\\:\\:__construct\\(\\) has parameter \\$defaut with no value type specified in iterable type array\\.$#" @@ -116,9 +111,9 @@ parameters: path: lib/Console/DisplayBuilder.php - - message: "#^Property DTL\\\\Extension\\\\Fink\\\\Console\\\\DisplayRegistry\\:\\:\\$displays type has no value type specified in iterable type array\\.$#" + message: "#^Property DTL\\\\Extension\\\\Fink\\\\Console\\\\DisplayBuilder\\:\\:\\$default type has no value type specified in iterable type array\\.$#" count: 1 - path: lib/Console/DisplayRegistry.php + path: lib/Console/DisplayBuilder.php - message: "#^Method DTL\\\\Extension\\\\Fink\\\\Console\\\\DisplayRegistry\\:\\:__construct\\(\\) has parameter \\$displays with no value type specified in iterable type array\\.$#" @@ -126,42 +121,42 @@ parameters: path: lib/Console/DisplayRegistry.php - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\Console\\\\DisplayRegistry\\:\\:get\\(\\) has no return typehint specified\\.$#" + message: "#^Method DTL\\\\Extension\\\\Fink\\\\Console\\\\DisplayRegistry\\:\\:add\\(\\) has no return type specified\\.$#" count: 1 path: lib/Console/DisplayRegistry.php - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\Console\\\\DisplayRegistry\\:\\:add\\(\\) has no return typehint specified\\.$#" + message: "#^Method DTL\\\\Extension\\\\Fink\\\\Console\\\\DisplayRegistry\\:\\:get\\(\\) has no return type specified\\.$#" count: 1 path: lib/Console/DisplayRegistry.php - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\Console\\\\HeaderParser\\:\\:parseHeaders\\(\\) has no return typehint specified\\.$#" + message: "#^Property DTL\\\\Extension\\\\Fink\\\\Console\\\\DisplayRegistry\\:\\:\\$displays type has no value type specified in iterable type array\\.$#" count: 1 - path: lib/Console/HeaderParser.php + path: lib/Console/DisplayRegistry.php - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\Console\\\\HeaderParser\\:\\:parseHeaders\\(\\) has parameter \\$rawHeaders with no value type specified in iterable type array\\.$#" + message: "#^Method DTL\\\\Extension\\\\Fink\\\\Console\\\\HeaderParser\\:\\:parseHeaders\\(\\) has no return type specified\\.$#" count: 1 path: lib/Console/HeaderParser.php - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\DispatcherBuilder\\:\\:create\\(\\) has parameter \\$urls with no value type specified in iterable type array\\.$#" + message: "#^Method DTL\\\\Extension\\\\Fink\\\\Console\\\\HeaderParser\\:\\:parseHeaders\\(\\) has parameter \\$rawHeaders with no value type specified in iterable type array\\.$#" count: 1 - path: lib/DispatcherBuilder.php + path: lib/Console/HeaderParser.php - - message: "#^Property DTL\\\\Extension\\\\Fink\\\\DispatcherBuilder\\:\\:\\$excludeUrlPatterns type has no value type specified in iterable type array\\.$#" + message: "#^Method DTL\\\\Extension\\\\Fink\\\\DispatcherBuilder\\:\\:buildPublishStream\\(\\) has no return type specified\\.$#" count: 1 path: lib/DispatcherBuilder.php - - message: "#^Property DTL\\\\Extension\\\\Fink\\\\DispatcherBuilder\\:\\:\\$headers type has no value type specified in iterable type array\\.$#" + message: "#^Method DTL\\\\Extension\\\\Fink\\\\DispatcherBuilder\\:\\:buildPublisher\\(\\) has no return type specified\\.$#" count: 1 path: lib/DispatcherBuilder.php - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\DispatcherBuilder\\:\\:__construct\\(\\) has parameter \\$baseUrls with no value type specified in iterable type DTL\\\\Extension\\\\Fink\\\\Model\\\\Urls\\.$#" + message: "#^Method DTL\\\\Extension\\\\Fink\\\\DispatcherBuilder\\:\\:create\\(\\) has parameter \\$urls with no value type specified in iterable type array\\.$#" count: 1 path: lib/DispatcherBuilder.php @@ -171,64 +166,64 @@ parameters: path: lib/DispatcherBuilder.php - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\DispatcherBuilder\\:\\:publishResource\\(\\) has parameter \\$resource with no typehint specified\\.$#" + message: "#^Method DTL\\\\Extension\\\\Fink\\\\DispatcherBuilder\\:\\:headers\\(\\) has parameter \\$headers with no value type specified in iterable type array\\.$#" count: 1 path: lib/DispatcherBuilder.php - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\DispatcherBuilder\\:\\:headers\\(\\) has parameter \\$headers with no value type specified in iterable type array\\.$#" + message: "#^Method DTL\\\\Extension\\\\Fink\\\\DispatcherBuilder\\:\\:includeLinks\\(\\) has parameter \\$includeLinks with no value type specified in iterable type array\\.$#" count: 1 path: lib/DispatcherBuilder.php - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\DispatcherBuilder\\:\\:includeLinks\\(\\) has parameter \\$includeLinks with no value type specified in iterable type array\\.$#" + message: "#^Method DTL\\\\Extension\\\\Fink\\\\DispatcherBuilder\\:\\:publishResource\\(\\) has parameter \\$resource with no type specified\\.$#" count: 1 path: lib/DispatcherBuilder.php - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\DispatcherBuilder\\:\\:buildPublisher\\(\\) has no return typehint specified\\.$#" + message: "#^Property DTL\\\\Extension\\\\Fink\\\\DispatcherBuilder\\:\\:\\$excludeUrlPatterns type has no value type specified in iterable type array\\.$#" count: 1 path: lib/DispatcherBuilder.php - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\DispatcherBuilder\\:\\:buildPublishStream\\(\\) has no return typehint specified\\.$#" + message: "#^Property DTL\\\\Extension\\\\Fink\\\\DispatcherBuilder\\:\\:\\$headers type has no value type specified in iterable type array\\.$#" count: 1 path: lib/DispatcherBuilder.php - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\Model\\\\Crawler\\:\\:crawl\\(\\) return type has no value type specified in iterable type Generator\\.$#" + message: "#^Method DTL\\\\Extension\\\\Fink\\\\FinkExtension\\:\\:configure\\(\\) return type has no value type specified in iterable type array\\.$#" count: 1 - path: lib/Model/Crawler.php + path: lib/FinkExtension.php - - message: "#^Argument of an invalid type DOMNodeList\\|false supplied for foreach, only iterables are supported\\.$#" + message: "#^Method DTL\\\\Extension\\\\Fink\\\\FinkExtension\\:\\:configure\\(\\) should return array but return statement is missing\\.$#" count: 1 - path: lib/Model/Crawler.php + path: lib/FinkExtension.php - - message: "#^Property DTL\\\\Extension\\\\Fink\\\\Model\\\\Dispatcher\\:\\:\\$store type has no value type specified in iterable type DTL\\\\Extension\\\\Fink\\\\Model\\\\ReportStore\\.$#" + message: "#^Method DTL\\\\Extension\\\\Fink\\\\FinkExtension\\:\\:load\\(\\) has no return type specified\\.$#" count: 1 - path: lib/Model/Dispatcher.php + path: lib/FinkExtension.php - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\Model\\\\Dispatcher\\:\\:__construct\\(\\) has parameter \\$store with no value type specified in iterable type DTL\\\\Extension\\\\Fink\\\\Model\\\\ReportStore\\.$#" + message: "#^Argument of an invalid type DOMNodeList\\\\|false supplied for foreach, only iterables are supported\\.$#" count: 1 - path: lib/Model/Dispatcher.php + path: lib/Model/Crawler.php - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\Model\\\\Dispatcher\\:\\:dispatch\\(\\) has no return typehint specified\\.$#" + message: "#^Method DTL\\\\Extension\\\\Fink\\\\Model\\\\Dispatcher\\:\\:dispatch\\(\\) has no return type specified\\.$#" count: 1 path: lib/Model/Dispatcher.php - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\Model\\\\DispatcherBuilderFactory\\:\\:createForUrls\\(\\) has parameter \\$urls with no typehint specified\\.$#" + message: "#^Property DTL\\\\Extension\\\\Fink\\\\Model\\\\Dispatcher\\:\\:\\$maxDistance is unused\\.$#" count: 1 - path: lib/Model/DispatcherBuilderFactory.php + path: lib/Model/Dispatcher.php - - message: "#^Interface DTL\\\\Extension\\\\Fink\\\\Model\\\\ImmutableReportStore extends generic interface IteratorAggregate but does not specify its types\\: TKey, TValue$#" + message: "#^Method DTL\\\\Extension\\\\Fink\\\\Model\\\\DispatcherBuilderFactory\\:\\:createForUrls\\(\\) has parameter \\$urls with no type specified\\.$#" count: 1 - path: lib/Model/ImmutableReportStore.php + path: lib/Model/DispatcherBuilderFactory.php - message: "#^Method DTL\\\\Extension\\\\Fink\\\\Model\\\\Limiter\\\\ChainLimiter\\:\\:__construct\\(\\) has parameter \\$limiters with no value type specified in iterable type array\\.$#" @@ -236,52 +231,52 @@ parameters: path: lib/Model/Limiter/ChainLimiter.php - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\Model\\\\Limiter\\\\ChainLimiter\\:\\:add\\(\\) has no return typehint specified\\.$#" + message: "#^Method DTL\\\\Extension\\\\Fink\\\\Model\\\\Limiter\\\\ChainLimiter\\:\\:add\\(\\) has no return type specified\\.$#" count: 1 path: lib/Model/Limiter/ChainLimiter.php - - message: "#^Property DTL\\\\Extension\\\\Fink\\\\Model\\\\Limiter\\\\RateLimiter\\:\\:\\$lastRequest has no typehint specified\\.$#" + message: "#^Property DTL\\\\Extension\\\\Fink\\\\Model\\\\Limiter\\\\RateLimiter\\:\\:\\$lastRequest has no type specified\\.$#" count: 1 path: lib/Model/Limiter/RateLimiter.php - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\Model\\\\Publisher\\\\CsvStreamPublisher\\:\\:__construct\\(\\) has parameter \\$stream with no typehint specified\\.$#" + message: "#^Method DTL\\\\Extension\\\\Fink\\\\Model\\\\Publisher\\\\CsvStreamPublisher\\:\\:__construct\\(\\) has parameter \\$stream with no type specified\\.$#" count: 1 path: lib/Model/Publisher/CsvStreamPublisher.php - - message: "#^Property DTL\\\\Extension\\\\Fink\\\\Model\\\\Queue\\\\DedupeQueue\\:\\:\\$seen has no typehint specified\\.$#" + message: "#^Property DTL\\\\Extension\\\\Fink\\\\Model\\\\Queue\\\\DedupeQueue\\:\\:\\$seen has no type specified\\.$#" count: 1 path: lib/Model/Queue/DedupeQueue.php - - message: "#^Property DTL\\\\Extension\\\\Fink\\\\Model\\\\Queue\\\\ExcludingQueue\\:\\:\\$patterns type has no value type specified in iterable type array\\.$#" + message: "#^Method DTL\\\\Extension\\\\Fink\\\\Model\\\\Queue\\\\ExcludingQueue\\:\\:__construct\\(\\) has parameter \\$patterns with no value type specified in iterable type array\\.$#" count: 1 path: lib/Model/Queue/ExcludingQueue.php - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\Model\\\\Queue\\\\ExcludingQueue\\:\\:__construct\\(\\) has parameter \\$patterns with no value type specified in iterable type array\\.$#" + message: "#^Property DTL\\\\Extension\\\\Fink\\\\Model\\\\Queue\\\\ExcludingQueue\\:\\:\\$patterns type has no value type specified in iterable type array\\.$#" count: 1 path: lib/Model/Queue/ExcludingQueue.php - - message: "#^Property DTL\\\\Extension\\\\Fink\\\\Model\\\\Queue\\\\RealUrlQueue\\:\\:\\$urls has no typehint specified\\.$#" + message: "#^Property DTL\\\\Extension\\\\Fink\\\\Model\\\\Queue\\\\RealUrlQueue\\:\\:\\$urls has no type specified\\.$#" count: 1 path: lib/Model/Queue/RealUrlQueue.php - - message: "#^Property DTL\\\\Extension\\\\Fink\\\\Model\\\\ReferringElement\\:\\:\\$xpath has no typehint specified\\.$#" + message: "#^Property DTL\\\\Extension\\\\Fink\\\\Model\\\\ReferringElement\\:\\:\\$baseUri has no type specified\\.$#" count: 1 path: lib/Model/ReferringElement.php - - message: "#^Property DTL\\\\Extension\\\\Fink\\\\Model\\\\ReferringElement\\:\\:\\$title has no typehint specified\\.$#" + message: "#^Property DTL\\\\Extension\\\\Fink\\\\Model\\\\ReferringElement\\:\\:\\$title has no type specified\\.$#" count: 1 path: lib/Model/ReferringElement.php - - message: "#^Property DTL\\\\Extension\\\\Fink\\\\Model\\\\ReferringElement\\:\\:\\$baseUri has no typehint specified\\.$#" + message: "#^Property DTL\\\\Extension\\\\Fink\\\\Model\\\\ReferringElement\\:\\:\\$xpath has no type specified\\.$#" count: 1 path: lib/Model/ReferringElement.php @@ -291,44 +286,14 @@ parameters: path: lib/Model/Report.php - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\Model\\\\ReportBuilder\\:\\:withTimestamp\\(\\) has no return typehint specified\\.$#" + message: "#^Method DTL\\\\Extension\\\\Fink\\\\Model\\\\ReportBuilder\\:\\:withTimestamp\\(\\) has no return type specified\\.$#" count: 1 path: lib/Model/ReportBuilder.php - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\Model\\\\Status\\:\\:__construct\\(\\) has parameter \\$reportStore with no value type specified in iterable type DTL\\\\Extension\\\\Fink\\\\Model\\\\Store\\\\ImmutableReportStore\\.$#" - count: 1 - path: lib/Model/Status.php - - - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\Model\\\\Status\\:\\:reportStore\\(\\) return type has no value type specified in iterable type DTL\\\\Extension\\\\Fink\\\\Model\\\\Store\\\\ImmutableReportStore\\.$#" - count: 1 - path: lib/Model/Status.php - - - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\Model\\\\Store\\\\CircularReportStore\\:\\:getIterator\\(\\) return type has no value type specified in iterable type Iterator\\.$#" - count: 1 - path: lib/Model/Store/CircularReportStore.php - - - - message: "#^Property DTL\\\\Extension\\\\Fink\\\\Model\\\\Store\\\\ImmutableReportStore\\:\\:\\$innerStore type has no value type specified in iterable type DTL\\\\Extension\\\\Fink\\\\Model\\\\ReportStore\\.$#" + message: "#^Property DTL\\\\Extension\\\\Fink\\\\Model\\\\ReportBuilder\\:\\:\\$referringUrl is never read, only written\\.$#" count: 1 - path: lib/Model/Store/ImmutableReportStore.php - - - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\Model\\\\Store\\\\ImmutableReportStore\\:\\:__construct\\(\\) has parameter \\$innerStore with no value type specified in iterable type DTL\\\\Extension\\\\Fink\\\\Model\\\\ReportStore\\.$#" - count: 1 - path: lib/Model/Store/ImmutableReportStore.php - - - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\Model\\\\Store\\\\ImmutableReportStore\\:\\:getIterator\\(\\) return type has no value type specified in iterable type Traversable\\\\.$#" - count: 1 - path: lib/Model/Store/ImmutableReportStore.php - - - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\Model\\\\Store\\\\NullReportStore\\:\\:getIterator\\(\\) return type has no value type specified in iterable type Traversable\\\\.$#" - count: 1 - path: lib/Model/Store/NullReportStore.php + path: lib/Model/ReportBuilder.php - message: "#^Class DTL\\\\Extension\\\\Fink\\\\Model\\\\Urls implements generic interface IteratorAggregate but does not specify its types\\: TKey, TValue$#" @@ -341,22 +306,16 @@ parameters: path: lib/Model/Urls.php - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\Model\\\\Urls\\:\\:fromUrls\\(\\) has no return typehint specified\\.$#" - count: 1 - path: lib/Model/Urls.php - - - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\Model\\\\Urls\\:\\:fromUrls\\(\\) has parameter \\$urls with no value type specified in iterable type array\\.$#" + message: "#^Method DTL\\\\Extension\\\\Fink\\\\Model\\\\Urls\\:\\:add\\(\\) has no return type specified\\.$#" count: 1 path: lib/Model/Urls.php - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\Model\\\\Urls\\:\\:add\\(\\) has no return typehint specified\\.$#" + message: "#^Method DTL\\\\Extension\\\\Fink\\\\Model\\\\Urls\\:\\:fromUrls\\(\\) has no return type specified\\.$#" count: 1 path: lib/Model/Urls.php - - message: "#^Method DTL\\\\Extension\\\\Fink\\\\Model\\\\Urls\\:\\:getIterator\\(\\) return type has no value type specified in iterable type Traversable\\\\.$#" + message: "#^Method DTL\\\\Extension\\\\Fink\\\\Model\\\\Urls\\:\\:fromUrls\\(\\) has parameter \\$urls with no value type specified in iterable type array\\.$#" count: 1 path: lib/Model/Urls.php -