Best workflow for developing npm packages that depend on each other
<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>