From 420b4a87f3af58fb572de1af866a93dcd6828d70 Mon Sep 17 00:00:00 2001 From: Alec Gibson <12036746+alecgibson@users.noreply.github.com> Date: Wed, 1 Feb 2023 08:19:54 +0000 Subject: [PATCH] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20Add=20support=20for=20`mon?= =?UTF-8?q?godb5`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This change adds support for [`mongodb` v5][1]. The headline breaking change here is dropping support for callbacks (and forcing consumers to use promises instead). This library already internally uses promises, so we just need to tweak a couple of tests that were using callbacks. [1]: https://github.com/mongodb/node-mongodb-native/releases/tag/v5.0.0 --- package.json | 3 ++- test/mongo-milestone-db.js | 13 ++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index a225a1e..837e105 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "MongoDB milestone snapshot database adapter for ShareDB", "main": "lib/index.js", "dependencies": { - "mongodb": "^2.2.36 || ^3.0.0 || ^4.0.0", + "mongodb": "^2.2.36 || ^3.0.0 || ^4.0.0 || ^5.0.0", "sharedb": "^1.0.0 || ^2.0.0 || ^3.0.0" }, "devDependencies": { @@ -15,6 +15,7 @@ "mongodb2": "npm:mongodb@^2.2.36", "mongodb3": "npm:mongodb@^3.0.0", "mongodb4": "npm:mongodb@^4.0.0", + "mongodb5": "npm:mongodb@^5.0.0", "nyc": "^15.1.0" }, "scripts": { diff --git a/test/mongo-milestone-db.js b/test/mongo-milestone-db.js index 56519ca..bad0afd 100644 --- a/test/mongo-milestone-db.js +++ b/test/mongo-milestone-db.js @@ -6,7 +6,12 @@ const mongodbRequire = require('../lib/mongodb'); const MONGO_URL = process.env.TEST_MONGO_URL || 'mongodb://localhost:27017/test'; -['mongodb2', 'mongodb3', 'mongodb4'].forEach((driver) => { +[ + 'mongodb2', + 'mongodb3', + 'mongodb4', + 'mongodb5', +].forEach((driver) => { const mongodb = require(driver); function create(options, callback) { @@ -111,8 +116,7 @@ const MONGO_URL = process.env.TEST_MONGO_URL || 'mongodb://localhost:27017/test' db.saveMilestoneSnapshot('testcollection', snapshot, (saveError) => { if (saveError) return done(saveError); - mongo.collection('m_testcollection').indexInformation((indexError, indexes) => { - if (indexError) return done(indexError); + mongo.collection('m_testcollection').indexInformation().then((indexes) => { expect(indexes.d_1_v_1).to.be.ok; expect(indexes['m.mtime_1']).to.be.ok; done(); @@ -163,8 +167,7 @@ const MONGO_URL = process.env.TEST_MONGO_URL || 'mongodb://localhost:27017/test' db.saveMilestoneSnapshot('testcollection', snapshot, (saveError) => { if (saveError) return done(saveError); - mongo.collection('m_testcollection').indexInformation((indexError, indexes) => { - if (indexError) return done(indexError); + mongo.collection('m_testcollection').indexInformation().then((indexes) => { expect(indexes.id_1_v_1).not.to.be.ok; done(); });