title: What is a good build system for Angular2 projects?
body: <p>Me and my team recently shifted to Angular2 (or AngularJS 2) from AngularJS 1.x. We used to use <strong>Yeoman Angular Generator</strong> for scaffolding and <code>grunt</code> for building and creating a war using the inbuilt <em>gruntfile.js</em> that used to get created by default with the above mentioned generator. We used it by making some minor changes to it and we were good to go.<br>
  What this file essentially does is:  </p>
  
  <ul>
  <li>It combines all third party dependency js files installed from <em>package.json</em> in <em>node_modules</em> folder (i.e. <code>npm install</code>) &amp; optionally even from <em>bower.json</em> in <em>bower_components</em> folder(i.e. <code>bower install</code>) [if you are using it] into a single <em>vendor.js</em> file (Does so by doing concatenation, minification and uglification)</li>
  <li>It repeats the above steps for css files and combines it into <em>vendor.css</em></li>
  <li>It combines all user javascript files into <em>scripts.js</em> and css files in <em>styles.css</em></li>
  <li>In bundles these 4 files with <em>index.html</em> and other necessary things like images, fonts, etc.</li>
  </ul>
  
  <p>I have been looking for a similar solution for Angular2 but have failed so far. I tried using <code>gulp</code> by using <em>gulpfile.js</em> found in <strong>angular2-seed project</strong> or <code>ng build</code> from <strong>angular-cli project</strong>  but none have provided such a solution. 
  The problem always occurs with the node_modules folder. The typescript <em>ts</em> files from these folders which are completely unnecessary get built into the bundle. </p>
  
  <p>Now I do understand that Angular2 is different from Angular1 and all but how can build a good build by in this? What approach should I take? And can I achieve anything like what I used to get in Angular1? </p>