<ul dir="auto">
<li>*<em>I'm submitting a ... *</em><br>
[ ] bug report</li>
<li><strong>What is the current behavior?</strong></li>
</ul>
<p dir="auto">When trying to upgrade an angular1 component with one way binding we get an error</p>
<p dir="auto">Unexpected mapping '&lt;' in '{"y":"&lt;"}' in x directive.<br>
at UpgradeNg1ComponentAdapterBuilder.extractBindings (node_modules\angular2\src\upgrade\angular2\src\upgrade\upgrade_ng1_adapter.ts:120)<br>
at Function.UpgradeNg1ComponentAdapterBuilder.resolve (node_modules\angular2\src\upgrade\angular2\src\upgrade\upgrade_ng1_adapter.ts:171)<br>
at node_modules\angular2\src\upgrade\angular2\src\upgrade\upgrade_adapter.ts:344<br>
at Object.invoke (angular.js:4604)<br>
at angular.js:4412<br>
at forEach (angular.js:321)<br>
at createInjector (angular.js:4412)<br>
at doBootstrap (angular.js:1691)<br>
at Object.bootstrap (angular.js:1712)<br>
at node_modules\angular2\src\upgrade\angular2\src\upgrade\upgrade_adapter.ts:349</p>
<p dir="auto">This is due to the function extractbindings. we have there a case for =,@ and&amp; but not &lt;</p>
<ul dir="auto">
<li><strong>What is the expected behavior?</strong><br>
This should be supported by adding the case to the extractbindings function</li>
<li><strong>What is the motivation / use case for changing the behavior?</strong><br>
using ngupgrade</li>
<li><strong>Please tell us about your environment:</strong></li>
<li>Angular version: 2.0.0-beta.11</li>
<li>Browser: [all]</li>
<li>Language: [all]</li>
</ul>
<p dir="auto"><strong>I'm submitting a ...</strong>  (check one with "x")</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="[x] bug report =&gt; search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request =&gt; Please do not submit support request here, instead see https://github.com/angular/angular/blob/master/CONTRIBUTING.md#question"><pre class="notranslate"><code class="notranslate">[x] bug report =&gt; search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request =&gt; Please do not submit support request here, instead see https://github.com/angular/angular/blob/master/CONTRIBUTING.md#question
</code></pre></div>
<p dir="auto"><strong>Current behavior</strong><br>
Since 4.0.0, <code class="notranslate">JitCompiler</code> cannot be used with AoT compilation. It's exported from <code class="notranslate">@angular/compiler</code> but its compiled import path is <code class="notranslate">@angular/compiler/src/jit/compiler</code></p>
<p dir="auto">app.module.ts</p>
<div class="highlight highlight-source-ts notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="import { NgModule, Compiler } from '@angular/core';
import { JitCompiler } from '@angular/compiler';

import { AppComponent } from './app.component';

@NgModule({
    declarations: [AppComponent],
    bootstrap: [AppComponent],
    providers: [
        {
            provide: Compiler, useExisting: JitCompiler,
        },
    ]
})
export class AppModule {
}"><pre class="notranslate"><span class="pl-k">import</span> <span class="pl-kos">{</span> <span class="pl-smi">NgModule</span><span class="pl-kos">,</span> <span class="pl-smi">Compiler</span> <span class="pl-kos">}</span> <span class="pl-k">from</span> <span class="pl-s">'@angular/core'</span><span class="pl-kos">;</span>
<span class="pl-k">import</span> <span class="pl-kos">{</span> <span class="pl-smi">JitCompiler</span> <span class="pl-kos">}</span> <span class="pl-k">from</span> <span class="pl-s">'@angular/compiler'</span><span class="pl-kos">;</span>

<span class="pl-k">import</span> <span class="pl-kos">{</span> <span class="pl-smi">AppComponent</span> <span class="pl-kos">}</span> <span class="pl-k">from</span> <span class="pl-s">'./app.component'</span><span class="pl-kos">;</span>

