@sketchpixy/just-wait
v1.0.5
Published
Wait for a file or directory to change then just return
Downloads
146
Readme
just-wait v1.0.5
Waits for a file or directory to change or appear, then just returns. The watched file or directory does not have to exist yet.
Installation
npm install --g just-wait
Usage
# Use --help or -h to see usage details
$ just-wait --help
Usage: just-wait [options]
Options:
-h, --help output usage information
-p, --pattern <pattern> glob pattern. "," separates multiple patterns.
More info: https://github.com/isaacs/minimatch
-d, --delay <milliseconds> delay returning for a number of milliseconds
-t, --timeout <seconds> timeout waiting after a number of seconds (default=30)
-s, --silent supress logging.
Examples:
# watch "lib" dir, return when something changes
$ just-wait -p "lib/**"
# watch "lib" and "src" dirs, return 500ms after something changes
$ just-wait -p "lib/**,src/**" -d 500
# watch "lib" dir, timeout after 10 seconds
$ just-wait -p "lib/**,src/**" -t 10
In the case of a timeout, just-wait
will return with exit code 1
.
In other cases it will return with exit code 0
Logging
By default just-wait
will log two messages to the terminal to provide
feedback to the user:
$ just-wait -p README.md && echo Done!
Waiting for README.md (max 30 seconds)
Ready. README.md changed
Done!
$
or, in the case of timeout:
$ just-wait -p README.md --timeout 10 && echo Done!
Waiting for README.md (max 10 seconds)
Timed out waiting for README.md after 10 seconds.
$
It uses picolog for logging, which allows us
to influence logging verbosity. The Waiting for..
line is logged at level
WARN
(which means it is visible at picolog's default log level of WARN
) and
both the success and error message are logged at level ERROR
. You can change
the picolog log level by setting the environment variable PICOLOG_LEVEL
, or you
can completely suppress logging by passing the --silent
(or -s
) flag.
Credits
Based off of Rick Wong's wait-run,
this simplified version just waits for the file or directory to appear/change and then returns. It does not
execute any commands. Use it by chaining commands after it using &&
, which works under *nix as well as Windows.
Credits also go to Fabian Eichenberger, who created watch-run, which was the basis for Rick's version.
Special thanks to Mark Reynolds for making all our lives easier with his contribution.
Copyright
- © 2016, Stijn de Witt. (this project)
- © 2016, Rick Wong. (wait-run)
- © 2015, Fabian Eichenberger. (watch-run)
License
- Creative Commons Attribution 4.0 (CC-BY-4.0) (this project)
- BSD 3-Clause license (wait-run)
- MIT License (watch-run)