Issue 1:
*I'm submitting a ... *

[ ] bug report

What is the current behavior?

When trying to upgrade an angular1 component with one way binding we get an error

Unexpected mapping '<' in '{"y":"<"}' in x directive.

at UpgradeNg1ComponentAdapterBuilder.extractBindings (node_modules\angular2\src\upgrade\angular2\src\upgrade\upgrade_ng1_adapter.ts:120)

at Function.UpgradeNg1ComponentAdapterBuilder.resolve (node_modules\angular2\src\upgrade\angular2\src\upgrade\upgrade_ng1_adapter.ts:171)

at node_modules\angular2\src\upgrade\angular2\src\upgrade\upgrade_adapter.ts:344

at Object.invoke (angular.js:4604)

at angular.js:4412

at forEach (angular.js:321)

at createInjector (angular.js:4412)

at doBootstrap (angular.js:1691)

at Object.bootstrap (angular.js:1712)

at node_modules\angular2\src\upgrade\angular2\src\upgrade\upgrade_adapter.ts:349

This is due to the function extractbindings. we have there a case for =,@ and& but not <

What is the expected behavior?

This should be supported by adding the case to the extractbindings function

What is the motivation / use case for changing the behavior?

using ngupgrade

Please tell us about your environment:

Angular version: 2.0.0-beta.11

Browser: [all]

Language: [all]

Issue 2:
I'm submitting a ... (check one with "x")

[x] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request => Please do not submit support request here, instead see https://github.com/angular/angular/blob/master/CONTRIBUTING.md#question

Current behavior

Since 4.0.0, JitCompiler cannot be used with AoT compilation. It's exported from @angular/compiler but its compiled import path is @angular/compiler/src/jit/compiler

app.module.ts

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 {
}

app.module.ngfactory.ts(summary)

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<import1.AppModule> {
_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;
}

@angular/compiler/src/jit/compiler is not existing JS file (because of 4.0.0 FESM). webpack bundling crashes by this problem.

Expected behavior

Resolve JitCompiler from @angular/compiler

Minimal reproduction of the problem with instructions

https://github.com/laco0416/ngrepro-0001

git clone

npm install

npm run ngc

see the generated files

What is the motivation / use case for changing the behavior?

Please tell us about your environment:

OSX

Angular version: 4.0.0

Language: TypeScript 2.2

Node (for AoT issues): node --version = 6.9.5