<p dir="auto"><strong>TypeScript Version:</strong></p>
<p dir="auto">1.7.5</p>
<p dir="auto"><strong>Code</strong></p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="import {HTTP_PROVIDERS} from 'angular2/http'; // &lt;-- one quotes !
import {Component} from &quot;angular2/core&quot;;
import {Http} from &quot;angular2/http&quot;; // &lt;-- two quotes !

@Component({
    templateUrl: 'tst.html',
    viewProviders: [HTTP_PROVIDERS]
})

export class tst {
    constructor(private http1:Http) {
        http1.get('tst');
    }
}"><pre class="notranslate"><code class="notranslate">import {HTTP_PROVIDERS} from 'angular2/http'; // &lt;-- one quotes !
import {Component} from "angular2/core";
import {Http} from "angular2/http"; // &lt;-- two quotes !

@Component({
    templateUrl: 'tst.html',
    viewProviders: [HTTP_PROVIDERS]
})

export class tst {
    constructor(private http1:Http) {
        http1.get('tst');
    }
}
</code></pre></div>
<p dir="auto"><strong>Expected behavior:</strong><br>
After compilation (js file):<br>
System.register(['angular2/http', "angular2/core"] ...</p>
<p dir="auto"><strong>Actual behavior:</strong><br>
After compilation (js file):<br>
System.register(['angular2/http', "angular2/core", "angular2/http"] ...</p>
<p dir="auto">I have a many problems with this bug<br>
bug example (with demo): <a href="http://stackoverflow.com/q/36134033/2051938" rel="nofollow">http://stackoverflow.com/q/36134033/2051938</a></p>
<p dir="auto">Using Angular2-beta0</p>
<p dir="auto">So I have this TS file</p>
<div class="highlight highlight-source-ts notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="import { Component, View } from 'angular2/core';
import { Router } from 'angular2/router';
import {AuthCanActivate} from &quot;../../common/auth/auth.canactivate&quot;;
import {ComponentInstruction} from &quot;angular2/router&quot;;
import {CanActivate} from &quot;angular2/router&quot;;
import {Http} from &quot;angular2/http&quot;;
import {API_URL} from &quot;../../common/core/constants&quot;;
import {Inject} from &quot;angular2/core&quot;;
import {Response} from &quot;angular2/http&quot;;
import {Observable} from &quot;rxjs/Observable&quot;;

@Component({
    selector: 'dashboard',
})

@CanActivate((to: ComponentInstruction, from: ComponentInstruction) =&gt; {
    return true;
})

@View({
    templateUrl: './features/dashboard/dashboard.component.html',
    styleUrls: ['./features/dashboard/dashboard.component.css' ]
})

export class DashboardComponent
{
    constructor(public router: Router, @Inject(API_URL) public apiUrl: string)
    {
    }
}"><pre class="notranslate"><span class="pl-k">import</span> <span class="pl-kos">{</span> <span class="pl-smi">Component</span><span class="pl-kos">,</span> <span class="pl-smi">View</span> <span class="pl-kos">}</span> <span class="pl-k">from</span> <span class="pl-s">'angular2/core'</span><span class="pl-kos">;</span>
<span class="pl-k">import</span> <span class="pl-kos">{</span> <span class="pl-smi">Router</span> <span class="pl-kos">}</span> <span class="pl-k">from</span> <span class="pl-s">'angular2/router'</span><span class="pl-kos">;</span>
<span class="pl-k">import</span> <span class="pl-kos">{</span><span class="pl-smi">AuthCanActivate</span><span class="pl-kos">}</span> <span class="pl-k">from</span> <span class="pl-s">"../../common/auth/auth.canactivate"</span><span class="pl-kos">;</span>
<span class="pl-k">import</span> <span class="pl-kos">{</span><span class="pl-smi">ComponentInstruction</span><span class="pl-kos">}</span> <span class="pl-k">from</span> <span class="pl-s">"angular2/router"</span><span class="pl-kos">;</span>
<span class="pl-k">import</span> <span class="pl-kos">{</span><span class="pl-smi">CanActivate</span><span class="pl-kos">}</span> <span class="pl-k">from</span> <span class="pl-s">"angular2/router"</span><span class="pl-kos">;</span>
<span class="pl-k">import</span> <span class="pl-kos">{</span><span class="pl-smi">Http</span><span class="pl-kos">}</span> <span class="pl-k">from</span> <span class="pl-s">"angular2/http"</span><span class="pl-kos">;</span>
<span class="pl-k">import</span> <span class="pl-kos">{</span><span class="pl-smi">API_URL</span><span class="pl-kos">}</span> <span class="pl-k">from</span> <span class="pl-s">"../../common/core/constants"</span><span class="pl-kos">;</span>
<span class="pl-k">import</span> <span class="pl-kos">{</span><span class="pl-smi">Inject</span><span class="pl-kos">}</span> <span class="pl-k">from</span> <span class="pl-s">"angular2/core"</span><span class="pl-kos">;</span>
<span class="pl-k">import</span> <span class="pl-kos">{</span><span class="pl-smi">Response</span><span class="pl-kos">}</span> <span class="pl-k">from</span> <span class="pl-s">"angular2/http"</span><span class="pl-kos">;</span>
<span class="pl-k">import</span> <span class="pl-kos">{</span><span class="pl-smi">Observable</span><span class="pl-kos">}</span> <span class="pl-k">from</span> <span class="pl-s">"rxjs/Observable"</span><span class="pl-kos">;</span>

@<span class="pl-smi">Component</span><span class="pl-kos">(</span><span class="pl-kos">{</span>
    <span class="pl-c1">selector</span>: <span class="pl-s">'dashboard'</span><span class="pl-kos">,</span>
<span class="pl-kos">}</span><span class="pl-kos">)</span>

@<span class="pl-smi">CanActivate</span><span class="pl-kos">(</span><span class="pl-kos">(</span><span class="pl-s1">to</span>: <span class="pl-smi">ComponentInstruction</span><span class="pl-kos">,</span> <span class="pl-s1">from</span>: <span class="pl-smi">ComponentInstruction</span><span class="pl-kos">)</span> <span class="pl-c1">=&gt;</span> <span class="pl-kos">{</span>
    <span class="pl-k">return</span> <span class="pl-c1">true</span><span class="pl-kos">;</span>
<span class="pl-kos">}</span><span class="pl-kos">)</span>

@<span class="pl-smi">View</span><span class="pl-kos">(</span><span class="pl-kos">{</span>
    <span class="pl-c1">templateUrl</span>: <span class="pl-s">'./features/dashboard/dashboard.component.html'</span><span class="pl-kos">,</span>
    <span class="pl-c1">styleUrls</span>: <span class="pl-kos">[</span><span class="pl-s">'./features/dashboard/dashboard.component.css'</span> <span class="pl-kos">]</span>
<span class="pl-kos">}</span><span class="pl-kos">)</span>

<span class="pl-k">export</span> <span class="pl-k">class</span> <span class="pl-smi">DashboardComponent</span>
<span class="pl-kos">{</span>
    <span class="pl-en">constructor</span><span class="pl-kos">(</span><span class="pl-k">public</span> <span class="pl-s1">router</span>: <span class="pl-smi">Router</span><span class="pl-kos">,</span> @<span class="pl-smi">Inject</span><span class="pl-kos">(</span><span class="pl-smi">API_URL</span><span class="pl-kos">)</span> <span class="pl-k">public</span> <span class="pl-s1">apiUrl</span>: <span class="pl-smi">string</span><span class="pl-kos">)</span>
    <span class="pl-kos">{</span>
    <span class="pl-kos">}</span>
<span class="pl-kos">}</span></pre></div>
<p dir="auto">which transpile to</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="(function(System) {System.register(['angular2/core', 'angular2/router', &quot;angular2/router&quot;, &quot;../../common/core/constants&quot;, &quot;angular2/core&quot;], function(exports_1) {
    var __decorate = (this &amp;&amp; this.__decorate) || function (decorators, target, key, desc) {
        var c = arguments.length, r = c &lt; 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
        if (typeof Reflect === &quot;object&quot; &amp;&amp; typeof Reflect.decorate === &quot;function&quot;) r = Reflect.decorate(decorators, target, key, desc);
        else for (var i = decorators.length - 1; i &gt;= 0; i--) if (d = decorators[i]) r = (c &lt; 3 ? d(r) : c &gt; 3 ? d(target, key, r) : d(target, key)) || r;
        return c &gt; 3 &amp;&amp; r &amp;&amp; Object.defineProperty(target, key, r), r;
    };
    var __metadata = (this &amp;&amp; this.__metadata) || function (k, v) {
        if (typeof Reflect === &quot;object&quot; &amp;&amp; typeof Reflect.metadata === &quot;function&quot;) return Reflect.metadata(k, v);
    };
    var __param = (this &amp;&amp; this.__param) || function (paramIndex, decorator) {
        return function (target, key) { decorator(target, key, paramIndex); }
    };
    var core_1, router_1, router_2, constants_1, core_2;
    var DashboardComponent;
    return {
        setters:[
            function (core_1_1) {
                core_1 = core_1_1;
            },
            function (router_1_1) {
                router_1 = router_1_1;
            },
            function (router_2_1) {
                router_2 = router_2_1;
            },
            function (constants_1_1) {
                constants_1 = constants_1_1;
            },
            function (core_2_1) {
                core_2 = core_2_1;
            }],
        execute: function() {
            DashboardComponent = (function () {
                function DashboardComponent(router, apiUrl) {
                    this.router = router;
                    this.apiUrl = apiUrl;
                }
                DashboardComponent = __decorate([
                    core_1.Component({
                        selector: 'dashboard',
                    }),
                    router_2.CanActivate(function (to, from) {
                        return true;
                    }),
                    core_1.View({
                        templateUrl: './features/dashboard/dashboard.component.html',
                        styleUrls: ['./features/dashboard/dashboard.component.css']
                    }),
                    __param(1, core_2.Inject(constants_1.API_URL)), 
                    __metadata('design:paramtypes', [router_1.Router, String])
                ], DashboardComponent);
                return DashboardComponent;
            })();
            exports_1(&quot;DashboardComponent&quot;, DashboardComponent);
        }
    }
});

})(System);"><pre class="notranslate"><span class="pl-kos">(</span><span class="pl-k">function</span><span class="pl-kos">(</span><span class="pl-v">System</span><span class="pl-kos">)</span> <span class="pl-kos">{</span><span class="pl-v">System</span><span class="pl-kos">.</span><span class="pl-en">register</span><span class="pl-kos">(</span><span class="pl-kos">[</span><span class="pl-s">'angular2/core'</span><span class="pl-kos">,</span> <span class="pl-s">'angular2/router'</span><span class="pl-kos">,</span> <span class="pl-s">"angular2/router"</span><span class="pl-kos">,</span> <span class="pl-s">"../../common/core/constants"</span><span class="pl-kos">,</span> <span class="pl-s">"angular2/core"</span><span class="pl-kos">]</span><span class="pl-kos">,</span> <span class="pl-k">function</span><span class="pl-kos">(</span><span class="pl-s1">exports_1</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
    <span class="pl-k">var</span> <span class="pl-s1">__decorate</span> <span class="pl-c1">=</span> <span class="pl-kos">(</span><span class="pl-smi">this</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-c1">__decorate</span><span class="pl-kos">)</span> <span class="pl-c1">||</span> <span class="pl-k">function</span> <span class="pl-kos">(</span><span class="pl-s1">decorators</span><span class="pl-kos">,</span> <span class="pl-s1">target</span><span class="pl-kos">,</span> <span class="pl-s1">key</span><span class="pl-kos">,</span> <span class="pl-s1">desc</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
        <span class="pl-k">var</span> <span class="pl-s1">c</span> <span class="pl-c1">=</span> <span class="pl-smi">arguments</span><span class="pl-kos">.</span><span class="pl-c1">length</span><span class="pl-kos">,</span> <span class="pl-s1">r</span> <span class="pl-c1">=</span> <span class="pl-s1">c</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">3</span> ? <span class="pl-s1">target</span> : <span class="pl-s1">desc</span> <span class="pl-c1">===</span> <span class="pl-c1">null</span> ? <span class="pl-s1">desc</span> <span class="pl-c1">=</span> <span class="pl-v">Object</span><span class="pl-kos">.</span><span class="pl-en">getOwnPropertyDescriptor</span><span class="pl-kos">(</span><span class="pl-s1">target</span><span class="pl-kos">,</span> <span class="pl-s1">key</span><span class="pl-kos">)</span> : <span class="pl-s1">desc</span><span class="pl-kos">,</span> <span class="pl-s1">d</span><span class="pl-kos">;</span>
        <span class="pl-k">if</span> <span class="pl-kos">(</span><span class="pl-k">typeof</span> <span class="pl-v">Reflect</span> <span class="pl-c1">===</span> <span class="pl-s">"object"</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-k">typeof</span> <span class="pl-v">Reflect</span><span class="pl-kos">.</span><span class="pl-c1">decorate</span> <span class="pl-c1">===</span> <span class="pl-s">"function"</span><span class="pl-kos">)</span> <span class="pl-s1">r</span> <span class="pl-c1">=</span> <span class="pl-v">Reflect</span><span class="pl-kos">.</span><span class="pl-en">decorate</span><span class="pl-kos">(</span><span class="pl-s1">decorators</span><span class="pl-kos">,</span> <span class="pl-s1">target</span><span class="pl-kos">,</span> <span class="pl-s1">key</span><span class="pl-kos">,</span> <span class="pl-s1">desc</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
        <span class="pl-k">else</span> <span class="pl-k">for</span> <span class="pl-kos">(</span><span class="pl-k">var</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-s1">decorators</span><span class="pl-kos">.</span><span class="pl-c1">length</span> <span class="pl-c1">-</span> <span class="pl-c1">1</span><span class="pl-kos">;</span> <span class="pl-s1">i</span> <span class="pl-c1">&gt;=</span> <span class="pl-c1">0</span><span class="pl-kos">;</span> <span class="pl-s1">i</span><span class="pl-c1">--</span><span class="pl-kos">)</span> <span class="pl-k">if</span> <span class="pl-kos">(</span><span class="pl-s1">d</span> <span class="pl-c1">=</span> <span class="pl-s1">decorators</span><span class="pl-kos">[</span><span class="pl-s1">i</span><span class="pl-kos">]</span><span class="pl-kos">)</span> <span class="pl-s1">r</span> <span class="pl-c1">=</span> <span class="pl-kos">(</span><span class="pl-s1">c</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">3</span> ? <span class="pl-s1">d</span><span class="pl-kos">(</span><span class="pl-s1">r</span><span class="pl-kos">)</span> : <span class="pl-s1">c</span> <span class="pl-c1">&gt;</span> <span class="pl-c1">3</span> ? <span class="pl-s1">d</span><span class="pl-kos">(</span><span class="pl-s1">target</span><span class="pl-kos">,</span> <span class="pl-s1">key</span><span class="pl-kos">,</span> <span class="pl-s1">r</span><span class="pl-kos">)</span> : <span class="pl-s1">d</span><span class="pl-kos">(</span><span class="pl-s1">target</span><span class="pl-kos">,</span> <span class="pl-s1">key</span><span class="pl-kos">)</span><span class="pl-kos">)</span> <span class="pl-c1">||</span> <span class="pl-s1">r</span><span class="pl-kos">;</span>
        <span class="pl-k">return</span> <span class="pl-s1">c</span> <span class="pl-c1">&gt;</span> <span class="pl-c1">3</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-s1">r</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-v">Object</span><span class="pl-kos">.</span><span class="pl-en">defineProperty</span><span class="pl-kos">(</span><span class="pl-s1">target</span><span class="pl-kos">,</span> <span class="pl-s1">key</span><span class="pl-kos">,</span> <span class="pl-s1">r</span><span class="pl-kos">)</span><span class="pl-kos">,</span> <span class="pl-s1">r</span><span class="pl-kos">;</span>
    <span class="pl-kos">}</span><span class="pl-kos">;</span>
    <span class="pl-k">var</span> <span class="pl-s1">__metadata</span> <span class="pl-c1">=</span> <span class="pl-kos">(</span><span class="pl-smi">this</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-c1">__metadata</span><span class="pl-kos">)</span> <span class="pl-c1">||</span> <span class="pl-k">function</span> <span class="pl-kos">(</span><span class="pl-s1">k</span><span class="pl-kos">,</span> <span class="pl-s1">v</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
        <span class="pl-k">if</span> <span class="pl-kos">(</span><span class="pl-k">typeof</span> <span class="pl-v">Reflect</span> <span class="pl-c1">===</span> <span class="pl-s">"object"</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-k">typeof</span> <span class="pl-v">Reflect</span><span class="pl-kos">.</span><span class="pl-c1">metadata</span> <span class="pl-c1">===</span> <span class="pl-s">"function"</span><span class="pl-kos">)</span> <span class="pl-k">return</span> <span class="pl-v">Reflect</span><span class="pl-kos">.</span><span class="pl-en">metadata</span><span class="pl-kos">(</span><span class="pl-s1">k</span><span class="pl-kos">,</span> <span class="pl-s1">v</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
    <span class="pl-kos">}</span><span class="pl-kos">;</span>
    <span class="pl-k">var</span> <span class="pl-s1">__param</span> <span class="pl-c1">=</span> <span class="pl-kos">(</span><span class="pl-smi">this</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-c1">__param</span><span class="pl-kos">)</span> <span class="pl-c1">||</span> <span class="pl-k">function</span> <span class="pl-kos">(</span><span class="pl-s1">paramIndex</span><span class="pl-kos">,</span> <span class="pl-s1">decorator</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
        <span class="pl-k">return</span> <span class="pl-k">function</span> <span class="pl-kos">(</span><span class="pl-s1">target</span><span class="pl-kos">,</span> <span class="pl-s1">key</span><span class="pl-kos">)</span> <span class="pl-kos">{</span> <span class="pl-s1">decorator</span><span class="pl-kos">(</span><span class="pl-s1">target</span><span class="pl-kos">,</span> <span class="pl-s1">key</span><span class="pl-kos">,</span> <span class="pl-s1">paramIndex</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-kos">}</span>
    <span class="pl-kos">}</span><span class="pl-kos">;</span>
    <span class="pl-k">var</span> <span class="pl-s1">core_1</span><span class="pl-kos">,</span> <span class="pl-s1">router_1</span><span class="pl-kos">,</span> <span class="pl-s1">router_2</span><span class="pl-kos">,</span> <span class="pl-s1">constants_1</span><span class="pl-kos">,</span> <span class="pl-s1">core_2</span><span class="pl-kos">;</span>
    <span class="pl-k">var</span> <span class="pl-v">DashboardComponent</span><span class="pl-kos">;</span>
    <span class="pl-k">return</span> <span class="pl-kos">{</span>
        <span class="pl-c1">setters</span>:<span class="pl-kos">[</span>
            <span class="pl-k">function</span> <span class="pl-kos">(</span><span class="pl-s1">core_1_1</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
                <span class="pl-s1">core_1</span> <span class="pl-c1">=</span> <span class="pl-s1">core_1_1</span><span class="pl-kos">;</span>
            <span class="pl-kos">}</span><span class="pl-kos">,</span>
            <span class="pl-k">function</span> <span class="pl-kos">(</span><span class="pl-s1">router_1_1</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
                <span class="pl-s1">router_1</span> <span class="pl-c1">=</span> <span class="pl-s1">router_1_1</span><span class="pl-kos">;</span>
            <span class="pl-kos">}</span><span class="pl-kos">,</span>
            <span class="pl-k">function</span> <span class="pl-kos">(</span><span class="pl-s1">router_2_1</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
                <span class="pl-s1">router_2</span> <span class="pl-c1">=</span> <span class="pl-s1">router_2_1</span><span class="pl-kos">;</span>
            <span class="pl-kos">}</span><span class="pl-kos">,</span>
            <span class="pl-k">function</span> <span class="pl-kos">(</span><span class="pl-s1">constants_1_1</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
                <span class="pl-s1">constants_1</span> <span class="pl-c1">=</span> <span class="pl-s1">constants_1_1</span><span class="pl-kos">;</span>
            <span class="pl-kos">}</span><span class="pl-kos">,</span>
            <span class="pl-k">function</span> <span class="pl-kos">(</span><span class="pl-s1">core_2_1</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
                <span class="pl-s1">core_2</span> <span class="pl-c1">=</span> <span class="pl-s1">core_2_1</span><span class="pl-kos">;</span>
            <span class="pl-kos">}</span><span class="pl-kos">]</span><span class="pl-kos">,</span>
        <span class="pl-en">execute</span>: <span class="pl-k">function</span><span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
            <span class="pl-v">DashboardComponent</span> <span class="pl-c1">=</span> <span class="pl-kos">(</span><span class="pl-k">function</span> <span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
                <span class="pl-k">function</span> <span class="pl-v">DashboardComponent</span><span class="pl-kos">(</span><span class="pl-s1">router</span><span class="pl-kos">,</span> <span class="pl-s1">apiUrl</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
                    <span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-c1">router</span> <span class="pl-c1">=</span> <span class="pl-s1">router</span><span class="pl-kos">;</span>
                    <span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-c1">apiUrl</span> <span class="pl-c1">=</span> <span class="pl-s1">apiUrl</span><span class="pl-kos">;</span>
                <span class="pl-kos">}</span>
                <span class="pl-v">DashboardComponent</span> <span class="pl-c1">=</span> <span class="pl-s1">__decorate</span><span class="pl-kos">(</span><span class="pl-kos">[</span>
                    <span class="pl-s1">core_1</span><span class="pl-kos">.</span><span class="pl-en">Component</span><span class="pl-kos">(</span><span class="pl-kos">{</span>
                        <span class="pl-c1">selector</span>: <span class="pl-s">'dashboard'</span><span class="pl-kos">,</span>
                    <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">,</span>
                    <span class="pl-s1">router_2</span><span class="pl-kos">.</span><span class="pl-en">CanActivate</span><span class="pl-kos">(</span><span class="pl-k">function</span> <span class="pl-kos">(</span><span class="pl-s1">to</span><span class="pl-kos">,</span> <span class="pl-s1">from</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
                        <span class="pl-k">return</span> <span class="pl-c1">true</span><span class="pl-kos">;</span>
                    <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">,</span>
                    <span class="pl-s1">core_1</span><span class="pl-kos">.</span><span class="pl-en">View</span><span class="pl-kos">(</span><span class="pl-kos">{</span>
                        <span class="pl-c1">templateUrl</span>: <span class="pl-s">'./features/dashboard/dashboard.component.html'</span><span class="pl-kos">,</span>
                        <span class="pl-c1">styleUrls</span>: <span class="pl-kos">[</span><span class="pl-s">'./features/dashboard/dashboard.component.css'</span><span class="pl-kos">]</span>
                    <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">,</span>
                    <span class="pl-s1">__param</span><span class="pl-kos">(</span><span class="pl-c1">1</span><span class="pl-kos">,</span> <span class="pl-s1">core_2</span><span class="pl-kos">.</span><span class="pl-en">Inject</span><span class="pl-kos">(</span><span class="pl-s1">constants_1</span><span class="pl-kos">.</span><span class="pl-c1">API_URL</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">,</span> 
                    <span class="pl-s1">__metadata</span><span class="pl-kos">(</span><span class="pl-s">'design:paramtypes'</span><span class="pl-kos">,</span> <span class="pl-kos">[</span><span class="pl-s1">router_1</span><span class="pl-kos">.</span><span class="pl-c1">Router</span><span class="pl-kos">,</span> <span class="pl-v">String</span><span class="pl-kos">]</span><span class="pl-kos">)</span>
                <span class="pl-kos">]</span><span class="pl-kos">,</span> <span class="pl-v">DashboardComponent</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
                <span class="pl-k">return</span> <span class="pl-v">DashboardComponent</span><span class="pl-kos">;</span>
            <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
            <span class="pl-s1">exports_1</span><span class="pl-kos">(</span><span class="pl-s">"DashboardComponent"</span><span class="pl-kos">,</span> <span class="pl-v">DashboardComponent</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
        <span class="pl-kos">}</span>
    <span class="pl-kos">}</span>
<span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span>

<span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">(</span><span class="pl-v">System</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div>
<p dir="auto">giving me an error router_2.CanActivate is not a function. Debugging and checking router_2, I actually have the API_URL token... O_o which is an OpaqueToken</p>
<p dir="auto">whereas if I have this TS file</p>
<div class="highlight highlight-source-ts notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="import { Component, Inject, View } from 'angular2/core';
import { CanActivate, ComponentInstruction, Router } from 'angular2/router';
import {AuthCanActivate} from &quot;../../common/auth/auth.canactivate&quot;;
import {Http, Response} from &quot;angular2/http&quot;;
import {API_URL} from &quot;../../common/core/constants&quot;;
import {Observable} from &quot;rxjs/Observable&quot;;

@Component({
    selector: 'dashboard',
})

@CanActivate((to: ComponentInstruction, from: ComponentInstruction) =&gt; {
    return true;
})

@View({
    templateUrl: './features/dashboard/dashboard.component.html',
    styleUrls: ['./features/dashboard/dashboard.component.css' ]
})

export class DashboardComponent
{
    constructor(public router: Router, @Inject(API_URL) public apiUrl: string)
    {
    }
}"><pre class="notranslate"><span class="pl-k">import</span> <span class="pl-kos">{</span> <span class="pl-smi">Component</span><span class="pl-kos">,</span> <span class="pl-smi">Inject</span><span class="pl-kos">,</span> <span class="pl-smi">View</span> <span class="pl-kos">}</span> <span class="pl-k">from</span> <span class="pl-s">'angular2/core'</span><span class="pl-kos">;</span>
<span class="pl-k">import</span> <span class="pl-kos">{</span> <span class="pl-smi">CanActivate</span><span class="pl-kos">,</span> <span class="pl-smi">ComponentInstruction</span><span class="pl-kos">,</span> <span class="pl-smi">Router</span> <span class="pl-kos">}</span> <span class="pl-k">from</span> <span class="pl-s">'angular2/router'</span><span class="pl-kos">;</span>
<span class="pl-k">import</span> <span class="pl-kos">{</span><span class="pl-smi">AuthCanActivate</span><span class="pl-kos">}</span> <span class="pl-k">from</span> <span class="pl-s">"../../common/auth/auth.canactivate"</span><span class="pl-kos">;</span>
<span class="pl-k">import</span> <span class="pl-kos">{</span><span class="pl-smi">Http</span><span class="pl-kos">,</span> <span class="pl-smi">Response</span><span class="pl-kos">}</span> <span class="pl-k">from</span> <span class="pl-s">"angular2/http"</span><span class="pl-kos">;</span>
<span class="pl-k">import</span> <span class="pl-kos">{</span><span class="pl-smi">API_URL</span><span class="pl-kos">}</span> <span class="pl-k">from</span> <span class="pl-s">"../../common/core/constants"</span><span class="pl-kos">;</span>
<span class="pl-k">import</span> <span class="pl-kos">{</span><span class="pl-smi">Observable</span><span class="pl-kos">}</span> <span class="pl-k">from</span> <span class="pl-s">"rxjs/Observable"</span><span class="pl-kos">;</span>

@<span class="pl-smi">Component</span><span class="pl-kos">(</span><span class="pl-kos">{</span>
    <span class="pl-c1">selector</span>: <span class="pl-s">'dashboard'</span><span class="pl-kos">,</span>
<span class="pl-kos">}</span><span class="pl-kos">)</span>

@<span class="pl-smi">CanActivate</span><span class="pl-kos">(</span><span class="pl-kos">(</span><span class="pl-s1">to</span>: <span class="pl-smi">ComponentInstruction</span><span class="pl-kos">,</span> <span class="pl-s1">from</span>: <span class="pl-smi">ComponentInstruction</span><span class="pl-kos">)</span> <span class="pl-c1">=&gt;</span> <span class="pl-kos">{</span>
    <span class="pl-k">return</span> <span class="pl-c1">true</span><span class="pl-kos">;</span>
<span class="pl-kos">}</span><span class="pl-kos">)</span>

@<span class="pl-smi">View</span><span class="pl-kos">(</span><span class="pl-kos">{</span>
    <span class="pl-c1">templateUrl</span>: <span class="pl-s">'./features/dashboard/dashboard.component.html'</span><span class="pl-kos">,</span>
    <span class="pl-c1">styleUrls</span>: <span class="pl-kos">[</span><span class="pl-s">'./features/dashboard/dashboard.component.css'</span> <span class="pl-kos">]</span>
<span class="pl-kos">}</span><span class="pl-kos">)</span>

<span class="pl-k">export</span> <span class="pl-k">class</span> <span class="pl-smi">DashboardComponent</span>
<span class="pl-kos">{</span>
    <span class="pl-en">constructor</span><span class="pl-kos">(</span><span class="pl-k">public</span> <span class="pl-s1">router</span>: <span class="pl-smi">Router</span><span class="pl-kos">,</span> @<span class="pl-smi">Inject</span><span class="pl-kos">(</span><span class="pl-smi">API_URL</span><span class="pl-kos">)</span> <span class="pl-k">public</span> <span class="pl-s1">apiUrl</span>: <span class="pl-smi">string</span><span class="pl-kos">)</span>
    <span class="pl-kos">{</span>
    <span class="pl-kos">}</span>
<span class="pl-kos">}</span></pre></div>
<p dir="auto">it transpile to</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="(function(System) {
    System.register(['angular2/core', 'angular2/router', &quot;../../common/core/constants&quot;], function(exports_1) {
        var __decorate = (this &amp;&amp; this.__decorate) || function(decorators, target, key, desc) {
            var c = arguments.length, r = c &lt; 3 ? target : desc === null  ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
            if (typeof Reflect === &quot;object&quot; &amp;&amp; typeof Reflect.decorate === &quot;function&quot;)
                r = Reflect.decorate(decorators, target, key, desc);
            else
                for (var i = decorators.length - 1; i &gt;= 0; i--)
                    if (d = decorators[i])
                        r = (c &lt; 3 ? d(r) : c &gt; 3 ? d(target, key, r) : d(target, key)) || r;
            return c &gt; 3 &amp;&amp; r &amp;&amp; Object.defineProperty(target, key, r),
            r;
        }
        ;
        var __metadata = (this &amp;&amp; this.__metadata) || function(k, v) {
            if (typeof Reflect === &quot;object&quot; &amp;&amp; typeof Reflect.metadata === &quot;function&quot;)
                return Reflect.metadata(k, v);
        }
        ;
        var __param = (this &amp;&amp; this.__param) || function(paramIndex, decorator) {
            return function(target, key) {
                decorator(target, key, paramIndex);
            }
        }
        ;
        var core_1, router_1, constants_1;
        var DashboardComponent;
        return {
            setters: [
            function(core_1_1) {
                core_1 = core_1_1;
            }
            , 
            function(router_1_1) {
                router_1 = router_1_1;
            }
            , 
            function(constants_1_1) {
                constants_1 = constants_1_1;
            }
            ],
            execute: function() {
                DashboardComponent = (function() {
                    function DashboardComponent(router, apiUrl) {
                        this.router = router;
                        this.apiUrl = apiUrl;
                    }
                    DashboardComponent = __decorate([
                    core_1.Component({
                        selector: 'dashboard',
                    }), 
                    router_1.CanActivate(function(to, from) {
                        return true;
                    }), 
                    core_1.View({
                        templateUrl: './features/dashboard/dashboard.component.html',
                        styleUrls: ['./features/dashboard/dashboard.component.css']
                    }), 
                    __param(1, core_1.Inject(constants_1.API_URL)), 
                    __metadata('design:paramtypes', [router_1.Router, String])
                    ], DashboardComponent);
                    return DashboardComponent;
                })();
                exports_1(&quot;DashboardComponent&quot;, DashboardComponent);
            }
        }
    });

})(System);"><pre class="notranslate"><span class="pl-kos">(</span><span class="pl-k">function</span><span class="pl-kos">(</span><span class="pl-v">System</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
    <span class="pl-v">System</span><span class="pl-kos">.</span><span class="pl-en">register</span><span class="pl-kos">(</span><span class="pl-kos">[</span><span class="pl-s">'angular2/core'</span><span class="pl-kos">,</span> <span class="pl-s">'angular2/router'</span><span class="pl-kos">,</span> <span class="pl-s">"../../common/core/constants"</span><span class="pl-kos">]</span><span class="pl-kos">,</span> <span class="pl-k">function</span><span class="pl-kos">(</span><span class="pl-s1">exports_1</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
        <span class="pl-k">var</span> <span class="pl-s1">__decorate</span> <span class="pl-c1">=</span> <span class="pl-kos">(</span><span class="pl-smi">this</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-c1">__decorate</span><span class="pl-kos">)</span> <span class="pl-c1">||</span> <span class="pl-k">function</span><span class="pl-kos">(</span><span class="pl-s1">decorators</span><span class="pl-kos">,</span> <span class="pl-s1">target</span><span class="pl-kos">,</span> <span class="pl-s1">key</span><span class="pl-kos">,</span> <span class="pl-s1">desc</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
            <span class="pl-k">var</span> <span class="pl-s1">c</span> <span class="pl-c1">=</span> <span class="pl-smi">arguments</span><span class="pl-kos">.</span><span class="pl-c1">length</span><span class="pl-kos">,</span> <span class="pl-s1">r</span> <span class="pl-c1">=</span> <span class="pl-s1">c</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">3</span> ? <span class="pl-s1">target</span> : <span class="pl-s1">desc</span> <span class="pl-c1">===</span> <span class="pl-c1">null</span>  ? <span class="pl-s1">desc</span> <span class="pl-c1">=</span> <span class="pl-v">Object</span><span class="pl-kos">.</span><span class="pl-en">getOwnPropertyDescriptor</span><span class="pl-kos">(</span><span class="pl-s1">target</span><span class="pl-kos">,</span> <span class="pl-s1">key</span><span class="pl-kos">)</span> : <span class="pl-s1">desc</span><span class="pl-kos">,</span> <span class="pl-s1">d</span><span class="pl-kos">;</span>
            <span class="pl-k">if</span> <span class="pl-kos">(</span><span class="pl-k">typeof</span> <span class="pl-v">Reflect</span> <span class="pl-c1">===</span> <span class="pl-s">"object"</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-k">typeof</span> <span class="pl-v">Reflect</span><span class="pl-kos">.</span><span class="pl-c1">decorate</span> <span class="pl-c1">===</span> <span class="pl-s">"function"</span><span class="pl-kos">)</span>
                <span class="pl-s1">r</span> <span class="pl-c1">=</span> <span class="pl-v">Reflect</span><span class="pl-kos">.</span><span class="pl-en">decorate</span><span class="pl-kos">(</span><span class="pl-s1">decorators</span><span class="pl-kos">,</span> <span class="pl-s1">target</span><span class="pl-kos">,</span> <span class="pl-s1">key</span><span class="pl-kos">,</span> <span class="pl-s1">desc</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
            <span class="pl-k">else</span>
                <span class="pl-k">for</span> <span class="pl-kos">(</span><span class="pl-k">var</span> <span class="pl-s1">i</span> <span class="pl-c1">=</span> <span class="pl-s1">decorators</span><span class="pl-kos">.</span><span class="pl-c1">length</span> <span class="pl-c1">-</span> <span class="pl-c1">1</span><span class="pl-kos">;</span> <span class="pl-s1">i</span> <span class="pl-c1">&gt;=</span> <span class="pl-c1">0</span><span class="pl-kos">;</span> <span class="pl-s1">i</span><span class="pl-c1">--</span><span class="pl-kos">)</span>
                    <span class="pl-k">if</span> <span class="pl-kos">(</span><span class="pl-s1">d</span> <span class="pl-c1">=</span> <span class="pl-s1">decorators</span><span class="pl-kos">[</span><span class="pl-s1">i</span><span class="pl-kos">]</span><span class="pl-kos">)</span>
                        <span class="pl-s1">r</span> <span class="pl-c1">=</span> <span class="pl-kos">(</span><span class="pl-s1">c</span> <span class="pl-c1">&lt;</span> <span class="pl-c1">3</span> ? <span class="pl-s1">d</span><span class="pl-kos">(</span><span class="pl-s1">r</span><span class="pl-kos">)</span> : <span class="pl-s1">c</span> <span class="pl-c1">&gt;</span> <span class="pl-c1">3</span> ? <span class="pl-s1">d</span><span class="pl-kos">(</span><span class="pl-s1">target</span><span class="pl-kos">,</span> <span class="pl-s1">key</span><span class="pl-kos">,</span> <span class="pl-s1">r</span><span class="pl-kos">)</span> : <span class="pl-s1">d</span><span class="pl-kos">(</span><span class="pl-s1">target</span><span class="pl-kos">,</span> <span class="pl-s1">key</span><span class="pl-kos">)</span><span class="pl-kos">)</span> <span class="pl-c1">||</span> <span class="pl-s1">r</span><span class="pl-kos">;</span>
            <span class="pl-k">return</span> <span class="pl-s1">c</span> <span class="pl-c1">&gt;</span> <span class="pl-c1">3</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-s1">r</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-v">Object</span><span class="pl-kos">.</span><span class="pl-en">defineProperty</span><span class="pl-kos">(</span><span class="pl-s1">target</span><span class="pl-kos">,</span> <span class="pl-s1">key</span><span class="pl-kos">,</span> <span class="pl-s1">r</span><span class="pl-kos">)</span><span class="pl-kos">,</span>
            <span class="pl-s1">r</span><span class="pl-kos">;</span>
        <span class="pl-kos">}</span>
        <span class="pl-kos">;</span>
        <span class="pl-k">var</span> <span class="pl-s1">__metadata</span> <span class="pl-c1">=</span> <span class="pl-kos">(</span><span class="pl-smi">this</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-c1">__metadata</span><span class="pl-kos">)</span> <span class="pl-c1">||</span> <span class="pl-k">function</span><span class="pl-kos">(</span><span class="pl-s1">k</span><span class="pl-kos">,</span> <span class="pl-s1">v</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
            <span class="pl-k">if</span> <span class="pl-kos">(</span><span class="pl-k">typeof</span> <span class="pl-v">Reflect</span> <span class="pl-c1">===</span> <span class="pl-s">"object"</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-k">typeof</span> <span class="pl-v">Reflect</span><span class="pl-kos">.</span><span class="pl-c1">metadata</span> <span class="pl-c1">===</span> <span class="pl-s">"function"</span><span class="pl-kos">)</span>
                <span class="pl-k">return</span> <span class="pl-v">Reflect</span><span class="pl-kos">.</span><span class="pl-en">metadata</span><span class="pl-kos">(</span><span class="pl-s1">k</span><span class="pl-kos">,</span> <span class="pl-s1">v</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
        <span class="pl-kos">}</span>
        <span class="pl-kos">;</span>
        <span class="pl-k">var</span> <span class="pl-s1">__param</span> <span class="pl-c1">=</span> <span class="pl-kos">(</span><span class="pl-smi">this</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-c1">__param</span><span class="pl-kos">)</span> <span class="pl-c1">||</span> <span class="pl-k">function</span><span class="pl-kos">(</span><span class="pl-s1">paramIndex</span><span class="pl-kos">,</span> <span class="pl-s1">decorator</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
            <span class="pl-k">return</span> <span class="pl-k">function</span><span class="pl-kos">(</span><span class="pl-s1">target</span><span class="pl-kos">,</span> <span class="pl-s1">key</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
                <span class="pl-s1">decorator</span><span class="pl-kos">(</span><span class="pl-s1">target</span><span class="pl-kos">,</span> <span class="pl-s1">key</span><span class="pl-kos">,</span> <span class="pl-s1">paramIndex</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
            <span class="pl-kos">}</span>
        <span class="pl-kos">}</span>
        <span class="pl-kos">;</span>
        <span class="pl-k">var</span> <span class="pl-s1">core_1</span><span class="pl-kos">,</span> <span class="pl-s1">router_1</span><span class="pl-kos">,</span> <span class="pl-s1">constants_1</span><span class="pl-kos">;</span>
        <span class="pl-k">var</span> <span class="pl-v">DashboardComponent</span><span class="pl-kos">;</span>
        <span class="pl-k">return</span> <span class="pl-kos">{</span>
            <span class="pl-c1">setters</span>: <span class="pl-kos">[</span>
            <span class="pl-k">function</span><span class="pl-kos">(</span><span class="pl-s1">core_1_1</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
                <span class="pl-s1">core_1</span> <span class="pl-c1">=</span> <span class="pl-s1">core_1_1</span><span class="pl-kos">;</span>
            <span class="pl-kos">}</span>
            <span class="pl-kos">,</span> 
            <span class="pl-k">function</span><span class="pl-kos">(</span><span class="pl-s1">router_1_1</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
                <span class="pl-s1">router_1</span> <span class="pl-c1">=</span> <span class="pl-s1">router_1_1</span><span class="pl-kos">;</span>
            <span class="pl-kos">}</span>
            <span class="pl-kos">,</span> 
            <span class="pl-k">function</span><span class="pl-kos">(</span><span class="pl-s1">constants_1_1</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
                <span class="pl-s1">constants_1</span> <span class="pl-c1">=</span> <span class="pl-s1">constants_1_1</span><span class="pl-kos">;</span>
            <span class="pl-kos">}</span>
            <span class="pl-kos">]</span><span class="pl-kos">,</span>
            <span class="pl-en">execute</span>: <span class="pl-k">function</span><span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
                <span class="pl-v">DashboardComponent</span> <span class="pl-c1">=</span> <span class="pl-kos">(</span><span class="pl-k">function</span><span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
                    <span class="pl-k">function</span> <span class="pl-v">DashboardComponent</span><span class="pl-kos">(</span><span class="pl-s1">router</span><span class="pl-kos">,</span> <span class="pl-s1">apiUrl</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
                        <span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-c1">router</span> <span class="pl-c1">=</span> <span class="pl-s1">router</span><span class="pl-kos">;</span>
                        <span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-c1">apiUrl</span> <span class="pl-c1">=</span> <span class="pl-s1">apiUrl</span><span class="pl-kos">;</span>
                    <span class="pl-kos">}</span>
                    <span class="pl-v">DashboardComponent</span> <span class="pl-c1">=</span> <span class="pl-s1">__decorate</span><span class="pl-kos">(</span><span class="pl-kos">[</span>
                    <span class="pl-s1">core_1</span><span class="pl-kos">.</span><span class="pl-en">Component</span><span class="pl-kos">(</span><span class="pl-kos">{</span>
                        <span class="pl-c1">selector</span>: <span class="pl-s">'dashboard'</span><span class="pl-kos">,</span>
                    <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">,</span> 
                    <span class="pl-s1">router_1</span><span class="pl-kos">.</span><span class="pl-en">CanActivate</span><span class="pl-kos">(</span><span class="pl-k">function</span><span class="pl-kos">(</span><span class="pl-s1">to</span><span class="pl-kos">,</span> <span class="pl-s1">from</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
                        <span class="pl-k">return</span> <span class="pl-c1">true</span><span class="pl-kos">;</span>
                    <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">,</span> 
                    <span class="pl-s1">core_1</span><span class="pl-kos">.</span><span class="pl-en">View</span><span class="pl-kos">(</span><span class="pl-kos">{</span>
                        <span class="pl-c1">templateUrl</span>: <span class="pl-s">'./features/dashboard/dashboard.component.html'</span><span class="pl-kos">,</span>
                        <span class="pl-c1">styleUrls</span>: <span class="pl-kos">[</span><span class="pl-s">'./features/dashboard/dashboard.component.css'</span><span class="pl-kos">]</span>
                    <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">,</span> 
                    <span class="pl-s1">__param</span><span class="pl-kos">(</span><span class="pl-c1">1</span><span class="pl-kos">,</span> <span class="pl-s1">core_1</span><span class="pl-kos">.</span><span class="pl-en">Inject</span><span class="pl-kos">(</span><span class="pl-s1">constants_1</span><span class="pl-kos">.</span><span class="pl-c1">API_URL</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">,</span> 
                    <span class="pl-s1">__metadata</span><span class="pl-kos">(</span><span class="pl-s">'design:paramtypes'</span><span class="pl-kos">,</span> <span class="pl-kos">[</span><span class="pl-s1">router_1</span><span class="pl-kos">.</span><span class="pl-c1">Router</span><span class="pl-kos">,</span> <span class="pl-v">String</span><span class="pl-kos">]</span><span class="pl-kos">)</span>
                    <span class="pl-kos">]</span><span class="pl-kos">,</span> <span class="pl-v">DashboardComponent</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
                    <span class="pl-k">return</span> <span class="pl-v">DashboardComponent</span><span class="pl-kos">;</span>
                <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
                <span class="pl-s1">exports_1</span><span class="pl-kos">(</span><span class="pl-s">"DashboardComponent"</span><span class="pl-kos">,</span> <span class="pl-v">DashboardComponent</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
            <span class="pl-kos">}</span>
        <span class="pl-kos">}</span>
    <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span>

<span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">(</span><span class="pl-v">System</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div>
<p dir="auto">which is fine.</p>
<p dir="auto">The difference here is really in the imports.<br>
Have I missed something?</p>