COYOTE

A speedy tool for combining and compressing your JavaScript, CoffeeScript, CSS and LESS source files.

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.

Build Status

Installation

    $ gem install coyote

Command Line Interface

Syntax:

    $ coyote [input_filepath]:[output_filepath]

Example

    $ coyote src/application.coffee:build/application.min.js

Options

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

Requiring Source Files

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.

Using with Rake

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 

    coyote :watch do |config|
      config.input = "src/application.coffee"
      config.output = "build/application.min.js"
      config.options = { :quiet => true }
    end

This will create two Rake tasks, build and watch, which you can run as standard tasks: rake build and rake watch.

Contribute

We'd love your help. Fork us so we can make Coyote better.

    $ git clone git://github.com/imulus/coyote

Download

You can download this project in either zip or tar formats.

or get the source code on GitHub : imulus/coyote