Auto upgrade apps with ember-watson

There is an element of repetitive code changes associated with upgrading Ember, @abuiles has put together an excellent addon called ember-watson for automating some of this process.

New commands are always being added, we currently have

upgrade-qunit-tests
Fix QUnit tests to match 2.0 syntax. testsPath defaults to tests/

convert-prototype-extensions
Convert computed properties and observers to not use prototype extensions. appPath defaults to app/

convert-ember-data-model-lookups
convert Ember Data model lookups to use a dasherized string

convert-ember-data-async-false-relationships
convert Ember Data relationship with implicit async: false to explicit option

convert-resource-router-mapping
convert the resource router mapping to use the route mapping with the new resetNamespace option

methodify
Convert methods to new ES6 syntax

You can either install it as an ember-cli addon or as a regular npm module globally:

$ npm install -g ember-watson
$ ember-watson --help

E.g. you can use ember-watson to upgrade your function definitions to the new ES6 shorthand with ember-watson methodify which will give you a diff like:

 export default Ember.Component.extend({

-  saveDish: function() {
+  saveDish() {
     this.get('dish').save();
   },

Also worth checking out is @abuiles's book on getting started with Ember.js and ember-cli called ember-cli 101. It is being kept up to date as advances are made with the framework - you get notified when a new version is released.