jsrebuild
jsrebuild dynamically runs the Jake build tool to rebuild JavaScript projects in development environments.
Overview
Jake is often run as part of a website's build process, building JavaScript
packages from source files. This often leads to a tedious situation for
projects which use Jake, as the developer must continually run the jake
command to rebuild their JavaScript files as they make changes to the source
code.
The jsrebuild utility provides a solution to this problem: it watches a
source directory and rebuilds the project whenever changes are made to the
source files, jake.yml config file and the Jakefile helper file.
Installation
jsrebuild uses the Cool.io library which depends on libev, a low-level event loop library, so you will need to have libev installed before attempting to install the jsrebuild gem.
jsrebuild is available from RubyGems, so you can install it and its dependencies simply by running
gem install jsrebuild
Running jsrebuild
To watch a particular directory such as ~/projects/mywebapp for changes, just
run
jsrebuild ~/projects/mywebapp
The jsrebuild tool takes a number of command-line arguments, allowing you to
set options such as the interval at which it checks files for changes, and
whether or not to force all the project's packages to be rebuild whenever a
change is made.
For a full list of options, run jsrebuild --help.
jsrebuild will happily run daemonised. To shut down the process, simply send
it SIGHUP and it will shut down the event loop and exit cleanly.