Angular2 RC5 forces one to move component imports to NgModule declaration - Why?
<p>It seems any <code>import</code> statement you previously made in your Components that were declared in the <code>directives</code>, <code>pipes</code> and <code>providers</code> part of the <code>@Component()</code> now <strong>must</strong> be moved to the <code>@ngModule</code> declaration.</p>
<p><strong>Why is this?</strong></p>
<p>I understand that it's to lessen boilerplate in the Components but this only makes sense for declarations that are <strong>reused</strong> multiple times in the application.</p>
<p>For directives, components, pipes or providers that are only used in one single component, it seems very unnecessary and will lead to heavy bloating of the <code>@ngModules</code> file.</p>
<p>In the link below, in the final step5 it states:</p>
<blockquote>
<p>For RC5, you can leave your components, directives and pipes in the
directives and pipes properties of your @Component metadata. In fact,
we automatically hoist (add) them to the NgModule to which they
belong.</p>
<p><strong>This option is temporary for backward compatibility. It will be
removed in the final release of Angular 2.0.</strong></p>
<p>Get ahead of the game and start moving your component directives and
pipes into module declarations as soon as possible. We intend to
delete all deprecated class, methods, and properties in the next RC.</p>
</blockquote>
<p><strong>Source</strong>: <a href="https://angular.io/docs/ts/latest/cookbook/rc4-to-rc5.html" rel="noreferrer">RC4 to RC5 migration</a></p>