Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Static asset rollup manager for Mojito applications.
JavaScript Python Makefile Other
Latest commit 144e04b @aljimenez aljimenez Merge pull request #54 from yahoo/yui-3.18
Upgrade yui version.


Shake it!

Shaker is a powerful static asset manager for Mojito applications. It gives users absolute control in transforming, validating, uploading, organizing, and combining resources in order to maximize performance and build dynamic applications.

For more information, please see the online documentation.

Build Status


Shaker can be installed either locally or globally (using -g option), but we encourage you to install it locally, since the reference to the inner mojits will be relative to the app.

  1. Get the mojito-shaker npm package and install it:

    $ cd myMojitoApp
    $ npm install mojito-shaker [-g]
  2. If you installed it locally you will have to link it:

    $ cd ./node_modules/mojito-shaker/ && sudo npm link
  3. Confirm that Shaker has been installed correctly by running:

    $ mojito-shake
  4. If you got some error, check if you have correctly configured the Node environment. You can try to set the right $NODE_PATH to the modules using:

    $ export NODE_PATH=:$NODE_PATH:`npm root -g`

Quick Start

Within a Mojito application root folder:

Edit application.json to configure the mojitDirs and the HTMLFrame so that it looks like:

        "settings": [ "master" ],
        "mojitsDirs": ["mojits","node_modules/mojito-shaker/mojits"],
        "specs": {
            "htmlframe": {
                "type": "ShakerHTMLFrameMojit"

Note: If you installed mojito-shaker globally you will have to point to the absolute path instead.

Execute Shaker and Start the server:

$ mojito-shake [--context "{key1}:{value1}[,{key2}:{value2}]"] [--run]
$ mojito start [--context "{key1}:{value1}[,{key2}:{value2}]"]

Go to URL:



You can access the documentation here:

If you want to build and contribute to the documentation, you will have to install Sphinx and under /docs run:

$ make html

Licensing and Contributions

Shaker is licensed under a BSD license.

To contribute to the Shaker project, please review the Mojito Contributor License Agreement.

Dependencies (Third-party libraries)

gear, async, mkdirp, mime, and optionally knox to use the S3 task.


The following image is used in accordance with the Creative Commons 2.0 License:

Something went wrong with that request. Please try again.