Credit for this library goes to https://github.com/VojtechVitek/rerun
Lightweight file-watcher that re-runs given command on FS changes. It has simple CLI and optional config file. By default, it uses 200ms delay, which gives enough time for tools like git to update all directories/files within repository before killing the old process (when you switch branches etc).
$ rerun -watch ./ -ignore vendor bin -run go run ./cmd/rerun/main.go
$ rerun -watch ./ -ignore vendor bin -run sh -c 'go build -i -o ./bin/rerun ./cmd/rerun/main.go && ./bin/rerun'
$ cd tests && rerun -watch '*_test.go' ../pkg -ignore vendor bin -run go test -run=Test
go get -u github.com/goware/rerun/cmd/rerun
You might need to download Go first.
api:
watch:
- cmd
- *.go
ignore:
- bin
- *_test.go
cmd:
- go run cmd/api/main.go -flags args
test-login:
name: Test login
watch:
- tests/e2e
- services/auth
- data
run:
- go test -run=Login
Uses fsnotify behind the scenes, so technically it should work on most platforms including Linux, Mac OS and Windows.
Licensed under the MIT License.