@startupjs/backend
Advanced tools
Comparing version 0.22.0-alpha.24 to 0.22.0-alpha.37
44
index.js
const isPlainObject = require('lodash/isPlainObject') | ||
const isArray = require('lodash/isArray') | ||
const conf = require('nconf') | ||
const shareDbMongo = require('sharedb-mongo') | ||
const shareDbAccess = require('sharedb-access') | ||
@@ -11,4 +10,3 @@ const racerSchema = require('racer-schema') | ||
const redis = require('redis-url') | ||
const MongoClient = require('mongodb').MongoClient | ||
const fs = require('fs') | ||
const getShareMongo = require('./getShareMongo') | ||
@@ -22,3 +20,3 @@ // Optional sharedb-ws-pubsub | ||
module.exports = (options) => { | ||
module.exports = async (options) => { | ||
// -------------------------------------------------------> storeUse <# | ||
@@ -28,26 +26,4 @@ if (options.ee != null) options.ee.emit('storeUse', racer) | ||
// ShareDB Setup | ||
let mongoUrl = conf.get('MONGO_URL') | ||
let mongo | ||
if (process.env.MONGO_SSL_CERT_PATH && process.env.MONGO_SSL_KEY_PATH) { | ||
let sslCert = fs.readFileSync(process.env.MONGO_SSL_CERT_PATH) | ||
let sslKey = fs.readFileSync(process.env.MONGO_SSL_KEY_PATH) | ||
const shareMongo = await getShareMongo() | ||
mongo = shareDbMongo({ | ||
mongo: (callback) => { | ||
MongoClient.connect(mongoUrl, { | ||
server: { | ||
sslKey: sslKey, | ||
sslValidate: false, | ||
sslCert: sslCert | ||
}, | ||
allowAllQueries: true | ||
}, callback) | ||
} | ||
}) | ||
} else { | ||
mongo = shareDbMongo(mongoUrl, { | ||
allowAllQueries: true | ||
}) | ||
} | ||
let backend = (() => { | ||
@@ -85,3 +61,3 @@ // For horizontal scaling, in production, redis is required. | ||
return racer.createBackend({ | ||
db: mongo, | ||
db: shareMongo, | ||
pubsub: pubsub, | ||
@@ -97,3 +73,3 @@ extraDbs: options.extraDbs | ||
return racer.createBackend({ | ||
db: mongo, | ||
db: shareMongo, | ||
pubsub: pubsub, | ||
@@ -105,3 +81,3 @@ extraDbs: options.extraDbs | ||
return racer.createBackend({ | ||
db: mongo, | ||
db: shareMongo, | ||
extraDbs: options.extraDbs | ||
@@ -142,5 +118,9 @@ }) | ||
// -------------------------------------------------------> backend <# | ||
if (options.ee != null) options.ee.emit('backend', backend) | ||
if (options.ee != null) { | ||
options.ee.emit('backend', backend, { | ||
mongo: shareMongo.mongo | ||
}) | ||
} | ||
return { backend, mongo, redis } | ||
return { backend, shareMongo, redis } | ||
} | ||
@@ -147,0 +127,0 @@ |
{ | ||
"name": "@startupjs/backend", | ||
"version": "0.22.0-alpha.24", | ||
"version": "0.22.0-alpha.37", | ||
"description": "Create new ShareDB backend instance", | ||
@@ -29,3 +29,3 @@ "main": "index.js", | ||
}, | ||
"gitHead": "a9b44d36ef180ebfa33776bfde69f78b52bccd0e" | ||
"gitHead": "ed1ae1b9b1f4b69c0216ebac60e479a8f8217a50" | ||
} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 2 instances in 1 package
5681
4
137
4