Releases: filewatcher/filewatcher
Plugins system
- Add plugin system.
Take out CLI and spinner.
Add more plugins likematrix
andaccess
. - Remove
:every
option: do it yourself viachanges.first
, if you want. - Drop Ruby 2.4 and 2.5 support.
- Support Ruby 3.0 and 3.1.
- Switch from
bacon
test framework to RSpec.
Speed up and improve tests, fix many phantom fails. - Update development dependencies.
- Add
rubocop-rspec
andrubocop-performance
. - Resolve new offenses from RuboCop and its plugins.
- Switch from Travis CI to Cirrus CI.
- Add JRuby, Windows and TruffleRuby to CI.
- Add
bundle-audit
CI task.
Fix `--restart` option
More info at #96.
Replace `Trollop` with `Optimist`
The first stable version, refactored and tested
FileWatcher
renamed to Filewatcher
(now follows the generally accepted rules of naming).
Events renamed:
Before | After |
---|---|
changed |
updated |
new |
created |
delete |
deleted |
The executable file now executes the command only once by default when several files are changed. To return the old behavior, the option --every
is added.
For the Ruby API, Hash
with changes to the current snapshot are now available, and you are free to process any change as you wish.
Tests are now very long (we will improve it), but (hopefully) reliable.
Congratulations!
New --restart and --dontwait options
The --restart
option restarts the command when changes happens on the file system. The --dontwait
starts the command when filewatcher is started. To start a webserver and have it automatically restart when html files are updated:
$ filewatcher --dontwait --restart "*.html" "python -m SimpleHTTPServer"
Support for absolute and globbed paths
Absolute paths and globbed paths now work properly.
FileWatcher.new(["/tmp/"]).watch do |filename|
...
end
FileWatcher.new(["/tmp/**"]).watch do |filename|
...
end
Exit cleanly from ctrl-c
This prevents a stack trace from printing on exit.