Coyote combines your source files into a single script to reduce HTTP overhead and make development easier. It has built-in support for Sprockets-style dependency syntax (`#= require x`) and a lightning-fast, built-in watch mechanism to detect changes to your source files and recompile on the fly. For increased optimization, you can optionally run the final compilation through the Google Closure Compiler before save.
$ gem install coyote
Syntax:
$ coyote [input_filepath]:[output_filepath]
Example:
$ coyote src/application.coffee:build/application.min.js
Option | Description |
---|---|
-c, --compress | Compress the final compilation with the Google Closure Compiler |
-w, --watch | Use the built-in watch mechanism to observe your source files and re-compile when something changes |
-q, --quiet | Quiet the command-line output |
-v, --version | Get the version of your Coyote gem |
Coyote has support for Sprockets-style requires, with one exception. Instead of using `require_tree`, you can simply use `require` and Coyote will automatically detect if the path is a source file or a directory.
Syntax: (JavaScript)
//= require other_file.js
//= require some_directory
Syntax: (CoffeeScript)
#= require other_file.coffee
#= require some_directory
Paths used in `require` statements are evaluated relative to the file which contains them.
Coyote ships with convenience methods for neatly defining tasks in your Rakefile
require 'coyote/rake'
coyote do |config|
config.input = "src/application.coffee"
config.output = "build/application.min.js"
config.options = { :compress => true }
end
This will create two Rake tasks, `build` and `watch`, which you can run as standard tasks: `rake build` and `rake watch`
$ rake build
$ rake watch
We'd love your help. Fork us so we can make Coyote better.
$ git clone git://github.com/imulus/coyote
You can download this project in either zip or tar formats.
or get the source code on GitHub : imulus/coyote