pest-plugin-watch
pest-plugin-watch copied to clipboard
Replace fswatch with spatie/file-system-watcher (#1)
DRAFT: Replace fswatch
What do you think about this?
How about replacing fswatch with spatie/file-system-watcher? I know from discord that this has been a topic for quite some time. I'd be more then happy to outline the changes and challenges and functionality but before i do so, i'd like to gather some feedback.
Description (made by whatthediff.ai)
- Update PHP version requirement to 8.1
- Remove ReactPHP dependencies and replace with Symfony Process component
- Replace fswatch dependency with spatie/file-system-watcher package (which uses inotify)
- Add Termwind for pretty output when watching files, instead of using the default Pest console output which is not very readable on a terminal that supports ANSI colors
Motivation
if you search through the discourse you'll see many problems caused by fswatch
f.e. it's not available on package managers for Windows. On Linux Systems the watcher plugin doesn't run at all even with fswatch
installed. I was under the impression the move away from fswatch
was on the bucket list for some time. @owenvoke might add to this?
Installation
In your project, you should have the JavaScript package chokidar installed. You can install it via npm
npm install chokidar
or Yarn
yarn add chokidar
usage
vendor/bin/pest --watch
you may specify a folder/file to test only. Upon saving the test will executed again.
vendor/bin/pest --watch tests/Unit/foo.php
Anything to consider? Code Style? Anything?