Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorRebecca Turner <me@re-becca.org>2017-05-10 02:06:41 +0300
committerRebecca Turner <me@re-becca.org>2017-05-26 04:55:08 +0300
commit6c8f95c9478c5c93e64c55a99c10ab5d39fdfb60 (patch)
tree619ab7287b4cc214c29cfebf6e723121e620c2bd /test
parent1e6cbc14042c427100e0ae5cd1234f73f2dcc0cf (diff)
common-tap: Make common.npm support returning promsies
Diffstat (limited to 'test')
-rw-r--r--test/common-tap.js11
1 files changed, 10 insertions, 1 deletions
diff --git a/test/common-tap.js b/test/common-tap.js
index 158829264..8d9c4a0d4 100644
--- a/test/common-tap.js
+++ b/test/common-tap.js
@@ -3,6 +3,7 @@ var fs = require('graceful-fs')
var readCmdShim = require('read-cmd-shim')
var isWindows = require('../lib/utils/is-windows.js')
var extend = Object.assign || require('util')._extend
+var Bluebird = require('bluebird')
// cheesy hackaround for test deps (read: nock) that rely on setImmediate
if (!global.setImmediate || !require('timers').setImmediate) {
@@ -39,6 +40,14 @@ var once = require('once')
var nodeBin = exports.nodeBin = process.env.npm_node_execpath || process.env.NODE || process.execPath
exports.npm = function (cmd, opts, cb) {
+ if (!cb) {
+ var prom = new Bluebird((resolve, reject) => {
+ cb = function (err, code, stdout, stderr) {
+ if (err) return reject(err)
+ return resolve([code, stdout, stderr])
+ }
+ })
+ }
cb = once(cb)
cmd = [bin].concat(cmd)
opts = extend({}, opts || {})
@@ -75,7 +84,7 @@ exports.npm = function (cmd, opts, cb) {
child.on('close', function (code) {
cb(null, code, stdout, stderr)
})
- return child
+ return prom || child
}
exports.makeGitRepo = function (params, cb) {