<p dir="auto"><strong>Current behavior</strong><br>
According to Victor Savkin <a href="https://vsavkin.com/immutability-vs-encapsulation-90549ab74487#.jt71oqqbv" rel="nofollow">article</a> when using the OnPush strategy if the component Input does not change, there is no need to check the component’s template. But in my example when I am clicking on the trigger button and the Input does not change the <em>ngAfterViewChecked</em> hook still running.</p>
<p dir="auto"><strong>Expected behavior</strong><br>
The <em>ngAfterViewChecked</em> in the component should not run.</p>
<p dir="auto"><strong>Minimal reproduction of the problem with instructions</strong><br>
This is a working <a href="https://plnkr.co/edit/GnKMfAxMl65ttBQVIeSj?p=preview" rel="nofollow">plunker</a>.</p>
<p dir="auto"><strong>I'm submitting a bug report</strong></p>
<p dir="auto"><strong>Current behavior</strong><br>
Published code &amp; umd bundles from npm such as <code class="notranslate">@angular/platform-browser/bundles/platform-browser.umd.js</code> from <code class="notranslate">@angular/platform-browser</code> include extra licenses and empty abstract methods.</p>
<p dir="auto"><strong>Expected behavior</strong><br>
Ideally our .umd bundles would not include these abstract no-op methods or the duplicate license information. This would probably result in bundle size reduction and performance increase for all Angular apps using these bundles.</p>
<p dir="auto"><strong>Minimal reproduction of the problem with instructions</strong></p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="npm install @angular/platform-browser
grep &quot;) { }&quot; node_modules/@angular/platform-browser/bundles/platform-browser.umd.js"><pre class="notranslate"><code class="notranslate">npm install @angular/platform-browser
grep ") { }" node_modules/@angular/platform-browser/bundles/platform-browser.umd.js
</code></pre></div>
<p dir="auto"><strong>Angular version:</strong> 2.4.1 &amp; master</p>