generator-marionette-coffee v0.0.322
generator-marionette-coffee
Yeoman generator for marrionette app written in coffescript
Starting point for new marionette project
includes hello world module example
using boilerplate express server
Whats included
- Marionette
- Coffeescript
- AMD configuration using Requirejs
- jQuery Templating
- Twitter Bootstrap (optional)
- Mocha unit tests with html testrunner as well as grunt task that will run them headless using phantomjs
- Organized using module pattern
- for more information about the module pattern with marionette, I highly recommend David Sulac's book on Marionette.js
To Install
This generator depends on phantomJS, mongoDb, yeoman, bower and grunt
Install phantomJS
$ brew install phantomjs
Install mongoDb
$ brew install mongodb
Install mocha-phantomjs:
$ npm install -g mocha-phantomjs
Install Yeoman, Bower and Grunt: $ npm install -g yo grunt-cli bower Install this generator
$ npm install -g generator-marionette-coffee
Usage
scaffold a new app:
$ mkdir your-app-name && cd your-app-name
$ yo marionette-coffee
optionally if you wish to leave out the hello world example you can run with --empty option
$ mkdir your-app-name && cd your-app-name
$ yo marionette-coffee --empty
Directory Structure
____app/
index.html (Generated from template.html)
r.js optimizer
template.html generates html template for index files in app/ and dist/ for more info see targetHtml
____assets/
___coffee/ _all coffeescript in folder will be compiled to js/ folder
____app.coffee0
____apps/
___sub_app/ _for sub-application folders
- _subapp.coffee mediator for sub_application
___build.js _build configuration for r.js
___entities/ _for entity files
___require_main.coffee _main configuration file
____css/
server/
- ___app.js _express server
____test/
- ___coffee/ _coffeescript for test specs
___spec/ _where the specs written in coffeescript are compiled to
___SpecRunner.coffee _Requirejs configuration for tests
- ____TestRunner.html
Grunt Tasks
$ grunt
Default grunt task will
- copy template files in coffee to js folder
- compile coffeescript
- create index file for app folder
- start background express server
- start background connect server (for testrunner)
- run headless mocha tests
- open testrunner & app page in browser
- watch your files for any changes and reload if there are any
$ grunt build
Default grunt task will
- copy template files in coffee to js folder
- compile coffeescript
- create index file for app folder
- start background express server
- start background connect server (for testrunner)
- run headless mocha tests
- create single optimized file for all js
- open optimized app in browser
Still In development
- SubGenerators
- application module
- entities
License
MIT