Yet another fancy watcher. (Inspired by antr / entr)
Configure execution of different commands using semantic YAML.
# .watch.yaml # list here all the events and the commands that it should execute # TIP: include '.watch.yaml' in your .git/info/exclude to ignore it. - name: run my tests run: make test change: "tests/**" ignore: "tests/integration/**" - name: run linters run: ["npm run lint", "npm run tsc"] change: ["src/static/**", "src/assets/*"] - name: Starwars run: telnet towel.blinkenlights.nl change: ".watch.yaml" - name: say hello run: echo "hello on init" change: ".watch.yaml" run_on_init: true
Create a lightweight watcher to run my tests every time something in my project change. So I won't forget to keep my tests passing. Funzzy was made with Rust that is why it consumes almost nothing to run.
brew tap cristianoliveira/tap brew update brew install funzzy
curl -s https://raw.githubusercontent.com/cristianoliveira/funzzy/master/linux-install.sh | sh
- With Cargo
cargo install funzzy
*Make sure you have
$HOME/.cargo/bin in your PATH
Make sure you have installed the follow dependencies:
Clone this repo and do:
Initializing with boilerplate:
Change the YAML as you want. Then run:
Filtering task by target:
funzzy --target="my task"
Run with some arbitrary command and stdin
find . -R '**.rs' | funzzy 'cargo build'
Run some arbitrary command in an interval of seconds
funzzy run 'cargo build' 10
See more on examples or in the integration specs
Running unit tests:
Running integration tests:
We use clippy for lintting the funzzy's source code. Make sure you had validated it before commit.
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request
Pull Requests are really welcome! Others support also.
Pull Request should have unit tests
This project was made under MIT License.