diff --git a/fractor/composer.json b/fractor/composer.json index f1b7727c..724be146 100644 --- a/fractor/composer.json +++ b/fractor/composer.json @@ -17,7 +17,8 @@ "symfony/console": "^6.4", "symfony/dependency-injection": "^6.4", "symfony/filesystem": "^6.4", - "symfony/finder": "^6.4" + "symfony/finder": "^6.4", + "webmozart/assert": "^1.11" }, "require-dev": { "ergebnis/composer-normalize": "^2.42", diff --git a/fractor/config/application.php b/fractor/config/application.php index a9c61427..32d8d001 100644 --- a/fractor/config/application.php +++ b/fractor/config/application.php @@ -15,7 +15,7 @@ return static function (ContainerConfigurator $containerConfigurator, ContainerBuilder $containerBuilder): void { $parameters = $containerConfigurator->parameters(); - $parameters->set(Option::PATHS, []); + $parameters->set(Option::PATHS, [__DIR__]); $services = $containerConfigurator->services(); $services->defaults() ->autowire() diff --git a/fractor/src/Fractor/FractorRunner.php b/fractor/src/Fractor/FractorRunner.php index 21a50a39..71a8799b 100644 --- a/fractor/src/Fractor/FractorRunner.php +++ b/fractor/src/Fractor/FractorRunner.php @@ -26,10 +26,6 @@ public function __construct(private FileFinder $fileFinder, private FileCollecto public function run(Output $output, bool $dryRun = false): void { - if ($this->configuration->getPaths() === []) { - throw new \RuntimeException('No directories given'); - } - $files = $this->fileFinder->findFiles($this->configuration->getPaths(), $this->configuration->getFileExtensions()); $output->progressStart(count($files)); diff --git a/fractor/src/ValueObject/Configuration.php b/fractor/src/ValueObject/Configuration.php index 8b0e1278..faf1bc11 100644 --- a/fractor/src/ValueObject/Configuration.php +++ b/fractor/src/ValueObject/Configuration.php @@ -4,6 +4,8 @@ namespace a9f\Fractor\ValueObject; +use Webmozart\Assert\Assert; + final readonly class Configuration { /** @@ -12,6 +14,8 @@ */ public function __construct(private array $fileExtensions, private array $paths) { + Assert::notEmpty($this->paths, 'No directories given'); + Assert::allStringNotEmpty($this->paths, 'No directories given'); } /**