pestphp / pest-plugin-watch

The Pest Plugin Watch
https://pestphp.com
MIT License
17 stars 10 forks source link

Replace fswatch with spatie/file-system-watcher (#1) #16

Open herpaderpaldent opened 1 year ago

herpaderpaldent commented 1 year ago

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)

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?

paulshryock commented 1 year ago

@herpaderpaldent what would you think about using https://github.com/thecodeholic/php-file-watcher?

It looks like that would be a native PHP solution without requiring an external dependency like fswatch or node & chokidar.

It would be nice be able to run this on a php Docker container without needing to install Node, etc.