title: Uncaught reflect-metadata shim is required when using ES6 with Angular2 rc3
body: <p>I just updated Angular from <code>rc-1</code> to latest <code>rc-3</code>.
  The app is using JavaScript <strong>ES6</strong> and SystemJS. When I run the app with browsersync, it works. But if I bundle the app (with systemjs-builder) and then run it, I have this error in the browser console </p>
  
  <blockquote>
    <p>Uncaught reflect-metadata shim is required when using class decorators. </p>
  </blockquote>
  
  <p>The problem comes from a component using <code>@angular/http</code> with a basic http call, if I remove <code>import {Http, HTTP_PROVIDERS} from '@angular/http' ;</code> it works.</p>
  
  <p>Plus, it does not happen with TypeScript but it does with JS ES5 and ES6. Also it doesn't happen with Webpack.</p>
  
  <p>I looked into the bundled code and it appears that SystemJS goes through <code>Angular</code> code before <code>Reflect</code> code... only with es6</p>
  
  <p>index.js</p>
  
  <pre><code>import 'reflect-metadata';
  import 'es6-shim';
  import 'zone.js';
  import {bootstrap} from '@angular/platform-browser-dynamic';
  import {App} from './app.js';
  bootstrap(App);
  </code></pre>
  
  <p>app.js</p>
  
  <pre><code>import {Component} from '@angular/core';
  import {Http, HTTP_PROVIDERS} from '@angular/http';
  @Component({
    selector: 'App',
    template: '',
    providers: [HTTP_PROVIDERS]
  })
  export class App {
    constructor(http) {}
  
    static get parameters() {
      return [[Http]];  
    }
  }
  </code></pre>