The fs.exists here is unnecessary. Just start out by reading the package.json, and if it has an error, then try the shrinkwrap.  Something like this:

```javascript
var json = path.resolve(folder, "package.json")
readJson(json, function (er, pkg) {
  if (er) {
    json = path.resolve(folder, "npm-shrinkwrap.json")
    return readJson(json, next)
  }
  next(er, pkg)
})

function next(er, pkg) {
  if (er) return cb(er)
  chain
    ( [ ...
```