Coyote combines your source files into a single script or stylesheet 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 :build 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