chaplinjs/chaplin — pull request #369 by mehcode (2013-01-13 00:19:43+00:00)
Title: The new build process powered by grunt

This is the initial draft of the complete setup using grunt to power our build process.

###### Changes
- The modules are now written in full common.js format where each file is an anonymous module.

- There is no need for `.gitkeep` files to store the `build` and temporary folder inside of test.

- Bower is no longer required to be installed. It is run automatically when testing.

- [Grunt.js](http://gruntjs.com/) is what is now running our build tasks.

###### Features
- __Code coverage__: after running the tests, open `test/coverage/index.html` in your browser.
- __Linting__: run `grunt lint` to lint all coffee files in the project.

###### Preparation
Ensure __grunt-cli__ is installed globally via `npm install grunt-cli -g`. I'd recommend to use `nodeenv` to install global packages but its not strictly necessary.

###### Build
```sh
$ npm install
```

###### Test
```sh
$ npm test
```

Code coverage reports for the test run are generated; open `test/coverage/index.html` in your browser to view them.

###### What's Left

Grunt.js is right at the end of preparing for the release of grunt 0.4. There aren't many plugins currently that support the latest version of grunt. I've forked about 5 of them to get this running today. I'll switch out my forks as these projects become available (as I'll get to submitting PRs as soon as I get a chance).

Additional features could be added such as putting buster.js on top of mocha to automate testing against several browsers. See and .

###### Todo
- [ ] Switch over to the official version of dependent packages
- [ ] Set up buster.js to automate browser testing
- [ ] Break out `test` and `cover` to run tests without coverage