diff --git a/spec/integ/bridge.spec.js b/spec/integ/bridge.spec.js index 0407f476..52b17d8e 100644 --- a/spec/integ/bridge.spec.js +++ b/spec/integ/bridge.spec.js @@ -2,11 +2,6 @@ const Datastore = require("nedb"); const fs = require("fs"); -// required fix for nedb being incredibly outdated -const util = require("node:util"); -util.isDate = util.types.isDate; -util.isRegExp = util.types.isRegExp; - const HS_URL = "http://example.com"; const HS_DOMAIN = "example.com"; const BOT_LOCALPART = "the_bridge"; diff --git a/src/bridge.ts b/src/bridge.ts index 330ae214..9296a1ef 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -1721,8 +1721,16 @@ export class Bridge { } async function loadDatabase(path: string, Cls: new (db: Datastore) => T) { + log.warn("NeDB-based stores are now deprecated."); try { const datastoreFn = (await import("nedb")).default; + // required fix for nedb being incredibly outdated + if (parseInt(process.versions.node.split(".")[0]) >= 24) { + const util = require("node:util"); + util.isDate = util.types.isDate; + util.isRegExp = util.types.isRegExp; + } + return new Promise((resolve, reject) => { const dbInstance = new datastoreFn({ filename: path,