test(add): Mock pacote/manifest to make tests more resilient to alternative package managers
test(add): Mock pacote/manifest to make tests more resilient to alternative package managers

When testing with a stricter pnpm recursive install, the un-mocked pacote/manifest kept exploding on a deeply nested, hideously hard to debug timeout caused by an uncaught TypeError:

    TypeError: fixOwner.mkdirfix(...).then(...).disposer is not a function

      at makeTmp (node_modules/.registry.npmjs.org/cacache/12.0.0/node_modules/cacache/lib/content/write.js:128:7)
      at handleContent (node_modules/.registry.npmjs.org/cacache/12.0.0/node_modules/cacache/lib/content/write.js:84:19)
      at WriteStream.to [as _worker] (node_modules/.registry.npmjs.org/cacache/12.0.0/node_modules/cacache/lib/content/write.js:58:17)
      at WriteStream.Object.<anonymous>.WriteStream._write (node_modules/.registry.npmjs.org/flush-write-stream/1.1.1/node_modules/flush-write-stream/index.js:37:13)
      at doWrite (node_modules/.registry.npmjs.org/readable-stream/2.3.6/node_modules/readable-stream/lib/_stream_writable.js:428:64)

Digging in, the nearest I could figure is that somewhere along the chain of Promises, Bluebird wasn't being used? ('disposer' is a Bluebird thing). The recent cacache major, v12, is certainly suspicious: https://github.com/npm/cacache/commit/ac84d1478ac0d71b6e556bcf241b52dd1100f1ec (it does not repro with cacache v11).

kittens/lerna,evocateur/lerna,lerna/lerna,lerna/lerna,sebmck/lerna,evocateur/lerna,lerna/lerna