diff --git a/packages/xo-server-auth-ldap/package.json b/packages/xo-server-auth-ldap/package.json index c6add5845..d50357213 100644 --- a/packages/xo-server-auth-ldap/package.json +++ b/packages/xo-server-auth-ldap/package.json @@ -27,7 +27,6 @@ ], "dependencies": { "babel-runtime": "^6.3.19", - "bluebird": "^3.1.1", "event-to-promise": "^0.6.0", "exec-promise": "^0.5.1", "fs-promise": "^0.3.1", diff --git a/packages/xo-server-auth-ldap/src/index.js b/packages/xo-server-auth-ldap/src/index.js index 856a2be56..4a8721de0 100644 --- a/packages/xo-server-auth-ldap/src/index.js +++ b/packages/xo-server-auth-ldap/src/index.js @@ -3,7 +3,6 @@ import eventToPromise from 'event-to-promise' import { createClient } from 'ldapjs' import { escape } from 'ldapjs/lib/filters/escape' -import { promisify } from 'bluebird' import { readFile } from 'fs-promise' // =================================================================== @@ -14,6 +13,22 @@ const bind = (fn, thisArg) => function () { const noop = () => {} +export const promisify = (fn, thisArg) => function () { + const { length } = arguments + const args = new Array(length + 1) + for (let i = 0; i < length; ++i) { + args[i] = arguments[i] + } + + return new Promise((resolve, reject) => { + args[length] = (error, result) => error + ? reject(error) + : resolve(result) + + fn.apply(thisArg || this, args) + }) +} + // ------------------------------------------------------------------- const VAR_RE = /\{\{([^}]+)\}\}/g