mongodb-prebuilt
Advanced tools
Comparing version 6.3.6 to 6.4.0
@@ -12,2 +12,2 @@ #!/usr/bin/env node | ||
}); | ||
//# sourceMappingURL=/Users/winfinit/workspace/personal/mongodb-prebuilt/bin/bsondump.js.map | ||
//# sourceMappingURL=/Users/alwyn/crashburn/mongodb-prebuilt/bin/bsondump.js.map |
@@ -0,2 +1,3 @@ | ||
#!/usr/bin/env node | ||
declare let parentPid: number; | ||
declare let childPid: number; |
@@ -18,2 +18,2 @@ #!/usr/bin/env node | ||
}, 2000); | ||
//# sourceMappingURL=/Users/winfinit/workspace/personal/mongodb-prebuilt/bin/mongo-supervise.js.map | ||
//# sourceMappingURL=/Users/alwyn/crashburn/mongodb-prebuilt/bin/mongo-supervise.js.map |
@@ -13,2 +13,2 @@ #!/usr/bin/env node | ||
}); | ||
//# sourceMappingURL=/Users/winfinit/workspace/personal/mongodb-prebuilt/bin/mongo.js.map | ||
//# sourceMappingURL=/Users/alwyn/crashburn/mongodb-prebuilt/bin/mongo.js.map |
@@ -12,2 +12,2 @@ #!/usr/bin/env node | ||
}); | ||
//# sourceMappingURL=/Users/winfinit/workspace/personal/mongodb-prebuilt/bin/mongod.js.map | ||
//# sourceMappingURL=/Users/alwyn/crashburn/mongodb-prebuilt/bin/mongod.js.map |
@@ -12,2 +12,2 @@ #!/usr/bin/env node | ||
}); | ||
//# sourceMappingURL=/Users/winfinit/workspace/personal/mongodb-prebuilt/bin/mongodump.js.map | ||
//# sourceMappingURL=/Users/alwyn/crashburn/mongodb-prebuilt/bin/mongodump.js.map |
@@ -12,2 +12,2 @@ #!/usr/bin/env node | ||
}); | ||
//# sourceMappingURL=/Users/winfinit/workspace/personal/mongodb-prebuilt/bin/mongoexport.js.map | ||
//# sourceMappingURL=/Users/alwyn/crashburn/mongodb-prebuilt/bin/mongoexport.js.map |
@@ -12,2 +12,2 @@ #!/usr/bin/env node | ||
}); | ||
//# sourceMappingURL=/Users/winfinit/workspace/personal/mongodb-prebuilt/bin/mongofiles.js.map | ||
//# sourceMappingURL=/Users/alwyn/crashburn/mongodb-prebuilt/bin/mongofiles.js.map |
@@ -12,2 +12,2 @@ #!/usr/bin/env node | ||
}); | ||
//# sourceMappingURL=/Users/winfinit/workspace/personal/mongodb-prebuilt/bin/mongoimport.js.map | ||
//# sourceMappingURL=/Users/alwyn/crashburn/mongodb-prebuilt/bin/mongoimport.js.map |
@@ -12,2 +12,2 @@ #!/usr/bin/env node | ||
}); | ||
//# sourceMappingURL=/Users/winfinit/workspace/personal/mongodb-prebuilt/bin/mongooplog.js.map | ||
//# sourceMappingURL=/Users/alwyn/crashburn/mongodb-prebuilt/bin/mongooplog.js.map |
@@ -12,2 +12,2 @@ #!/usr/bin/env node | ||
}); | ||
//# sourceMappingURL=/Users/winfinit/workspace/personal/mongodb-prebuilt/bin/mongoperf.js.map | ||
//# sourceMappingURL=/Users/alwyn/crashburn/mongodb-prebuilt/bin/mongoperf.js.map |
@@ -12,2 +12,2 @@ #!/usr/bin/env node | ||
}); | ||
//# sourceMappingURL=/Users/winfinit/workspace/personal/mongodb-prebuilt/bin/mongorestore.js.map | ||
//# sourceMappingURL=/Users/alwyn/crashburn/mongodb-prebuilt/bin/mongorestore.js.map |
@@ -12,2 +12,2 @@ #!/usr/bin/env node | ||
}); | ||
//# sourceMappingURL=/Users/winfinit/workspace/personal/mongodb-prebuilt/bin/mongos.js.map | ||
//# sourceMappingURL=/Users/alwyn/crashburn/mongodb-prebuilt/bin/mongos.js.map |
@@ -12,2 +12,2 @@ #!/usr/bin/env node | ||
}); | ||
//# sourceMappingURL=/Users/winfinit/workspace/personal/mongodb-prebuilt/bin/mongosniff.js.map | ||
//# sourceMappingURL=/Users/alwyn/crashburn/mongodb-prebuilt/bin/mongosniff.js.map |
@@ -12,2 +12,2 @@ #!/usr/bin/env node | ||
}); | ||
//# sourceMappingURL=/Users/winfinit/workspace/personal/mongodb-prebuilt/bin/mongostat.js.map | ||
//# sourceMappingURL=/Users/alwyn/crashburn/mongodb-prebuilt/bin/mongostat.js.map |
@@ -12,2 +12,2 @@ #!/usr/bin/env node | ||
}); | ||
//# sourceMappingURL=/Users/winfinit/workspace/personal/mongodb-prebuilt/bin/mongotop.js.map | ||
//# sourceMappingURL=/Users/alwyn/crashburn/mongodb-prebuilt/bin/mongotop.js.map |
/// <reference types="node" /> | ||
import { SpawnOptions, ChildProcess } from 'child_process'; | ||
import { IMongoDBDownloadOpts } from './mongod-helper'; | ||
import { MongoDBPrebuilt } from './mongodb-prebuilt'; | ||
@@ -14,3 +15,3 @@ import { MongoSupervise } from './mongodb-supervise'; | ||
mongoDBPrebuilt: MongoDBPrebuilt; | ||
constructor(command: string, commandArguments?: string[], spawnOptions?: SpawnOptions); | ||
constructor(command: string, commandArguments?: string[], spawnOptions?: SpawnOptions, downloadOptions?: IMongoDBDownloadOpts); | ||
run(): Promise<boolean>; | ||
@@ -17,0 +18,0 @@ runCommand(): Promise<boolean>; |
@@ -8,4 +8,4 @@ "use strict"; | ||
var mongodb_supervise_1 = require("./mongodb-supervise"); | ||
var MongoBins = (function () { | ||
function MongoBins(command, commandArguments, spawnOptions) { | ||
var MongoBins = /** @class */ (function () { | ||
function MongoBins(command, commandArguments, spawnOptions, downloadOptions) { | ||
if (commandArguments === void 0) { commandArguments = []; } | ||
@@ -17,3 +17,8 @@ if (spawnOptions === void 0) { spawnOptions = {}; } | ||
this.command = command; | ||
this.mongoDBPrebuilt = new mongodb_prebuilt_1.MongoDBPrebuilt(); | ||
if (downloadOptions) { | ||
this.mongoDBPrebuilt = new mongodb_prebuilt_1.MongoDBPrebuilt(downloadOptions); | ||
} | ||
else { | ||
this.mongoDBPrebuilt = new mongodb_prebuilt_1.MongoDBPrebuilt(); | ||
} | ||
} | ||
@@ -76,2 +81,2 @@ MongoBins.prototype.run = function () { | ||
exports.MongoBins = MongoBins; | ||
//# sourceMappingURL=/Users/winfinit/workspace/personal/mongodb-prebuilt/mongo-bins.js.map | ||
//# sourceMappingURL=/Users/alwyn/crashburn/mongodb-prebuilt/mongo-bins.js.map |
/// <reference types="node" /> | ||
import { MongoBins } from './mongo-bins'; | ||
export interface IMongoDBDownloadOpts { | ||
platform?: string; | ||
arch?: string; | ||
version?: string; | ||
downloadDir?: string; | ||
http?: any; | ||
} | ||
export declare class MongodHelper { | ||
@@ -8,4 +15,6 @@ mongoBin: MongoBins; | ||
private rejectLink; | ||
constructor(commandArguments?: string[]); | ||
constructor(commandArguments?: string[], downloadOptions?: IMongoDBDownloadOpts); | ||
run(): Promise<boolean>; | ||
stop(): void; | ||
kill(): void; | ||
closeHandler(code: number): void; | ||
@@ -12,0 +21,0 @@ stderrHandler(message: string | Buffer): void; |
@@ -6,8 +6,13 @@ "use strict"; | ||
var COMMAND = "mongod"; | ||
var MongodHelper = (function () { | ||
function MongodHelper(commandArguments) { | ||
var MongodHelper = /** @class */ (function () { | ||
function MongodHelper(commandArguments, downloadOptions) { | ||
if (commandArguments === void 0) { commandArguments = []; } | ||
this.resolveLink = function () { }; | ||
this.rejectLink = function () { }; | ||
this.mongoBin = new mongo_bins_1.MongoBins(COMMAND, commandArguments); | ||
if (downloadOptions) { | ||
this.mongoBin = new mongo_bins_1.MongoBins(COMMAND, commandArguments, {}, downloadOptions); | ||
} | ||
else { | ||
this.mongoBin = new mongo_bins_1.MongoBins(COMMAND, commandArguments); | ||
} | ||
this.debug = Debug("mongodb-prebuilt-MongodHelper"); | ||
@@ -27,2 +32,8 @@ } | ||
}; | ||
MongodHelper.prototype.stop = function () { | ||
this.mongoBin.childProcess.kill('SIGINT'); | ||
}; | ||
MongodHelper.prototype.kill = function () { | ||
this.mongoBin.childProcess.kill('SIGTERM'); | ||
}; | ||
MongodHelper.prototype.closeHandler = function (code) { | ||
@@ -79,2 +90,2 @@ this.debug("mongod close: " + code); | ||
exports.MongodHelper = MongodHelper; | ||
//# sourceMappingURL=/Users/winfinit/workspace/personal/mongodb-prebuilt/mongod-helper.js.map | ||
//# sourceMappingURL=/Users/alwyn/crashburn/mongodb-prebuilt/mongod-helper.js.map |
@@ -10,2 +10,2 @@ "use strict"; | ||
__export(require("./mongodb-supervise")); | ||
//# sourceMappingURL=/Users/winfinit/workspace/personal/mongodb-prebuilt/mongodb-prebuilt-all.js.map | ||
//# sourceMappingURL=/Users/alwyn/crashburn/mongodb-prebuilt/mongodb-prebuilt-all.js.map |
import { MongoDBDownload } from 'mongodb-download'; | ||
import { IMongoDBDownloadOpts } from './mongod-helper'; | ||
export declare class MongoDBPrebuilt { | ||
mongoDBDownload: MongoDBDownload; | ||
mongoDBDownload?: MongoDBDownload | IMongoDBDownloadOpts; | ||
private debug; | ||
private binPath; | ||
constructor(mongoDBDownload?: MongoDBDownload); | ||
constructor(mongoDBDownload?: MongoDBDownload | IMongoDBDownloadOpts); | ||
getHomeDirectory(): string; | ||
getBinPath(): Promise<string>; | ||
private resolveBinPath(extractLocation); | ||
private hasValidBinPath(files); | ||
private resolveBinPath; | ||
private hasValidBinPath; | ||
} |
@@ -8,10 +8,12 @@ "use strict"; | ||
var mongodb_download_1 = require("mongodb-download"); | ||
var MongoDBPrebuilt = (function () { | ||
var MongoDBPrebuilt = /** @class */ (function () { | ||
function MongoDBPrebuilt(mongoDBDownload) { | ||
this.mongoDBDownload = mongoDBDownload; | ||
this.debug = Debug('mongodb-prebuilt-MongoDBPrebuilt'); | ||
if (this.mongoDBDownload === undefined) { | ||
this.mongoDBDownload = new mongodb_download_1.MongoDBDownload({ | ||
if (!this.mongoDBDownload || !(this.mongoDBDownload instanceof mongodb_download_1.MongoDBDownload)) { | ||
var downloadOpts = this.mongoDBDownload || { | ||
downloadDir: this.getHomeDirectory() | ||
}); | ||
}; | ||
downloadOpts.downloadDir = downloadOpts.downloadDir || this.getHomeDirectory(); | ||
this.mongoDBDownload = new mongodb_download_1.MongoDBDownload(downloadOpts); | ||
} | ||
@@ -78,2 +80,2 @@ } | ||
exports.MongoDBPrebuilt = MongoDBPrebuilt; | ||
//# sourceMappingURL=/Users/winfinit/workspace/personal/mongodb-prebuilt/mongodb-prebuilt.js.map | ||
//# sourceMappingURL=/Users/alwyn/crashburn/mongodb-prebuilt/mongodb-prebuilt.js.map |
@@ -6,3 +6,3 @@ "use strict"; | ||
var child_process_1 = require("child_process"); | ||
var MongoSupervise = (function () { | ||
var MongoSupervise = /** @class */ (function () { | ||
function MongoSupervise(childPid) { | ||
@@ -55,2 +55,2 @@ this.childPid = childPid; | ||
exports.MongoSupervise = MongoSupervise; | ||
//# sourceMappingURL=/Users/winfinit/workspace/personal/mongodb-prebuilt/mongodb-supervise.js.map | ||
//# sourceMappingURL=/Users/alwyn/crashburn/mongodb-prebuilt/mongodb-supervise.js.map |
{ | ||
"name": "mongodb-prebuilt", | ||
"version": "6.3.6", | ||
"version": "6.4.0", | ||
"description": "Install MongoDB prebuilt binaries via npm", | ||
"main": "built/mongodb-prebuilt-all", | ||
"types": "built/mongodb-prebuilt-all.d.ts", | ||
"main": "built/mongodb-prebuilt-all", | ||
"types": "built/mongodb-prebuilt-all.d.ts", | ||
"scripts": { | ||
"cache-clean": "rm -rf dist *.txt" | ||
"cache-clean": "rm -rf dist *.txt", | ||
"prepare": "npm run clean && npm run tsc", | ||
"tsc": "rm -rf built && tsc", | ||
"clean": "rm -rf built", | ||
"lint-ts": "tslint -c tslint.json './src/**/*.ts' --fix" | ||
}, | ||
@@ -47,14 +51,15 @@ "bin": { | ||
"dependencies": { | ||
"mongodb-download": "^2.2.6", | ||
"debug": "^2.2.0", | ||
"yargs": "^3.26.0", | ||
"glob": "^7.1.1", | ||
"spawn-sync": "1.0.15" | ||
"mongodb-download": "^2.2.7", | ||
"spawn-sync": "1.0.15", | ||
"yargs": "^3.26.0" | ||
}, | ||
"devDependencies": { | ||
"@types/node": "^6.0.58", | ||
"mocha": "^3.2.0", | ||
"chai": "^3.5.0" | ||
"chai": "^3.5.0", | ||
"tsc": "^1.20150623.0", | ||
"typescript": "^2.9.2" | ||
}, | ||
"homepage": "https://github.com/winfinit/mongodb-prebuilt#readme" | ||
} |
@@ -64,2 +64,8 @@ # mongodb-prebuilt | ||
// OPTIONAL: to control what version of mongo you want to download | ||
mongodHelper = new MongodHelper(['--port', "27018"], { | ||
version: 'x.x.x' | ||
}); | ||
mongodHelper.run().then((started) => { | ||
@@ -66,0 +72,0 @@ console.log('mongod is running'); |
const Debug: any = require('debug'); | ||
import {resolve as resolvePath} from 'path'; | ||
import {SpawnOptions, ChildProcess, spawn as spawnChild} from 'child_process'; | ||
import {MongoDBPrebuilt} from './mongodb-prebuilt'; | ||
import {MongoSupervise} from './mongodb-supervise'; | ||
import { resolve as resolvePath } from 'path'; | ||
import { SpawnOptions, ChildProcess, spawn as spawnChild } from 'child_process'; | ||
import { IMongoDBDownloadOpts } from './mongod-helper'; | ||
import { MongoDBPrebuilt } from './mongodb-prebuilt'; | ||
import { MongoSupervise } from './mongodb-supervise'; | ||
import { MongoDBDownload } from 'mongodb-download'; | ||
@@ -16,11 +18,19 @@ export class MongoBins { | ||
constructor( | ||
command: string, | ||
command: string, | ||
public commandArguments: string[] = [], | ||
public spawnOptions: SpawnOptions = {} | ||
public spawnOptions: SpawnOptions = {}, | ||
downloadOptions?: IMongoDBDownloadOpts | ||
) { | ||
this.debug = Debug(`mongodb-prebuilt-MongoBins`); | ||
this.command = command; | ||
this.mongoDBPrebuilt = new MongoDBPrebuilt(); | ||
if (downloadOptions) { | ||
this.mongoDBPrebuilt = new MongoDBPrebuilt(downloadOptions); | ||
} else { | ||
this.mongoDBPrebuilt = new MongoDBPrebuilt(); | ||
} | ||
} | ||
run(): Promise<boolean> { | ||
@@ -37,3 +47,3 @@ return new Promise<boolean>((resolve, reject) => { | ||
resolve(true); | ||
}, (e)=> { | ||
}, (e) => { | ||
this.debug(`error executing command ${e}`); | ||
@@ -44,8 +54,8 @@ reject(e); | ||
} | ||
runCommand(): Promise<boolean> { | ||
runCommand(): Promise<boolean> { | ||
return new Promise<boolean>((resolve, reject) => { | ||
let getCommandPromise: Promise<string> = this.getCommand(); | ||
let getCommandArgumentsPromise: Promise<string[]> = this.getCommandArguments(); | ||
Promise.all([ | ||
@@ -66,7 +76,7 @@ getCommandPromise, | ||
} | ||
getCommand(): Promise<string> { | ||
return new Promise<string>((resolve, reject) => { | ||
this.mongoDBPrebuilt.getBinPath().then(binPath => { | ||
let command: string= resolvePath(binPath, this.command); | ||
let command: string = resolvePath(binPath, this.command); | ||
this.debug(`getCommand(): ${command}`); | ||
@@ -73,0 +83,0 @@ resolve(command); |
@@ -1,2 +0,2 @@ | ||
import {MongoBins} from './mongo-bins'; | ||
import { MongoBins } from './mongo-bins'; | ||
const Debug: any = require('debug'); | ||
@@ -6,14 +6,26 @@ | ||
export interface IMongoDBDownloadOpts { | ||
platform?: string; | ||
arch?: string; | ||
version?: string; | ||
downloadDir?: string; | ||
http?: any; | ||
} | ||
export class MongodHelper { | ||
mongoBin: MongoBins; | ||
debug: any; | ||
private resolveLink: (response: boolean) => void = () => {}; | ||
private rejectLink: (response: string) => void = () => {}; | ||
constructor(commandArguments: string[] = []) { | ||
this.mongoBin = new MongoBins(COMMAND, commandArguments); | ||
private resolveLink: (response: boolean) => void = () => { }; | ||
private rejectLink: (response: string) => void = () => { }; | ||
constructor(commandArguments: string[] = [], downloadOptions?: IMongoDBDownloadOpts) { | ||
if (downloadOptions) { | ||
this.mongoBin = new MongoBins(COMMAND, commandArguments, {}, downloadOptions); | ||
} else { | ||
this.mongoBin = new MongoBins(COMMAND, commandArguments); | ||
} | ||
this.debug = Debug(`mongodb-prebuilt-MongodHelper`); | ||
} | ||
run(): Promise<boolean> { | ||
@@ -23,3 +35,3 @@ return new Promise<boolean>((resolve, reject) => { | ||
this.rejectLink = reject; | ||
this.mongoBin.run().then(() => { | ||
@@ -33,2 +45,10 @@ this.mongoBin.childProcess.stderr.on('data', (data) => this.stderrHandler(data)); | ||
stop(): void { | ||
this.mongoBin.childProcess.kill('SIGINT') | ||
} | ||
kill(): void { | ||
this.mongoBin.childProcess.kill('SIGTERM') | ||
} | ||
closeHandler(code: number): void { | ||
@@ -41,3 +61,3 @@ this.debug(`mongod close: ${code}`); | ||
} | ||
stdoutHandler(message: string | Buffer): void { | ||
@@ -52,24 +72,24 @@ this.debug(`mongod stdout: ${message}`); | ||
let mongodShutdownMessageExpression: RegExp = this.getMongodShutdownMessageExpression(); | ||
if ( mongodStartExpression.test(log) ) { | ||
if (mongodStartExpression.test(log)) { | ||
this.resolveLink(true); | ||
} | ||
if ( mongodAlreadyRunningExpression.test(log) ) { | ||
if (mongodAlreadyRunningExpression.test(log)) { | ||
return this.rejectLink('already running'); | ||
} | ||
if ( mongodAlreadyRunningExpression.test(log) ) { | ||
if (mongodAlreadyRunningExpression.test(log)) { | ||
return this.rejectLink('already running'); | ||
} | ||
if ( mongodPermissionDeniedExpression.test(log) ) { | ||
if (mongodPermissionDeniedExpression.test(log)) { | ||
return this.rejectLink('permission denied'); | ||
} | ||
if ( mongodDataDirNotFounddExpression.test(log) ) { | ||
if (mongodDataDirNotFounddExpression.test(log)) { | ||
return this.rejectLink('Data directory not found'); | ||
} | ||
if ( mongodShutdownMessageExpression.test(log) ) { | ||
if (mongodShutdownMessageExpression.test(log)) { | ||
return this.rejectLink('Mongod shutting down'); | ||
@@ -76,0 +96,0 @@ } |
const Debug: any = require('debug'); | ||
const {Glob} = require("glob"); | ||
import {resolve as resolvePath} from 'path'; | ||
import {homedir as osHomeDir} from 'os'; | ||
import {MongoDBDownload} from 'mongodb-download'; | ||
const { Glob } = require("glob"); | ||
import { resolve as resolvePath } from 'path'; | ||
import { homedir as osHomeDir } from 'os'; | ||
import { MongoDBDownload } from 'mongodb-download'; | ||
import { IMongoDBDownloadOpts } from './mongod-helper'; | ||
@@ -11,13 +12,15 @@ | ||
private binPath: string; | ||
constructor(public mongoDBDownload?: MongoDBDownload) { | ||
constructor(public mongoDBDownload?: MongoDBDownload | IMongoDBDownloadOpts) { | ||
this.debug = Debug('mongodb-prebuilt-MongoDBPrebuilt'); | ||
if (this.mongoDBDownload === undefined) { | ||
this.mongoDBDownload = new MongoDBDownload({ | ||
if (!this.mongoDBDownload || !(this.mongoDBDownload instanceof MongoDBDownload)) { | ||
const downloadOpts: IMongoDBDownloadOpts = this.mongoDBDownload as IMongoDBDownloadOpts || { | ||
downloadDir: this.getHomeDirectory() | ||
}); | ||
} | ||
}; | ||
downloadOpts.downloadDir = downloadOpts.downloadDir || this.getHomeDirectory(); | ||
this.mongoDBDownload = new MongoDBDownload(downloadOpts); | ||
} | ||
} | ||
getHomeDirectory(): string { | ||
@@ -28,10 +31,10 @@ let homeDir: string = resolvePath(osHomeDir(), '.mongodb-prebuilt'); | ||
} | ||
getBinPath(): Promise<string> { | ||
return new Promise<string>((resolve, reject) => { | ||
if ( this.binPath !== undefined ) { | ||
if (this.binPath !== undefined) { | ||
this.debug(`getBinPath() cached: ${this.binPath}`); | ||
return resolve(this.binPath); | ||
} | ||
this.mongoDBDownload.downloadAndExtract().then((extractLocation: string) => { | ||
(<MongoDBDownload>this.mongoDBDownload).downloadAndExtract().then((extractLocation: string) => { | ||
this.resolveBinPath(extractLocation).then(binPath => { | ||
@@ -45,3 +48,3 @@ resolve(binPath); | ||
} | ||
private resolveBinPath(extractLocation: string): Promise<string> { | ||
@@ -55,3 +58,3 @@ return new Promise<string>((resolve, reject) => { | ||
} else { | ||
if ( this.hasValidBinPath(files) === true ) { | ||
if (this.hasValidBinPath(files) === true) { | ||
let resolvedBinPath: string = files[0]; | ||
@@ -67,7 +70,7 @@ this.debug(`resolveBinPath(): ${resolvedBinPath}`); | ||
} | ||
private hasValidBinPath(files: string[]): boolean { | ||
if ( files.length === 1 ) { | ||
if (files.length === 1) { | ||
return true; | ||
} else if ( files.length > 1 ) { | ||
} else if (files.length > 1) { | ||
this.debug(`getBinPath() directory corrupted, only one installation per hash can exist`); | ||
@@ -78,6 +81,6 @@ return false | ||
return false; | ||
} | ||
} | ||
} | ||
} | ||
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
62256
1065
78
4
3
Updatedmongodb-download@^2.2.7