Issue 1:
I'm submitting a ...

[ ] bug report
[X] feature request
[ ] support request

Current behavior

Routes do have only a path and are accessed by this path e.g. <a routerLink="/crisis-center">Crysis center</a>

Expected behavior

Routes should have a fixed synonym which they can be accessed by.

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

If we want to change a path we have to search all across our app and change it everywhere. This is not just unhandy, it leads into errors if we forget to change it somewhere. In the real world maybe a stakeholder decides to change a path multiple times in the development.

How other frameworks do it:

I want to show how its done in the PHP framework Symfony. The configuration is in YAML:

blog_show:
path: /blog/{slug}
defaults: { _controller: AppBundle:Blog:show }

Now we have a fixed name blog_list which will probably not change. But we can change the path as we want to and the app still keeps working.

To use the link we can generate it with a function:

$url = $this->generateUrl(
'blog_list',
array('slug' => 'my-blog-post')
);

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

On compiling Angular CLI App with "strict": true, flag in tsconfig.json and using ts 2.3. ng server fails with below error:

ERROR in node_modules/@angular/forms/src/model.d.ts (544,19): Type '{ onlySelf?: boolean | undefined; emitEvent?: boolean |
undefined; } | undefined' has no property 'emitEvent' and no string index signature.

ERROR in node_modules/@angular/forms/src/model.d.ts (571,9): Type '{ onlySelf?: boolean | undefined; emitEvent?: boolean |
undefined; } | undefined' has no property 'onlySelf' and no string index signature.

ERROR in node_modules/@angular/forms/src/model.d.ts (571,19): Type '{ onlySelf?: boolean | undefined; emitEvent?: boolean |
undefined; } | undefined' has no property 'emitEvent' and no string index signature.

ERROR in node_modules/@angular/forms/src/model.d.ts (607,25): Type '{ onlySelf?: boolean | undefined; emitEvent?: boolean |
undefined; } | undefined' has no property 'onlySelf' and no string index signature.

ERROR in node_modules/@angular/forms/src/model.d.ts (607,35): Type '{ onlySelf?: boolean | undefined; emitEvent?: boolean |
undefined; } | undefined' has no property 'emitEvent' and no string index signature.

ERROR in node_modules/@angular/forms/src/model.d.ts (711,29): Type '{ onlySelf?: boolean | undefined; emitEvent?: boolean |
undefined; } | undefined' has no property 'onlySelf' and no string index signature.

ERROR in node_modules/@angular/forms/src/model.d.ts (711,39): Type '{ onlySelf?: boolean | undefined; emitEvent?: boolean |
undefined; } | undefined' has no property 'emitEvent' and no string index signature.

ERROR in node_modules/@angular/forms/src/model.d.ts (735,31): Type '{ onlySelf?: boolean | undefined; emitEvent?: boolean |
undefined; } | undefined' has no property 'onlySelf' and no string index signature.

ERROR in node_modules/@angular/forms/src/model.d.ts (735,41): Type '{ onlySelf?: boolean | undefined; emitEvent?: boolean |
undefined; } | undefined' has no property 'emitEvent' and no string index signature.

ERROR in node_modules/@angular/forms/src/model.d.ts (770,25): Type '{ onlySelf?: boolean | undefined; emitEvent?: boolean |
undefined; } | undefined' has no property 'onlySelf' and no string index signature.

ERROR in node_modules/@angular/forms/src/model.d.ts (770,35): Type '{ onlySelf?: boolean | undefined; emitEvent?: boolean |
undefined; } | undefined' has no property 'emitEvent' and no string index signature.

Expected behavior

Build should be successful

Minimal reproduction of the problem with instructions

Install latest angular CLI

Update to latest Typescript

"strict": true, flag in tsconfig.json

Build using : ng serve

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

To be able to enable strict checking with latest Typescript

Please tell us about your environment:

Angular version: 4.1

Browser: all

Language: TypeScript 2.3

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