From f0121f8bc6f466d942026bd156d30b0bb7516407 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Thu, 31 Oct 2024 12:00:00 +0000 Subject: [PATCH] Remove files that are ignored before they are generated --- src/Command/RemoveIgnoredFilesCommand.php | 34 +++++++++++++++++++ .../Command/RemoveIgnoredFilesCommandTest.php | 25 ++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 src/Command/RemoveIgnoredFilesCommand.php create mode 100644 tests/Kernel/Command/RemoveIgnoredFilesCommandTest.php diff --git a/src/Command/RemoveIgnoredFilesCommand.php b/src/Command/RemoveIgnoredFilesCommand.php new file mode 100644 index 0000000..08bb72e --- /dev/null +++ b/src/Command/RemoveIgnoredFilesCommand.php @@ -0,0 +1,34 @@ + $filesToGenerate + * @var ConfigDto $configurationDataDto, + * @var array $configurationData + */ + [$configurationData, $configurationDataDto, $filesToGenerate] = $filesToGenerateAndConfigurationData; + + $filesToGenerate = array_filter($filesToGenerate, function (TemplateFile $templateFile): bool { + return !collect($this->filenames)->contains($templateFile->name); + }); + + return $next([$configurationDataDto, $filesToGenerate]); + } +} diff --git a/tests/Kernel/Command/RemoveIgnoredFilesCommandTest.php b/tests/Kernel/Command/RemoveIgnoredFilesCommandTest.php new file mode 100644 index 0000000..00e8c01 --- /dev/null +++ b/tests/Kernel/Command/RemoveIgnoredFilesCommandTest.php @@ -0,0 +1,25 @@ +execute([[], [], $filenamesToGenerate], function ($result) { + self::assertCount(1, $result[1]); + self::assertSame('phpcs.xml.dist', $result[1][0]->name); + }); + } +}