Generator-Aurelia update feature

Today I've published a new version of the Aurelia Yeoman Generator which introduces a nice feature to update your existing Aurelia app.

In order to do that, open up a terminal/command line and navigate to the root-folder of your app. In there hit the following command:

yo aurelia:update  

What this does is essentially running a jspm install command on each of the top-level dependencies.

runJSPMUpdate: function() {  
    var done = this.async();
    var reps =
      ['aurelia-animator-css', 'aurelia-bootstrapper', 'aurelia-framework',
       'aurelia-dependency-injection', 'aurelia-binding',
       'aurelia-http-client', 'aurelia-router', 'aurelia-event-aggregator',
       'aurelia-history-browser', 'aurelia-loader-default',
       'aurelia-loader', 'aurelia-metadata', 'aurelia-route-recognizer',
       'aurelia-templating-binding', 'aurelia-templating-resources',
       'aurelia-templating-router', 'aurelia-templating', 'aurelia-logging',
       'aurelia-task-queue', 'aurelia-history', 'aurelia-path'];

    var allDone = [];

    reps.forEach( function(repo) {
      allDone.push(jspm.install(repo));
    }.bind(this));

    Promise.all(allDone).then( function() {
      this.log('Update done, enjoy!');
      done();
    }.bind(this));
  }

Of course this is not yet fully optimized, as the final result should open up the existing config.js and only update the used modules, but it's a start.

Hope this helps you out next time upgrading to the new release of the skeleton navigation app

Photo credit: Reading via photopin