From c02465116234d4c44f006a5a76f779f88dadc735 Mon Sep 17 00:00:00 2001 From: sasezaki Date: Sun, 23 Nov 2025 21:54:39 +0900 Subject: [PATCH] Add support shipmonk/composer-dependency-analyser Signed-off-by: sasezaki --- README.md | 1 + src/tools.ts | 4 +++- src/tools/composerDependencyAnalyser.ts | 11 +++++++++++ .../.laminas-ci.json | 3 +++ .../composer-dependency-analyser.php | 9 +++++++++ .../matrix.json | 10 ++++++++++ .../code-check-composer-dependency-analyser/test.env | 0 7 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 src/tools/composerDependencyAnalyser.ts create mode 100644 tests/code-check-composer-dependency-analyser/.laminas-ci.json create mode 100644 tests/code-check-composer-dependency-analyser/composer-dependency-analyser.php create mode 100644 tests/code-check-composer-dependency-analyser/matrix.json create mode 100644 tests/code-check-composer-dependency-analyser/test.env diff --git a/README.md b/README.md index 4022d85a..a0928ca2 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,7 @@ Currently, it identifies the following: - Psalm checks based on the presence of `psalm.xml.dist` or `psalm.xml` files. - PHPStan checks based on the presence of `phpstan.neon`, `phpstan.neon.dist` or `phpstan.dist.neon` files. - ComposerRequireChecker checks based on the presence of `composer-require-checker.json` file. +- composer-dependency-analyser checks based on the presence of `composer-dependency-analyser.php` file. - phpbench benchmarks based on the presence of a `phpbench.json`. - Infection mutation tests based on the presence of `infection.json` or `infection.json.dist`. In case that `roave/infection-static-analysis-plugin` is installed, this will be used instead. - Markdown documentation based on the presence of a `mkdocs.yml` and/or markdown files in the `doc/book/` or `doc/books/` trees. diff --git a/src/tools.ts b/src/tools.ts index 8fb5dafc..a99a01da 100644 --- a/src/tools.ts +++ b/src/tools.ts @@ -6,6 +6,7 @@ import {InfectionTool} from './tools/infection'; import {PhpCodeSnifferTool} from './tools/codesniffer'; import {PsalmTool} from './tools/psalm'; import {ComposerRequireCheckerTool} from './tools/composerRequireChecker'; +import {ComposerDependencyAnalyser} from './tools/composerDependencyAnalyser'; import {PhpBenchTool} from './tools/phpbench'; import {CodeceptionTool} from './tools/codeception'; import {PhpCsFixerTool} from './tools/phpCsFixer'; @@ -80,6 +81,7 @@ export default function createTools(config: Config): Array { PhpCodeSnifferTool, PsalmTool, ComposerRequireCheckerTool, + ComposerDependencyAnalyser, PhpBenchTool, CodeceptionTool, PhpCsFixerTool, @@ -106,4 +108,4 @@ export function removeNonExistentFilesToCheck(tool: Tool): Tool { export function isToolRunningContainerDefaultPhpVersion(tool: Tool): tool is ToolRunningContainerDefaultPhpVersion { return (tool as ToolRunningContainerDefaultPhpVersion).php === CONTAINER_DEFAULT_PHP_VERSION; -} +} \ No newline at end of file diff --git a/src/tools/composerDependencyAnalyser.ts b/src/tools/composerDependencyAnalyser.ts new file mode 100644 index 00000000..81fa739c --- /dev/null +++ b/src/tools/composerDependencyAnalyser.ts @@ -0,0 +1,11 @@ +import { ToolType } from '../enum/toolType'; +import { ToolExecutionType } from '../enum/toolExecutionType'; + +export const ComposerDependencyAnalyser = { + executionType: ToolExecutionType.STATIC, + name: 'Composer Dependency Analyser', + command: './vendor/bin/composer-dependency-analyser', + filesToCheck: ['composer-dependency-analyser.php'], + toolType: ToolType.CODE_CHECK, +}; + diff --git a/tests/code-check-composer-dependency-analyser/.laminas-ci.json b/tests/code-check-composer-dependency-analyser/.laminas-ci.json new file mode 100644 index 00000000..8aec558a --- /dev/null +++ b/tests/code-check-composer-dependency-analyser/.laminas-ci.json @@ -0,0 +1,3 @@ +{ + "stablePHP": "7.4" +} \ No newline at end of file diff --git a/tests/code-check-composer-dependency-analyser/composer-dependency-analyser.php b/tests/code-check-composer-dependency-analyser/composer-dependency-analyser.php new file mode 100644 index 00000000..16838b4a --- /dev/null +++ b/tests/code-check-composer-dependency-analyser/composer-dependency-analyser.php @@ -0,0 +1,9 @@ +