Maintainer: Anthony Bull
The scaffolding tool for Ember.js apps.
Table of Contents
npm install -g grunt-contrib-compass
You should have one path each for:
which ruby && which compass
npm install -g generator-ember
mkdir webapp && cd webapp
npm install -g grunt-mocha
A welcome page should appear in your browser.
Creates a model, views, handlebars, controllers, view/edit routes, and some basic fixtures given an arg, as in:
yo ember:model User name:string zipcode:number
Creates a view and template given an arg, as in
yo ember:view Foo
KNOWN ISSUE: IF YOU ADD A NEW VIEW, REGARDLESS OF WITH WHICH GENERATOR, YOU HAVE TO RESTART THE SERVER.
Creates a view, handlebar, controller and route given an arg, as in:
yo ember:controller Bar
(and updates router.js, overwrite when prompted)
Skips the automatic execution of
npmafter scaffolding has finished.
mocha. Can be switched for another supported testing framework like
Enable support for CoffeeScript.
Enables support for karma test runner
Testing your app is as simple as running
grunt test. The generator ships with the
karma test runner for running the tests. Integration
tests are written with ember-testing
and preferably mocha. Karma is highly configurable and you can take a look at the varity of options
on its website.
Command not found
-bash: yo: command not found
You need to make sure that npm is on your path. Add the following to your .bash_profile (or .bashrc):
You specified the templateName ... but it did not exist.
You probably added a view; restart the server.
See the changelog file
- Change tests to instantiate and test objects instead of grepping for text
- DRY up/refactor tests
- Consider ES6 as base structure
- Remove Ruby dependency
See the contributing docs
When submitting an issue, please follow the guidelines. Especially important is to make sure Yeoman is up-to-date, and providing the command or commands that cause the issue.
When submitting a bugfix, write a test that exposes the bug and fails before applying your fix. Submit the test alongside the fix.
When submitting a new feature, add tests that cover the feature.
Here are some of the techniques I use; maybe they're useful for you.
- in generator-ember dir,
npm linkto use what's in the local repo for
- wipe the example webapp dir clean (
cd .. && rm -rf webapp) from time-to-time to ensure the code output is coming from the latest generator (will re-install everything via npm, so be forewarned)
- script/reset_dev_env.sh is there to help when you don't want to wipe and reinstall a test dir with Bower and Node modules again-and-again; read it and understand it before you use it. It's good if you want to smoke-test changes, bad if you update Bower and/or Node mods (ignores removing their subdirs.)