From fd065828138df086abb082205b08ad9c6573c26b Mon Sep 17 00:00:00 2001 From: AJ ONeal Date: Sat, 30 Mar 2019 13:26:24 -0600 Subject: [PATCH] v2.1.8: make bluebird truly optional --- index.js | 12 ++++++++++-- package.json | 6 +++--- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/index.js b/index.js index 3fc0c1a..2e33dc5 100644 --- a/index.js +++ b/index.js @@ -13,11 +13,19 @@ var defaults = { // just to account for clock skew really , _dropDead: 5 * MIN }; +var promisify = require('util').promisify; +if (!promisify) { + try { + promisify = require('bluebird').promisify; + } catch(e) { + console.error("You're running an older version of node that doesn't have 'promisify'. Please run 'npm install bluebird --save'."); + } +} // autoSni = { renewWithin, renewBy, getCertificates, tlsOptions, _dbg_now } module.exports.create = function (autoSni) { - if (!autoSni.getCertificatesAsync) { autoSni.getCertificatesAsync = require('bluebird').promisify(autoSni.getCertificates); } + if (!autoSni.getCertificatesAsync) { autoSni.getCertificatesAsync = promisify(autoSni.getCertificates); } if (!autoSni.renewWithin) { autoSni.renewWithin = autoSni.notBefore || defaults.renewWithin; } if (autoSni.renewWithin < defaults._renewWithinMin) { throw new Error("options.renewWithin should be at least " + (defaults._renewWithinMin / DAY) + " days"); @@ -123,7 +131,7 @@ module.exports.create = function (autoSni) { else if (certMeta.then) { //log(autoSni.debug, "PROMISED CERT", domain); // we are already getting a cert - promise = certMeta + promise = certMeta; } else if (now >= certMeta.expiresNear) { //log(autoSni.debug, "EXPIRED CERT"); diff --git a/package.json b/package.json index 4ae50da..26c38cc 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,10 @@ { "name": "le-sni-auto", - "version": "2.1.6", + "version": "2.1.8", "description": "An auto-sni strategy for registering and renewing letsencrypt certificates using SNICallback", "homepage": "https://git.coolaj86.com/coolaj86/le-sni-auto.js", "main": "index.js", - "dependencies": { + "trulyOptionalDependencies": { "bluebird": "^3.5.1" }, "devDependencies": {}, @@ -13,7 +13,7 @@ }, "repository": { "type": "git", - "url": "git+https://git.coolaj86.com/coolaj86/le-sni-auto.js.git" + "url": "https://git.coolaj86.com/coolaj86/le-sni-auto.js.git" }, "keywords": [ "le-sni",