cies</code> object.  The difference is that build failures do not cause
installation to fail.</p>
<p>It is still your program&#39;s responsibility to handle the lack of the
dependency.  For example, something like this:</p>
<pre><code>try {
  var foo = require(&#39;foo&#39;)
  var fooVersion = require(&#39;foo/package.json&#39;).version
} catch (er) {
  foo = null
}
if ( notGoodFooVersion(fooVersion) ) {
  foo = null
}

// .. then later in your program ..

if (foo) {
  foo.doFooThings()
}
</code></pre><p>En