title: Running multiple commands for npm test
body: <p>I'm currently using a gulp task to test a project. This runs tasks using the following tools:</p>
  
  <ul>
  <li>Karma (async)</li>
  <li>Protractor (spawned process)</li>
  <li>ESlint (using <code>gulp-eslint</code>)</li>
  <li>HTMLHint (using <code>gulp-htmlhint</code>)</li>
  <li>Stylelint (using <code>gulp-postcss</code>)</li>
  </ul>
  
  <p>The task fails if any of these tasks failed.</p>
  
  <p>All of these tools have perfectly fine cli interfaces. So I decided I'd like to run these tools using an npm test script instead.</p>
  
  <p>For simplicitly let's say all tools run by simply invoking them without any flags. Then this can be done using:</p>
  
  <pre><code>{
    ...
    "scripts": {
      "test": "karma &amp;&amp; protractor &amp;&amp; eslint &amp;&amp; htmlhint &amp;&amp; stylelint"
    },
    ...
  }
  </code></pre>
  
  <p>However, this means that if <code>karma</code> fails, none of the other tools will run.</p>
  
  <p>Is it possible to create a setup where all of these tools will run, but <code>npm test</code> will fail if any of the commands failed?</p>