From 6663022ecd87615152188984e37322e37a14e9cf Mon Sep 17 00:00:00 2001 From: Jakub Zalas Date: Thu, 13 Mar 2025 10:22:41 +0000 Subject: [PATCH 1/6] Add davidrjonas/composer-lock-diff --- README.md | 1 + resources/composer.json | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/README.md b/README.md index 6f470c9..39269db 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,7 @@ It has been extracted as a separate project to make maintenance easier and enabl | codeception | [Codeception is a BDD-styled PHP testing framework](https://codeception.com/) | ✅ | ✅ | ✅ | | composer | [Dependency Manager for PHP](https://getcomposer.org/) | ✅ | ✅ | ✅ | | composer-bin-plugin | [Composer plugin to install bin vendors in isolated locations](https://github.com/bamarni/composer-bin-plugin) | ✅ | ✅ | ✅ | +| composer-lock-diff | [Composer plugin to check what has changed after a composer update](https://github.com/davidrjonas/composer-lock-diff) | ✅ | ✅ | ✅ | | composer-normalize | [Composer plugin to normalize composer.json files](https://github.com/ergebnis/composer-normalize) | ✅ | ✅ | ✅ | | composer-require-checker | [Verify that no unknown symbols are used in the sources of a package.](https://github.com/maglnet/ComposerRequireChecker) | ✅ | ✅ | ✅ | | composer-require-checker-3 | [Verify that no unknown symbols are used in the sources of a package.](https://github.com/maglnet/ComposerRequireChecker) | ✅ | ✅ | ✅ | diff --git a/resources/composer.json b/resources/composer.json index 93fe87c..6bf0cb7 100644 --- a/resources/composer.json +++ b/resources/composer.json @@ -71,6 +71,21 @@ }, "test": "composer global show cyclonedx/cyclonedx-php-composer", "tags": ["composer"] + }, + { + "name": "composer-lock-diff", + "summary": "Composer plugin to check what has changed after a composer update", + "website": "https://github.com/davidrjonas/composer-lock-diff", + "command": { + "sh": { + "command": "composer global config --no-plugins allow-plugins.davidrjonas/composer-lock-diff true" + }, + "composer-global-install": { + "package": "davidrjonas/composer-lock-diff" + } + }, + "test": "composer global show davidrjonas/composer-lock-diff", + "tags": ["composer"] } ] } From 6959dc453f79df0dc853aa8b3496d8123db8ca79 Mon Sep 17 00:00:00 2001 From: Jakub Zalas Date: Thu, 13 Mar 2025 14:49:17 +0000 Subject: [PATCH 2/6] Remove pepakriz/phpstan-exception-rules The package is becoming obsolete (see https://github.com/pepakriz/phpstan-exception-rules/issues/148). It seems to be the only phpstan extension we provide that does not support phpstan v2 (see https://github.com/jakzal/phpqa/issues/433). --- README.md | 2 +- resources/phpstan.json | 13 ------------- 2 files changed, 1 insertion(+), 14 deletions(-) diff --git a/README.md b/README.md index 39269db..d4edff9 100644 --- a/README.md +++ b/README.md @@ -73,7 +73,6 @@ It has been extracted as a separate project to make maintenance easier and enabl | phpstan-deprecation-rules | [PHPStan rules for detecting deprecated code](https://github.com/phpstan/phpstan-deprecation-rules) | ✅ | ✅ | ✅ | | phpstan-doctrine | [Doctrine extensions for PHPStan](https://github.com/phpstan/phpstan-doctrine) | ✅ | ✅ | ✅ | | phpstan-ergebnis-rules | [Additional rules for PHPstan](https://github.com/ergebnis/phpstan-rules) | ✅ | ✅ | ✅ | -| phpstan-exception-rules | [PHPStan rules for checked and unchecked exceptions](https://github.com/pepakriz/phpstan-exception-rules) | ✅ | ✅ | ✅ | | phpstan-larastan | [Separate installation of phpstan for larastan](https://github.com/phpstan/phpstan) | ✅ | ✅ | ✅ | | phpstan-phpunit | [PHPUnit extensions and rules for PHPStan](https://github.com/phpstan/phpstan-phpunit) | ✅ | ✅ | ✅ | | phpstan-strict-rules | [Extra strict and opinionated rules for PHPStan](https://github.com/phpstan/phpstan-strict-rules) | ✅ | ✅ | ✅ | @@ -113,6 +112,7 @@ It has been extracted as a separate project to make maintenance easier and enabl | phpcf | [Finds usage of deprecated features](http://wapmorgan.github.io/PhpCodeFixer/) | | phpda | [Generates dependency graphs](https://mamuz.github.io/PhpDependencyAnalysis/) | | phpdoc-to-typehint | [Automatically adds type hints and return types based on PHPDocs](https://github.com/dunglas/phpdoc-to-typehint) | +| phpstan-exception-rules | [PHPStan rules for checked and unchecked exceptions](https://github.com/pepakriz/phpstan-exception-rules) | | phpstan-localheinz-rules | [Additional rules for PHPstan](https://github.com/localheinz/phpstan-rules) | | phpunit-5 | [The PHP testing framework (5.x version)](https://phpunit.de/) | | phpunit-7 | [The PHP testing framework (7.x version)](https://phpunit.de/) | diff --git a/resources/phpstan.json b/resources/phpstan.json index 5dcf3c5..a8c3172 100644 --- a/resources/phpstan.json +++ b/resources/phpstan.json @@ -118,19 +118,6 @@ "test": "composer global bin phpstan show phpstan/phpstan-webmozart-assert", "tags": ["phpstan"] }, - { - "name": "phpstan-exception-rules", - "summary": "PHPStan rules for checked and unchecked exceptions", - "website": "https://github.com/pepakriz/phpstan-exception-rules", - "command": { - "composer-bin-plugin": { - "package": "pepakriz/phpstan-exception-rules", - "namespace": "phpstan" - } - }, - "test": "composer global bin phpstan show pepakriz/phpstan-exception-rules", - "tags": ["phpstan"] - }, { "name": "phpat", "summary": "Easy to use architecture testing tool", From 54406c6431d8092635f0f4d0a74522c94aaa2752 Mon Sep 17 00:00:00 2001 From: Jakub Zalas Date: Thu, 13 Mar 2025 14:57:51 +0000 Subject: [PATCH 3/6] Add dantleech/gherkin-lint-php Closes https://github.com/jakzal/toolbox/issues/442 --- README.md | 1 + resources/linting.json | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/README.md b/README.md index 39269db..2a17502 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,7 @@ It has been extracted as a separate project to make maintenance easier and enabl | deptrac | [Enforces dependency rules between software layers](https://github.com/deptrac/deptrac) | ✅ | ✅ | ✅ | | diffFilter | [Applies QA tools to run on a single pull request](https://github.com/exussum12/coverageChecker) | ✅ | ✅ | ✅ | | ecs | [Sets up and runs coding standard checks](https://github.com/Symplify/EasyCodingStandard) | ✅ | ✅ | ✅ | +| gherkin-lint-php | [Gherkin linter for PHP](https://github.com/dantleech/gherkin-lint-php) | ✅ | ✅ | ✅ | | infection | [AST based PHP Mutation Testing Framework](https://infection.github.io/) | ✅ | ✅ | ✅ | | larastan | [PHPStan extension for Laravel](https://github.com/nunomaduro/larastan) | ✅ | ✅ | ✅ | | local-php-security-checker | [Checks composer dependencies for known security vulnerabilities](https://github.com/fabpot/local-php-security-checker) | ✅ | ✅ | ✅ | diff --git a/resources/linting.json b/resources/linting.json index 9a87b64..d0b3113 100644 --- a/resources/linting.json +++ b/resources/linting.json @@ -67,6 +67,20 @@ }, "test": "twig-linter --help", "tags": ["linting"] + }, + { + "name": "gherkin-lint-php", + "summary": "Gherkin linter for PHP", + "website": "https://github.com/dantleech/gherkin-lint-php", + "command": { + "composer-bin-plugin": { + "package": "dantleech/gherkin-lint", + "namespace": "gherkin-lint-php", + "links": {"%target-dir%/gherkinlint": "gherkinlint"} + } + }, + "test": "gherkinlint --help", + "tags": ["linting"] } ] } From f923714904423e35e66c97c6a9884f6f8257d625 Mon Sep 17 00:00:00 2001 From: Jakub Zalas Date: Thu, 13 Mar 2025 15:40:45 +0000 Subject: [PATCH 4/6] Add tomasvotruba/lines Closes https://github.com/jakzal/toolbox/issues/486 --- README.md | 1 + resources/metrics.json | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/README.md b/README.md index 7ca8102..d8a9349 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,7 @@ It has been extracted as a separate project to make maintenance easier and enabl | gherkin-lint-php | [Gherkin linter for PHP](https://github.com/dantleech/gherkin-lint-php) | ✅ | ✅ | ✅ | | infection | [AST based PHP Mutation Testing Framework](https://infection.github.io/) | ✅ | ✅ | ✅ | | larastan | [PHPStan extension for Laravel](https://github.com/nunomaduro/larastan) | ✅ | ✅ | ✅ | +| lines | [CLI tool for quick metrics of PHP projects](https://github.com/tomasVotruba/lines) | ✅ | ✅ | ✅ | | local-php-security-checker | [Checks composer dependencies for known security vulnerabilities](https://github.com/fabpot/local-php-security-checker) | ✅ | ✅ | ✅ | | parallel-lint | [Checks PHP file syntax](https://github.com/php-parallel-lint/PHP-Parallel-Lint) | ✅ | ✅ | ✅ | | paratest | [Parallel testing for PHPUnit](https://github.com/paratestphp/paratest) | ✅ | ✅ | ✅ | diff --git a/resources/metrics.json b/resources/metrics.json index e19e5c1..07bc7bd 100644 --- a/resources/metrics.json +++ b/resources/metrics.json @@ -43,6 +43,20 @@ }, "test": "phpmetrics --version", "tags": ["featured", "metrics"] + }, + { + "name": "lines", + "summary": "CLI tool for quick metrics of PHP projects", + "website": "https://github.com/tomasVotruba/lines", + "command": { + "composer-bin-plugin": { + "package": "tomasvotruba/lines", + "namespace": "lines", + "links": {"%target-dir%/lines": "lines"} + } + }, + "test": "lines list -q", + "tags": ["metrics"] } ] } From daa111c1feecda44f4da830469eec187ec8a13c0 Mon Sep 17 00:00:00 2001 From: Jakub Zalas Date: Thu, 13 Mar 2025 15:35:19 +0000 Subject: [PATCH 5/6] Install davidrjonas/composer-lock-diff in its own namespace --- resources/composer.json | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/resources/composer.json b/resources/composer.json index 6bf0cb7..bee3b31 100644 --- a/resources/composer.json +++ b/resources/composer.json @@ -77,14 +77,13 @@ "summary": "Composer plugin to check what has changed after a composer update", "website": "https://github.com/davidrjonas/composer-lock-diff", "command": { - "sh": { - "command": "composer global config --no-plugins allow-plugins.davidrjonas/composer-lock-diff true" - }, - "composer-global-install": { - "package": "davidrjonas/composer-lock-diff" + "composer-bin-plugin": { + "package": "davidrjonas/composer-lock-diff", + "namespace": "composer-lock-diff", + "links": {"%target-dir%/composer-lock-diff": "composer-lock-diff"} } }, - "test": "composer global show davidrjonas/composer-lock-diff", + "test": "composer-lock-diff --help", "tags": ["composer"] } ] From b2ebfe292786d36c7573dbd61ef625227afaaf1c Mon Sep 17 00:00:00 2001 From: Jakub Zalas Date: Thu, 13 Mar 2025 15:59:17 +0000 Subject: [PATCH 6/6] Add kahlan --- README.md | 1 + resources/test.json | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/README.md b/README.md index d8a9349..23ba30f 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,7 @@ It has been extracted as a separate project to make maintenance easier and enabl | ecs | [Sets up and runs coding standard checks](https://github.com/Symplify/EasyCodingStandard) | ✅ | ✅ | ✅ | | gherkin-lint-php | [Gherkin linter for PHP](https://github.com/dantleech/gherkin-lint-php) | ✅ | ✅ | ✅ | | infection | [AST based PHP Mutation Testing Framework](https://infection.github.io/) | ✅ | ✅ | ✅ | +| kahlan | [Kahlan is a full-featured Unit & BDD test framework a la RSpec/JSpec](https://kahlan.github.io/docs/) | ✅ | ✅ | ✅ | | larastan | [PHPStan extension for Laravel](https://github.com/nunomaduro/larastan) | ✅ | ✅ | ✅ | | lines | [CLI tool for quick metrics of PHP projects](https://github.com/tomasVotruba/lines) | ✅ | ✅ | ✅ | | local-php-security-checker | [Checks composer dependencies for known security vulnerabilities](https://github.com/fabpot/local-php-security-checker) | ✅ | ✅ | ✅ | diff --git a/resources/test.json b/resources/test.json index 9ee36f0..cb328d6 100644 --- a/resources/test.json +++ b/resources/test.json @@ -198,6 +198,20 @@ }, "test": "simple-phpunit --version", "tags": ["test"] + }, + { + "name": "kahlan", + "summary": "Kahlan is a full-featured Unit & BDD test framework a la RSpec/JSpec", + "website": "https://kahlan.github.io/docs/", + "command": { + "composer-bin-plugin": { + "package": "kahlan/kahlan", + "namespace": "kahlan", + "links": {"%target-dir%/kahlan": "kahlan"} + } + }, + "test": "kahlan --version", + "tags": ["test"] } ] }