Index: node_modules/promise-inflight/inflight.js
===================================================================
--- node_modules/promise-inflight/inflight.js	(revision 81bc7da776d8cda42939ef4ab350c88d13b4941f)
+++ node_modules/promise-inflight/inflight.js	(revision 81bc7da776d8cda42939ef4ab350c88d13b4941f)
@@ -0,0 +1,36 @@
+'use strict'
+module.exports = inflight
+
+let Bluebird
+try {
+  Bluebird = require('bluebird')
+} catch (_) {
+  Bluebird = Promise
+}
+
+const active = {}
+inflight.active = active
+function inflight (unique, doFly) {
+  return Bluebird.all([unique, doFly]).then(function (args) {
+    const unique = args[0]
+    const doFly = args[1]
+    if (Array.isArray(unique)) {
+      return Bluebird.all(unique).then(function (uniqueArr) {
+        return _inflight(uniqueArr.join(''), doFly)
+      })
+    } else {
+      return _inflight(unique, doFly)
+    }
+  })
+
+  function _inflight (unique, doFly) {
+    if (!active[unique]) {
+      active[unique] = (new Bluebird(function (resolve) {
+        return resolve(doFly())
+      }))
+      active[unique].then(cleanup, cleanup)
+      function cleanup() { delete active[unique] }
+    }
+    return active[unique]
+  }
+}
