title: What are the reasons for adding angular postinstall "ngcc..." script in the project?
body: <p>Pardon if below question looks naive to you:</p>
  <p>I've go through multiple project developed by angular 9 and most of them having below line in their package.json as posinstall script.</p>
  <p><code>&quot;postinstall&quot;: &quot;ngcc --properties es2015 es5 browser module main --first-only --create-ivy-entry-points&quot;</code></p>
  <p>I read the angular documentation and as per my understanding We have added &quot;ngcc&quot; to validate  the installed package is compatible with Ivy or not.</p>
  <p>Also as per their recommendation, we should not use the &quot;--create-ivy-entry-points&quot; flag as this will cause Node not to resolve the Ivy version of the packages correctly.</p>
  <p>Question: Could someone explain the reason for adding other flags and properties eg: &quot;--properties es2015 es5 browser module main --first-only --create-ivy-entry-points&quot; after ngcc in post install script.</p>
  <p>Thanks in advance!</p>