generator-marionette-coffee
v0.0.322
Published
Yeoman generator
Downloads
2
Maintainers
Readme
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
- ____sub_app.coffee mediator for sub_application
- ____apps/
____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