@<span class="pl-smi">NgModule</span><span class="pl-kos">(</span><span class="pl-kos">{</span>
    <span class="pl-c1">declarations</span>: <span class="pl-kos">[</span><span class="pl-smi">AppComponent</span><span class="pl-kos">]</span><span class="pl-kos">,</span>
    <span class="pl-c1">bootstrap</span>: <span class="pl-kos">[</span><span class="pl-smi">AppComponent</span><span class="pl-kos">]</span><span class="pl-kos">,</span>
    <span class="pl-c1">providers</span>: <span class="pl-kos">[</span>
        <span class="pl-kos">{</span>
            <span class="pl-c1">provide</span>: <span class="pl-smi">Compiler</span><span class="pl-kos">,</span> <span class="pl-c1">useExisting</span>: <span class="pl-smi">JitCompiler</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-k">export</span> <span class="pl-k">class</span> <span class="pl-smi">AppModule</span> <span class="pl-kos">{</span>
<span class="pl-kos">}</span></pre></div>
<p dir="auto">app.module.ngfactory.ts(summary)</p>
<div class="highlight highlight-source-ts notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="import * as import0 from '@angular/core';
import * as import1 from './app.module';
import * as import2 from './app.component.ngfactory';
import * as import3 from '@angular/compiler/src/jit/compiler';
class AppModuleInjector extends import0.ɵNgModuleInjector&lt;import1.AppModule&gt; {
  _AppModule_0:import1.AppModule;
  __Compiler_1:any;
  constructor(parent:import0.Injector) {
    super(parent,[import2.AppComponentNgFactory],[import2.AppComponentNgFactory]);
  }
  get _Compiler_1():any {
    if ((this.__Compiler_1 == null)) { (this.__Compiler_1 = this.parent.get(import3.JitCompiler)); }
    return this.__Compiler_1;
  }"><pre class="notranslate"><span class="pl-k">import</span> <span class="pl-c1">*</span> <span class="pl-k">as</span> <span class="pl-s1">import0</span> <span class="pl-k">from</span> <span class="pl-s">'@angular/core'</span><span class="pl-kos">;</span>
<span class="pl-k">import</span> <span class="pl-c1">*</span> <span class="pl-k">as</span> <span class="pl-s1">import1</span> <span class="pl-k">from</span> <span class="pl-s">'./app.module'</span><span class="pl-kos">;</span>
<span class="pl-k">import</span> <span class="pl-c1">*</span> <span class="pl-k">as</span> <span class="pl-s1">import2</span> <span class="pl-k">from</span> <span class="pl-s">'./app.component.ngfactory'</span><span class="pl-kos">;</span>
<span class="pl-k">import</span> <span class="pl-c1">*</span> <span class="pl-k">as</span> <span class="pl-s1">import3</span> <span class="pl-k">from</span> <span class="pl-s">'@angular/compiler/src/jit/compiler'</span><span class="pl-kos">;</span>
<span class="pl-k">class</span> <span class="pl-smi">AppModuleInjector</span> <span class="pl-k">extends</span> <span class="pl-s1">import0</span><span class="pl-kos">.</span><span class="pl-c1">ɵNgModuleInjector</span><span class="pl-kos">&lt;</span><span class="pl-s1">import1</span><span class="pl-kos">.</span><span class="pl-smi">AppModule</span><span class="pl-kos">&gt;</span> <span class="pl-kos">{</span>
  <span class="pl-c1">_AppModule_0</span>:<span class="pl-s1">import1</span><span class="pl-kos">.</span><span class="pl-smi">AppModule</span><span class="pl-kos">;</span>
  <span class="pl-c1">__Compiler_1</span>:<span class="pl-smi">any</span><span class="pl-kos">;</span>
  <span class="pl-en">constructor</span><span class="pl-kos">(</span><span class="pl-s1">parent</span>:<span class="pl-s1">import0</span><span class="pl-kos">.</span><span class="pl-smi">Injector</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
    <span class="pl-smi">super</span><span class="pl-kos">(</span><span class="pl-s1">parent</span><span class="pl-kos">,</span><span class="pl-kos">[</span><span class="pl-s1">import2</span><span class="pl-kos">.</span><span class="pl-c1">AppComponentNgFactory</span><span class="pl-kos">]</span><span class="pl-kos">,</span><span class="pl-kos">[</span><span class="pl-s1">import2</span><span class="pl-kos">.</span><span class="pl-c1">AppComponentNgFactory</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">get</span> <span class="pl-en">_Compiler_1</span><span class="pl-kos">(</span><span class="pl-kos">)</span>:<span class="pl-smi">any</span> <span class="pl-kos">{</span>
    <span class="pl-k">if</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">__Compiler_1</span> <span class="pl-c1">==</span> <span class="pl-c1">null</span><span class="pl-kos">)</span><span class="pl-kos">)</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">__Compiler_1</span> <span class="pl-c1">=</span> <span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-c1">parent</span><span class="pl-kos">.</span><span class="pl-en">get</span><span class="pl-kos">(</span><span class="pl-s1">import3</span><span class="pl-kos">.</span><span class="pl-c1">JitCompiler</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">return</span> <span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-c1">__Compiler_1</span><span class="pl-kos">;</span>
  <span class="pl-kos">}</span><span class="pl-kos"></span></pre></div>
<p dir="auto"><code class="notranslate">@angular/compiler/src/jit/compiler</code> is not existing JS file (because of 4.0.0 FESM). webpack bundling crashes by this problem.</p>
<p dir="auto"><strong>Expected behavior</strong></p>
<p dir="auto">Resolve <code class="notranslate">JitCompiler</code> from <code class="notranslate">@angular/compiler</code></p>
<p dir="auto"><strong>Minimal reproduction of the problem with instructions</strong></p>
<p dir="auto"><a href="https://github.com/laco0416/ngrepro-0001">https://github.com/laco0416/ngrepro-0001</a></p>
<ol dir="auto">
<li>git clone</li>
<li>npm install</li>
<li>npm run ngc</li>
<li>see the generated files</li>
</ol>
<p dir="auto"><strong>What is the motivation / use case for changing the behavior?</strong></p>

<p dir="auto"><strong>Please tell us about your environment:</strong><br>
OSX</p>
<ul dir="auto">
<li><strong>Angular version:</strong> 4.0.0</li>
</ul>

<ul dir="auto">
<li>
<p dir="auto"><strong>Language:</strong> TypeScript 2.2</p>
</li>
<li>
<p dir="auto"><strong>Node (for AoT issues):</strong> <code class="notranslate">node --version</code> =   6.9.5</p>
</li>
</ul>