Yeoman generator for marrionette app written in coffescript
-
Starting point for new marionette project
-
includes hello world module example
-
using boilerplate express server
- 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
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
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
-
____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
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
- SubGenerators
- application module
- entities
MIT