diff --git a/composer.json b/composer.json index c91e1b9..bf78522 100644 --- a/composer.json +++ b/composer.json @@ -26,7 +26,7 @@ }, "conflict": { "evenement/evenement": "^1.0", - "pestphp/pest": "<1.0" + "pestphp/pest": "<2.33.0" }, "autoload": { "psr-4": { diff --git a/src/Plugin.php b/src/Plugin.php index 0c9e3c6..c001e95 100644 --- a/src/Plugin.php +++ b/src/Plugin.php @@ -4,7 +4,7 @@ namespace Pest\Watch; -use Pest\Contracts\Plugins\HandlesArguments; +use Pest\Contracts\Plugins\HandlesOriginalArguments; use Pest\Support\Str; use React\ChildProcess\Process; use React\EventLoop\Factory; @@ -17,7 +17,7 @@ /** * @internal */ -final class Plugin implements HandlesArguments +final class Plugin implements HandlesOriginalArguments { public const WATCHED_DIRECTORIES = ['app', 'src', 'tests']; @@ -36,17 +36,17 @@ public function __construct(OutputInterface $output) $this->output = $output; } - public function handleArguments(array $originals): array + public function handleOriginalArguments(array $originalArguments): void { - $arguments = array_merge([''], array_values(array_filter($originals, function ($original): bool { + $arguments = array_merge([''], array_values(array_filter($originalArguments, function ($original): bool { return $original === sprintf('--%s', self::WATCH_OPTION) || Str::startsWith($original, sprintf('--%s=', self::WATCH_OPTION)); }))); - $originals = array_flip($originals); + $originalArguments = array_flip($originalArguments); foreach ($arguments as $argument) { - unset($originals[$argument]); + unset($originalArguments[$argument]); } - $originals = array_flip($originals); + $originalArguments = array_flip($originalArguments); $inputs = []; $inputs[] = new InputOption(self::WATCH_OPTION, null, InputOption::VALUE_OPTIONAL, '', true); @@ -54,7 +54,7 @@ public function handleArguments(array $originals): array $input = new ArgvInput($arguments, new InputDefinition($inputs)); if (! $input->hasParameterOption(sprintf('--%s', self::WATCH_OPTION))) { - return $originals; + return; } $this->checkFswatchIsAvailable(); @@ -68,7 +68,7 @@ public function handleArguments(array $originals): array $watcher = new Watch($loop, $this->watchedDirectories); $watcher->run(); - $command = implode(' ', $originals); + $command = implode(' ', [...$originalArguments, '--colors=always']); $output = $this->output;