Issue 1:
Bug Report or Feature Request (mark with an x)

- [x ] bug report -> please search issues before submitting
- [ ] feature request

Output from: ng --version.

"@angular/compiler-cli": "4.0.2",

node v7.9.0

macOS ( Sierra?)

Simple steps to reproduce this bug.

Please include: commands run, packages added, related code changes.

A link to a sample repo would help too.

following the steps here https://angular.io/docs/ts/latest/cookbook/aot-compiler.html

this command is run:

node_modules/.bin/ngc -p tsconfig-aot.json

The log given by the failure.

Error: Expected 'styleUrls' to be an array of strings.

at assertArrayOfStrings (/Users/xxxxx/xxxxx/xxxxx/xxxxx/node_modules/@angular/compiler/bundles/compiler.umd.js:3361:19)

at CompileMetadataResolver.getNonNormalizedDirectiveMetadata (/Users/xxxxx/xxxxx/xxxxx/xxxxx/node_modules/@angular/compiler/bundles/compiler.umd.js:13786:13)

at CompileMetadataResolver._getEntryComponentMetadata (/Users/xxxxx/xxxxx/xxxxx/xxxxx/node_modules/@angular/compiler/bundles/compiler.umd.js:14484:45)

at /Users/xxxxx/xxxxx/xxxxx/xxxxx/node_modules/@angular/compiler/bundles/compiler.umd.js:14470:48

at Array.forEach (native)

at CompileMetadataResolver._getEntryComponentsFromProvider (/Users/xxxxx/xxxxx/xxxxx/xxxxx/node_modules/@angular/compiler/bundles/compiler.umd.js:14469:30)

at /Users/xxxxx/xxxxxx/xxxxx/frontend/node_modules/@angular/compiler/bundles/compiler.umd.js:14433:83

at Array.forEach (native)

at CompileMetadataResolver._getProvidersMetadata (/Users/xxxxxxx/xxxxxx/xxxxxxx/xxxxxx/node_modules/@angular/compiler/bundles/compiler.umd.js:14397:19)

at /Users/xxxxxx/xxxxxxxxx/xxxxxxx/xxxxxx/node_modules/@angular/compiler/bundles/compiler.umd.js:14399:23

Compilation failed

Desired functionality.

it should work

Mention any other details that might be useful.

I am using angular 4.0.2 and it's components

I posted this here in the repo for angular-cli but I don't think it belongs there.

angular/angular-cli#6002

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

[x ] bug report => search github for a similar issue or PR before submitting

[x] feature request

I intentionally create a duplicate from my issue #12357 , because that one was closed and I didn't get any answer to urgend questions.

The problem is, that an input with ngControl in a custom component in a template driven form is not registered to the form.

As Kara adviced, we have to implement ControlValueAccessor interface in the custom component.

May be I misundeerstood the concepts, but I have arguments against Karas statement, or at least questions, which are unclear to me:

We don't talk only about a custom form control. We talk about a custom component in general, which is placed inside a form. Such a component may have nothing to do by itself with model and data, it may only perform structuring tasks or group more then one input elements for a special purpose. Why would I need a controlValueAccessor interface for such a component, if the the component itself is not dealing with data? And how could a controlValueAccessor manage more then one input element in the component?

I thought, the proposal was, to bring full ng1 functionality to forms, when using template driven forms and ngModel. Exiting ng1 applications do not need something like a controlValueAccessor interface - a migration seems to be more complicated as it should be in this point.