The definitive source of the best
JavaScript libraries, frameworks, and plugins.

  • ×

    Fighting Crime and Kicking Apps
    Filed under  › 

    • 🔾52%Overall
    • 1,721
    • 13.4 days
    • 🕩184
    • 👥8

    Shhh... Batman is sleeping.

    Batman.js is no longer in production at Shopify and is not actively developed. :(


    batman.js is a framework for building rich single-page browser applications.

    It's got:

    To find out more or get started with batman.js, check out the website:

    Contributing Build Status

    Well-tested contributions are always welcome! Here's what you should do:

    1. Clone the repo

    git clone

    2. Install dependencies using NPM

    npm install
    npm install -g gulp

    If you don't already have Node.js, the installation instructions are here.

    3. Run the tests

    batman.js uses karma and QUnit for orchestrating tests.

    To run the tests, run the following command from the project root:

    gulp # starts webpack & karma

    Assuming you have Chrome installed, it should automatically open and start running the tests. The test outcome will appear in your terminal.

    4. Write some test-driven code

    The tests are in tests/batman. All test files in there are automatically picked up and run.

    5. Update the documentation

    The API documentation is written using literate CoffeeScript.

    The API documentation includes its own set of tests, which serves as both an assurance that the API hasn't broken, as well as a set of examples for how to use it. These tests need not be comprehensive (that's what the regular tests are for), but should cover the most common use cases. They're automatically run alongside the regular tests, so you don't need to run them manually.

    If you want to render the API docs, see the README for

    Please read the README for the docs before writing any.

    6. Create a pull request

    If it's good code that fits with the goals of the project, we'll merge it in!

    Compiling the library

    Task Does...
    gulp Does it all: starts Karma and watches for changes, running finalize on any change
    gulp build compiles files into /dist
    gulp finalize runs build and creates minified versions
    gulp test starts Karma runner
    gulp test:travis finalizes then runs the tests once with PhantomJS


    batman.js is copyright 2014 by Shopify, released under the MIT License (see LICENSE for details).

    Show All