title: Best workflow for developing npm packages that depend on each other
body: <p>Currently we're developing two React-based applicaties, say <code>app-a</code> and <code>app-b</code> that has two dependencies we also manage. A <code>shared-components</code> package, which contains shared components, and a <code>shared-utilities</code> package which contains shared utilities between <code>app-a</code> and <code>app-b</code>. Both of these have their own full on package.json, and are included in the package.json of <code>app-a</code> and <code>app-b</code>.</p>
  
  <p><strong>Dependencies:</strong>  </p>
  
  <p><code>app-a</code><br>
  <code>|- shared-components</code><br>
  <code>|- shared-utilities</code></p>
  
  <p>and</p>
  
  <p><code>app-b</code><br>
  <code>|- shared-components</code><br>
  <code>|- shared-utilities</code></p>
  
  <p>Each time we're developing something in for example <code>shared-components</code> that we want to use in for example <code>app-a</code> we have to perform too many steps:</p>
  
  <ol>
  <li>Make <code>&lt;AwesomeComponent /&gt;</code> in <code>shared-components</code></li>
  <li>Build files in <code>shared-components</code>.</li>
  <li>Commit/push to GitHub.</li>
  <li>Point dependency in package.json from <code>app-a</code> to the specific branch.</li>
  <li>Run <code>npm install</code>.</li>
  <li>Use the <code>&lt;AwesomeComponent /&gt;</code>.</li>
  </ol>
  
  <p>If we made a mistake in developing the , we need to retart from step 1. Ofcourse we can skip the commit/push and <code>npm install</code> by copying the build files to the <code>node_modules</code> folder directly, but still, this is quite a hassle everytime we're building a component. </p>
  
  <p>What workflow do you guys use or any tips/advice to speed up local development here?</p>
  
  <p><em>Note; we're using webpack to bundle our files and babel to transpile.</em></p>