This is a
playground to test code. It runs a full
Node.js environment and already has all of
npm’s 400,000 packages pre-installed, including
phly-php-qa-watch with all
npm packages installed. Try it out:
This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.
Automate running your PHP QA toolset!
# npm $ npm i phly-php-qa-watch -g # yarn $ yarn global add phly-php-qa-watch
At its most basic, execute the watcher:
By default, the script, runs
composer check when any of the following change:
You can alter the behavior via the following flags:
-d|--no-notificationswill disable system notifications when failures occur
-w|--watch-filesallows you to provide a comma separated list of files/glob patterns to watch
-c|--check-commandallows you to specify an alternate command to run in order to perform checks; defaults to "composer check"
--help will provide the usage message as well.
To use an alternate tool or pipeline for checking your project, use the
--check-command flags to provide one. As an example, perhaps you want to
combine several composer scripts, without writing an aggregate:
$ php-qa-watch -c "composer cs-lint && composer unit-test && composer mess-detector"
Alternately, perhaps you don't have composer scripts defined; you can just
&&'d set of commands in that case:
$ php-qa-watch -c "./vendor/bin/php-cs-fixer fix --dry-run -v --diff && phpunit --colors=always"
--watch-files flags allow you to specify a comma-separated list of
files, directories, or glob patterns detailing what files to watch for changes.
Let's combine this with the above example:
$ php-qa-watch \ > -c "./vendor/bin/php-cs-fixer fix --dry-run -v --diff && phpunit --colors=always" \ > -w ".php_cs,phpunit.xml,phpunit.xml.dist,src/**/*.php,test/**/*.php"
The above adds ensures that the
phpunit.xml files are watched,
but not the
phpcs.xml (which is in the default set).
php-qa-watch will provide a system notification when the specified
checker fails. This is done to allow you to run the watcher in a hidden
terminal, and only raise it when you see a notification of a break.
If you do not want the notification, disable it with the