Issue 1:
Problem is when one component wraps another one and is trying to provide the nested content to wrapped component, which additionally is trying to take this nested content by selectors.

Case 0

http://jsfiddle.net/majo44/nvaqhsse/

The goal is to provide component X-B which encapsulate component X-A, with possibility to provide nested content to X-A from usage of X-B.

X-A component

@Component({
selector: "x-a",
template: `
X-A Start
<ng-content></ng-content>
X-A End`
})
class XA{}

X-B component

@Component({
selector: "x-b",
template: `
X-B Start
<x-a>
<ng-content></ng-content>
</x-a>
X-B End`,
directives: [XA]
})
class XB{}

Example usage

@Component({
selector: 'app',
template: `
<x-b>
<div class="aClass">AClass Element</div>
<div class="bClass">BClass Element</div>
</x-b>
`,
directives: [XB]
})
class App{}

As a output I got:

<app>
<x-b>
X-B Start
<x-a>
X-A Start
<div class="aClass">AClass Element</div>
<div class="bClass">BClass Element</div>
X-A End
</x-a>
X-B End
</x-b>
</app>

In this case everything works fine as I expected.

Case 1

http://jsfiddle.net/majo44/nvaqhsse/1/

Now lets modify x-a component whit adding selectors to ng-content (eg. for reverse order of children, in real case this can be for placing content in different places of my page layout).

X-A component:

@Component({
selector: "x-a",
template: `
X-A Start
<ng-content select=".bClass"></ng-content>
<ng-content select=".aClass"></ng-content>
X-A End`
})
class XA{}

Now output do not contains any of content provided to x-b component

As a output I got:

<app>
<x-b>
X-B Start
<x-a>
X-A Start
X-A End
</x-a>
X-B End
</x-b>
</app>

Case 2

http://jsfiddle.net/majo44/nvaqhsse/2/

As a workaround I can re-package my content in x-b component (this is not good because I have to always know exact the x-a ng-content selectors in x-b component, this is not superb flexible)

X-B component

@Component({
selector: "x-b",
template: `
X-B Start
<x-a>
<div class="aClass">
<ng-content select=".aClass"></ng-content>
</div>
<div class="bClass">
<ng-content select=".bClass"></ng-content>
</div>
</x-a>
X-B End`,
directives: [XA]
})
class XB{}

Output looks better, but there still is a problem, because ng-content is taking whole selected element I have now duplicated <div class="...Class">:

<app>
<x-b>
X-B Start
<x-a>
X-A Start
<div class="bClass">
<div class="bClass">BClass Element</div>
</div>
<div class="aClass">
<div class="aClass">AClass Element</div>
</div>
X-A End
</x-a>
X-B End
</x-b>
</app>

As I think, the best flexible solution for this will be support of Case 1 directly. As an alternative solution for Case 2 ng-content can provide additional attribute for "unwrap" the content from "selected" element.

Angular Version: 2.0.0-beta.0

Browser: Chrome

Issue 2:
I am using the latest Angular and Angular CLI.

@angular/cli: 1.1.0-rc.0
node: 6.10.0
os: darwin x64
@angular/common: 4.2.0-beta.1
@angular/compiler: 4.2.0-beta.1
@angular/core: 4.2.0-beta.1
@angular/flex-layout: 2.0.0-beta.8
@angular/forms: 4.2.0-beta.1
@angular/http: 4.2.0-beta.1
@angular/platform-browser: 4.2.0-beta.1
@angular/platform-browser-dynamic: 4.2.0-beta.1
@angular/router: 4.2.0-beta.1
@angular/cli: 1.1.0-rc.0
@angular/compiler-cli: 4.2.0-beta.1
@angular/language-service: 4.2.0-beta.1

I am using Angular2-jwt for HTTP requests.

I am running on typescript 2.3 with strict equal true. If strict is false, ng build --prod --aot is fine. With strict=true, I run into this issue below.

Running ng server with strict=true or strict=false, everything is fine.

➜ ng build --prod --aot
Hash: 014d8bfd8f003b5ebb85
Time: 26601ms
chunk {0} 0.e99d366f13a386a17436.chunk.js 227 kB {1} {2} {4} [rendered]
...

ERROR in /node_modules/@angular/http/src/base_request_options.d.ts (63,18): Type 'RequestOptionsArgs | undefined' has no property 'method' and no string index signature.

ERROR in /node_modules/@angular/http/src/base_request_options.d.ts (63,26): Type 'RequestOptionsArgs | undefined' has no property 'headers' and no string index signature.

ERROR in /node_modules/@angular/http/src/base_request_options.d.ts (63,35): Type 'RequestOptionsArgs | undefined' has no property 'body' and no string index signature.

ERROR in /node_modules/@angular/http/src/base_request_options.d.ts (63,41): Type 'RequestOptionsArgs | undefined' has no property 'url' and no string index signature.

ERROR in /node_modules/@angular/http/src/base_request_options.d.ts (63,46): Type 'RequestOptionsArgs | undefined' has no property 'search' and no string index signature.

ERROR in /node_modules/@angular/http/src/base_request_options.d.ts (63,54): Type 'RequestOptionsArgs | undefined' has no property 'params' and no string index signature.

ERROR in /node_modules/@angular/http/src/base_request_options.d.ts (63,62): Type 'RequestOptionsArgs | undefined' has no property 'withCredentials' and no string index signature.

ERROR in /node_modules/@angular/http/src/base_request_options.d.ts (63,79): Type 'RequestOptionsArgs | undefined' has no property 'responseType' and no string index signature.

Can someone confirm that it is an Angular/Http bug or a library bug?