mongodb-runner 5.4.6 → 5.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.esm-wrapper.mjs +4 -0
- package/dist/cli.js +33 -40
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/mongocluster.d.ts +2 -1
- package/dist/mongocluster.d.ts.map +1 -1
- package/dist/mongocluster.js +2 -2
- package/dist/mongocluster.js.map +1 -1
- package/dist/runner-helpers.d.ts +28 -0
- package/dist/runner-helpers.d.ts.map +1 -0
- package/dist/runner-helpers.js +92 -0
- package/dist/runner-helpers.js.map +1 -0
- package/dist/util.d.ts +1 -0
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +9 -1
- package/dist/util.js.map +1 -1
- package/package.json +6 -5
package/dist/.esm-wrapper.mjs
CHANGED
|
@@ -3,3 +3,7 @@ import mod from "./index.js";
|
|
|
3
3
|
export default mod;
|
|
4
4
|
export const MongoCluster = mod.MongoCluster;
|
|
5
5
|
export const MongoServer = mod.MongoServer;
|
|
6
|
+
export const instances = mod.instances;
|
|
7
|
+
export const prune = mod.prune;
|
|
8
|
+
export const start = mod.start;
|
|
9
|
+
export const stop = mod.stop;
|
package/dist/cli.js
CHANGED
|
@@ -1,4 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
27
|
};
|
|
@@ -7,11 +30,10 @@ const yargs_1 = __importDefault(require("yargs"));
|
|
|
7
30
|
const mongocluster_1 = require("./mongocluster");
|
|
8
31
|
const os_1 = __importDefault(require("os"));
|
|
9
32
|
const path_1 = __importDefault(require("path"));
|
|
10
|
-
const fs_1 = require("fs");
|
|
11
|
-
const mongodb_1 = require("mongodb");
|
|
12
33
|
const child_process_1 = require("child_process");
|
|
13
34
|
const debug_1 = __importDefault(require("debug"));
|
|
14
35
|
const events_1 = require("events");
|
|
36
|
+
const utilities = __importStar(require("./index"));
|
|
15
37
|
(async function () {
|
|
16
38
|
const defaultRunnerDir = path_1.default.join(os_1.default.homedir(), '.mongodb', 'runner2');
|
|
17
39
|
const argv = await yargs_1.default
|
|
@@ -73,6 +95,7 @@ const events_1 = require("events");
|
|
|
73
95
|
.option('debug', { type: 'boolean', describe: 'Enable debug output' })
|
|
74
96
|
.command('start', 'Start a MongoDB instance')
|
|
75
97
|
.command('stop', 'Stop a MongoDB instance')
|
|
98
|
+
.command('prune', 'Clean up metadata for any dead MongoDB instances')
|
|
76
99
|
.command('ls', 'List currently running MongoDB instances')
|
|
77
100
|
.command('exec', 'Run a process with a MongoDB instance (as MONGODB_URI env var)')
|
|
78
101
|
.demandCommand(1, 'A command needs to be provided')
|
|
@@ -82,19 +105,8 @@ const events_1 = require("events");
|
|
|
82
105
|
debug_1.default.enable('mongodb-runner');
|
|
83
106
|
}
|
|
84
107
|
async function start() {
|
|
85
|
-
const
|
|
86
|
-
|
|
87
|
-
throw new Error(`ID '${id}' contains non-alphanumeric characters`);
|
|
88
|
-
}
|
|
89
|
-
await fs_1.promises.mkdir(argv.runnerDir, { recursive: true });
|
|
90
|
-
const cluster = await mongocluster_1.MongoCluster.start({
|
|
91
|
-
...argv,
|
|
92
|
-
args,
|
|
93
|
-
});
|
|
94
|
-
const serialized = await cluster.serialize();
|
|
95
|
-
const { connectionString } = cluster;
|
|
96
|
-
await fs_1.promises.writeFile(path_1.default.join(argv.runnerDir, `m-${id}.json`), JSON.stringify({ id, serialized, connectionString }));
|
|
97
|
-
console.log(`Server started and running at ${connectionString}`);
|
|
108
|
+
const { cluster, id } = await utilities.start(argv);
|
|
109
|
+
console.log(`Server started and running at ${cluster.connectionString}`);
|
|
98
110
|
console.log('Run the following command to stop the instance:');
|
|
99
111
|
console.log(`${argv.$0} stop --id=${id}` +
|
|
100
112
|
(argv.runnerDir !== defaultRunnerDir
|
|
@@ -102,39 +114,20 @@ const events_1 = require("events");
|
|
|
102
114
|
: ''));
|
|
103
115
|
cluster.unref();
|
|
104
116
|
}
|
|
105
|
-
async function* instances() {
|
|
106
|
-
for await (const { name } of await fs_1.promises.opendir(argv.runnerDir)) {
|
|
107
|
-
if (name.startsWith('m-') && name.endsWith('.json')) {
|
|
108
|
-
try {
|
|
109
|
-
const filepath = path_1.default.join(argv.runnerDir, name);
|
|
110
|
-
const stored = JSON.parse(await fs_1.promises.readFile(filepath, 'utf8'));
|
|
111
|
-
yield { ...stored, filepath };
|
|
112
|
-
}
|
|
113
|
-
catch {
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
117
|
async function stop() {
|
|
119
118
|
if (!argv.id && !argv.all) {
|
|
120
119
|
throw new Error('Need --id or --all to know which server to stop');
|
|
121
120
|
}
|
|
122
|
-
|
|
123
|
-
for await (const instance of instances()) {
|
|
124
|
-
if (instance.id === argv.id || argv.all)
|
|
125
|
-
toStop.push(instance);
|
|
126
|
-
}
|
|
127
|
-
await Promise.all(toStop.map(async ({ id, filepath, serialized, connectionString }) => {
|
|
128
|
-
await (await mongocluster_1.MongoCluster.deserialize(serialized)).close();
|
|
129
|
-
await fs_1.promises.rm(filepath);
|
|
130
|
-
console.log(`Stopped cluster '${id}' (was running at '${connectionString}')`);
|
|
131
|
-
}));
|
|
121
|
+
await utilities.stop(argv);
|
|
132
122
|
}
|
|
133
123
|
async function ls() {
|
|
134
|
-
for await (const { id, connectionString } of instances()) {
|
|
124
|
+
for await (const { id, connectionString } of utilities.instances(argv)) {
|
|
135
125
|
console.log(`${id}: ${connectionString}`);
|
|
136
126
|
}
|
|
137
127
|
}
|
|
128
|
+
async function prune() {
|
|
129
|
+
await utilities.prune(argv);
|
|
130
|
+
}
|
|
138
131
|
async function exec() {
|
|
139
132
|
let mongodArgs;
|
|
140
133
|
let execArgs;
|
|
@@ -171,7 +164,7 @@ const events_1 = require("events");
|
|
|
171
164
|
async function unknown() {
|
|
172
165
|
throw new Error(`Unknown command: ${command}. See '${argv.$0} --help' for more information.`);
|
|
173
166
|
}
|
|
174
|
-
await ({ start, stop, exec, ls }[command] ?? unknown)();
|
|
167
|
+
await ({ start, stop, exec, ls, prune }[command] ?? unknown)();
|
|
175
168
|
})().catch((err) => {
|
|
176
169
|
process.nextTick(() => {
|
|
177
170
|
throw err;
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { MongoServer, MongoServerOptions } from './mongoserver';
|
|
2
2
|
export { MongoCluster, MongoClusterOptions } from './mongocluster';
|
|
3
3
|
export type { ConnectionString } from 'mongodb-connection-string-url';
|
|
4
|
+
export { prune, start, stop, instances } from './runner-helpers';
|
|
4
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACnE,YAAY,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACnE,YAAY,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MongoCluster = exports.MongoServer = void 0;
|
|
3
|
+
exports.instances = exports.stop = exports.start = exports.prune = exports.MongoCluster = exports.MongoServer = void 0;
|
|
4
4
|
var mongoserver_1 = require("./mongoserver");
|
|
5
5
|
Object.defineProperty(exports, "MongoServer", { enumerable: true, get: function () { return mongoserver_1.MongoServer; } });
|
|
6
6
|
var mongocluster_1 = require("./mongocluster");
|
|
7
7
|
Object.defineProperty(exports, "MongoCluster", { enumerable: true, get: function () { return mongocluster_1.MongoCluster; } });
|
|
8
|
+
var runner_helpers_1 = require("./runner-helpers");
|
|
9
|
+
Object.defineProperty(exports, "prune", { enumerable: true, get: function () { return runner_helpers_1.prune; } });
|
|
10
|
+
Object.defineProperty(exports, "start", { enumerable: true, get: function () { return runner_helpers_1.start; } });
|
|
11
|
+
Object.defineProperty(exports, "stop", { enumerable: true, get: function () { return runner_helpers_1.stop; } });
|
|
12
|
+
Object.defineProperty(exports, "instances", { enumerable: true, get: function () { return runner_helpers_1.instances; } });
|
|
8
13
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,6CAAgE;AAAvD,0GAAA,WAAW,OAAA;AAEpB,+CAAmE;AAA1D,4GAAA,YAAY,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,6CAAgE;AAAvD,0GAAA,WAAW,OAAA;AAEpB,+CAAmE;AAA1D,4GAAA,YAAY,OAAA;AAErB,mDAAiE;AAAxD,uGAAA,KAAK,OAAA;AAAE,uGAAA,KAAK,OAAA;AAAE,sGAAA,IAAI,OAAA;AAAE,2GAAA,SAAS,OAAA"}
|
package/dist/mongocluster.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { MongoServerOptions } from './mongoserver';
|
|
2
2
|
import { ConnectionString } from 'mongodb-connection-string-url';
|
|
3
3
|
import type { DownloadOptions } from '@mongodb-js/mongodb-downloader';
|
|
4
|
+
import type { MongoClientOptions } from 'mongodb';
|
|
4
5
|
import { MongoClient } from 'mongodb';
|
|
5
6
|
export interface MongoClusterOptions extends Pick<MongoServerOptions, 'logDir' | 'tmpDir' | 'args' | 'binDir' | 'docker'> {
|
|
6
7
|
topology: 'standalone' | 'replset' | 'sharded';
|
|
@@ -26,7 +27,7 @@ export declare class MongoCluster {
|
|
|
26
27
|
get serverVariant(): 'enterprise' | 'community';
|
|
27
28
|
static start({ ...options }: MongoClusterOptions): Promise<MongoCluster>;
|
|
28
29
|
close(): Promise<void>;
|
|
29
|
-
withClient<Fn extends (client: MongoClient) => any>(fn: Fn): Promise<ReturnType<Fn>>;
|
|
30
|
+
withClient<Fn extends (client: MongoClient) => any>(fn: Fn, clientOptions?: MongoClientOptions): Promise<ReturnType<Fn>>;
|
|
30
31
|
ref(): void;
|
|
31
32
|
unref(): void;
|
|
32
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongocluster.d.ts","sourceRoot":"","sources":["../src/mongocluster.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEtE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGtC,MAAM,WAAW,mBACf,SAAQ,IAAI,CACV,kBAAkB,EAClB,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CACnD;IACD,QAAQ,EAAE,YAAY,GAAG,SAAS,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAiD;IACjE,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,MAAM,CAAsB;IAEpC,OAAO;IAIP,SAAS,IAAI,OAAO;IASpB,QAAQ,IAAI,OAAO;WAIN,WAAW,CAAC,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC;IAahE,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,gBAAgB,IAAI,MAAM,CAI7B;IAED,IAAI,mBAAmB,IAAI,gBAAgB,CAE1C;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,IAAI,aAAa,IAAI,YAAY,GAAG,WAAW,CAE9C;WAEY,KAAK,CAAC,EACjB,GAAG,OAAO,EACX,EAAE,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC;IAyIxC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtB,UAAU,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,WAAW,KAAK,GAAG,EACtD,EAAE,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"mongocluster.d.ts","sourceRoot":"","sources":["../src/mongocluster.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGtC,MAAM,WAAW,mBACf,SAAQ,IAAI,CACV,kBAAkB,EAClB,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CACnD;IACD,QAAQ,EAAE,YAAY,GAAG,SAAS,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAiD;IACjE,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,MAAM,CAAsB;IAEpC,OAAO;IAIP,SAAS,IAAI,OAAO;IASpB,QAAQ,IAAI,OAAO;WAIN,WAAW,CAAC,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC;IAahE,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,gBAAgB,IAAI,MAAM,CAI7B;IAED,IAAI,mBAAmB,IAAI,gBAAgB,CAE1C;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,IAAI,aAAa,IAAI,YAAY,GAAG,WAAW,CAE9C;WAEY,KAAK,CAAC,EACjB,GAAG,OAAO,EACX,EAAE,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC;IAyIxC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtB,UAAU,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,WAAW,KAAK,GAAG,EACtD,EAAE,EAAE,EAAE,EACN,aAAa,GAAE,kBAAuB,GACrC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAY1B,GAAG,IAAI,IAAI;IAIX,KAAK,IAAI,IAAI;CAGd"}
|
package/dist/mongocluster.js
CHANGED
|
@@ -163,8 +163,8 @@ class MongoCluster {
|
|
|
163
163
|
this.servers = [];
|
|
164
164
|
this.shards = [];
|
|
165
165
|
}
|
|
166
|
-
async withClient(fn) {
|
|
167
|
-
const client = await mongodb_1.MongoClient.connect(this.connectionString);
|
|
166
|
+
async withClient(fn, clientOptions = {}) {
|
|
167
|
+
const client = await mongodb_1.MongoClient.connect(this.connectionString, clientOptions);
|
|
168
168
|
try {
|
|
169
169
|
return await fn(client);
|
|
170
170
|
}
|
package/dist/mongocluster.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongocluster.js","sourceRoot":"","sources":["../src/mongocluster.ts"],"names":[],"mappings":";;;AACA,+CAA4C;AAC5C,iFAAiE;AAEjE,uEAAiE;
|
|
1
|
+
{"version":3,"file":"mongocluster.js","sourceRoot":"","sources":["../src/mongocluster.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { MongoClusterOptions } from './mongocluster';
|
|
2
|
+
import { MongoCluster } from './mongocluster';
|
|
3
|
+
interface StoredInstance {
|
|
4
|
+
id: string;
|
|
5
|
+
filepath: string;
|
|
6
|
+
serialized: string;
|
|
7
|
+
connectionString: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function start(argv: {
|
|
10
|
+
id?: string;
|
|
11
|
+
runnerDir: string;
|
|
12
|
+
} & MongoClusterOptions, args?: string[]): Promise<{
|
|
13
|
+
cluster: MongoCluster;
|
|
14
|
+
id: string;
|
|
15
|
+
}>;
|
|
16
|
+
export declare function instances(argv: {
|
|
17
|
+
runnerDir: string;
|
|
18
|
+
}): AsyncIterable<StoredInstance>;
|
|
19
|
+
export declare function prune(argv: {
|
|
20
|
+
runnerDir: string;
|
|
21
|
+
}): Promise<void>;
|
|
22
|
+
export declare function stop(argv: {
|
|
23
|
+
runnerDir: string;
|
|
24
|
+
id?: string;
|
|
25
|
+
all?: boolean;
|
|
26
|
+
}): Promise<void>;
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=runner-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner-helpers.d.ts","sourceRoot":"","sources":["../src/runner-helpers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAI9C,UAAU,cAAc;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAsB,KAAK,CACzB,IAAI,EAAE;IACJ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,mBAAmB,EACvB,IAAI,CAAC,EAAE,MAAM,EAAE;;;GAuBhB;AAED,wBAAuB,SAAS,CAAC,IAAI,EAAE;IACrC,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,aAAa,CAAC,cAAc,CAAC,CAYhC;AAMD,wBAAsB,KAAK,CAAC,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAetE;AAED,wBAAsB,IAAI,CAAC,IAAI,EAAE;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,iBAWA"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.stop = exports.prune = exports.instances = exports.start = void 0;
|
|
30
|
+
const mongodb_1 = require("mongodb");
|
|
31
|
+
const path_1 = __importDefault(require("path"));
|
|
32
|
+
const mongocluster_1 = require("./mongocluster");
|
|
33
|
+
const util_1 = require("./util");
|
|
34
|
+
const fs = __importStar(require("fs/promises"));
|
|
35
|
+
async function start(argv, args) {
|
|
36
|
+
const id = argv.id || new mongodb_1.BSON.UUID().toHexString();
|
|
37
|
+
if (!/^[a-zA-Z0-9_-]+$/.test(id)) {
|
|
38
|
+
throw new Error(`ID '${id}' contains non-alphanumeric characters`);
|
|
39
|
+
}
|
|
40
|
+
await fs.mkdir(argv.runnerDir, { recursive: true });
|
|
41
|
+
const cluster = await mongocluster_1.MongoCluster.start({
|
|
42
|
+
...argv,
|
|
43
|
+
args,
|
|
44
|
+
});
|
|
45
|
+
const serialized = await cluster.serialize();
|
|
46
|
+
const { connectionString } = cluster;
|
|
47
|
+
await fs.writeFile(path_1.default.join(argv.runnerDir, `m-${id}.json`), JSON.stringify({ id, serialized, connectionString }));
|
|
48
|
+
cluster.unref();
|
|
49
|
+
return { cluster, id };
|
|
50
|
+
}
|
|
51
|
+
exports.start = start;
|
|
52
|
+
async function* instances(argv) {
|
|
53
|
+
for await (const { name } of await fs.opendir(argv.runnerDir)) {
|
|
54
|
+
if (name.startsWith('m-') && name.endsWith('.json')) {
|
|
55
|
+
try {
|
|
56
|
+
const filepath = path_1.default.join(argv.runnerDir, name);
|
|
57
|
+
const stored = JSON.parse(await fs.readFile(filepath, 'utf8'));
|
|
58
|
+
yield { ...stored, filepath };
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
exports.instances = instances;
|
|
66
|
+
async function prune(argv) {
|
|
67
|
+
async function handler(instance) {
|
|
68
|
+
try {
|
|
69
|
+
const cluster = await mongocluster_1.MongoCluster.deserialize(instance.serialized);
|
|
70
|
+
await cluster.withClient(() => {
|
|
71
|
+
}, { serverSelectionTimeoutMS: 2000 });
|
|
72
|
+
}
|
|
73
|
+
catch (e) {
|
|
74
|
+
await fs.rm(instance.filepath);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
await (0, util_1.parallelForEach)(instances(argv), handler);
|
|
78
|
+
}
|
|
79
|
+
exports.prune = prune;
|
|
80
|
+
async function stop(argv) {
|
|
81
|
+
const toStop = [];
|
|
82
|
+
for await (const instance of instances(argv)) {
|
|
83
|
+
if (instance.id === argv.id || argv.all)
|
|
84
|
+
toStop.push(instance);
|
|
85
|
+
}
|
|
86
|
+
await Promise.all(toStop.map(async ({ filepath, serialized }) => {
|
|
87
|
+
await (await mongocluster_1.MongoCluster.deserialize(serialized)).close();
|
|
88
|
+
await fs.rm(filepath);
|
|
89
|
+
}));
|
|
90
|
+
}
|
|
91
|
+
exports.stop = stop;
|
|
92
|
+
//# sourceMappingURL=runner-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner-helpers.js","sourceRoot":"","sources":["../src/runner-helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/util.d.ts
CHANGED
|
@@ -3,4 +3,5 @@ export declare const debug: createDebug.Debugger;
|
|
|
3
3
|
export declare const uuid: () => string;
|
|
4
4
|
export declare const sleep: (ms: number) => Promise<void>;
|
|
5
5
|
export declare const range: (n: number) => number[];
|
|
6
|
+
export declare function parallelForEach<T>(iterable: AsyncIterable<T>, fn: (arg0: T) => Promise<void> | void): Promise<PromiseSettledResult<void>[]>;
|
|
6
7
|
//# sourceMappingURL=util.d.ts.map
|
package/dist/util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,OAAO,CAAC;AAEhC,eAAO,MAAM,KAAK,sBAAgC,CAAC;AACnD,eAAO,MAAM,IAAI,cAA0C,CAAC;AAC5D,eAAO,MAAM,KAAK,OAAQ,MAAM,KAAG,QAAQ,IAAI,CACR,CAAC;AACxC,eAAO,MAAM,KAAK,MAAO,MAAM,KAAG,MAAM,EAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,OAAO,CAAC;AAEhC,eAAO,MAAM,KAAK,sBAAgC,CAAC;AACnD,eAAO,MAAM,IAAI,cAA0C,CAAC;AAC5D,eAAO,MAAM,KAAK,OAAQ,MAAM,KAAG,QAAQ,IAAI,CACR,CAAC;AACxC,eAAO,MAAM,KAAK,MAAO,MAAM,KAAG,MAAM,EAA0B,CAAC;AAYnE,wBAAsB,eAAe,CAAC,CAAC,EACrC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GACpC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,CAOvC"}
|
package/dist/util.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.range = exports.sleep = exports.uuid = exports.debug = void 0;
|
|
6
|
+
exports.parallelForEach = exports.range = exports.sleep = exports.uuid = exports.debug = void 0;
|
|
7
7
|
const mongodb_1 = require("mongodb");
|
|
8
8
|
const debug_1 = __importDefault(require("debug"));
|
|
9
9
|
exports.debug = (0, debug_1.default)('mongodb-runner');
|
|
@@ -13,4 +13,12 @@ const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
|
|
|
13
13
|
exports.sleep = sleep;
|
|
14
14
|
const range = (n) => [...Array(n).keys()];
|
|
15
15
|
exports.range = range;
|
|
16
|
+
async function parallelForEach(iterable, fn) {
|
|
17
|
+
const result = [];
|
|
18
|
+
for await (const item of iterable) {
|
|
19
|
+
result.push(fn(item));
|
|
20
|
+
}
|
|
21
|
+
return await Promise.allSettled(result);
|
|
22
|
+
}
|
|
23
|
+
exports.parallelForEach = parallelForEach;
|
|
16
24
|
//# sourceMappingURL=util.js.map
|
package/dist/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;;;;;AAAA,qCAA+B;AAC/B,kDAAgC;AAEnB,QAAA,KAAK,GAAG,IAAA,eAAW,EAAC,gBAAgB,CAAC,CAAC;AAC5C,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,cAAI,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAA/C,QAAA,IAAI,QAA2C;AACrD,MAAM,KAAK,GAAG,CAAC,EAAU,EAAiB,EAAE,CACjD,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAD3B,QAAA,KAAK,SACsB;AACjC,MAAM,KAAK,GAAG,CAAC,CAAS,EAAY,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAAtD,QAAA,KAAK,SAAiD"}
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;;;;;AAAA,qCAA+B;AAC/B,kDAAgC;AAEnB,QAAA,KAAK,GAAG,IAAA,eAAW,EAAC,gBAAgB,CAAC,CAAC;AAC5C,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,cAAI,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAA/C,QAAA,IAAI,QAA2C;AACrD,MAAM,KAAK,GAAG,CAAC,EAAU,EAAiB,EAAE,CACjD,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAD3B,QAAA,KAAK,SACsB;AACjC,MAAM,KAAK,GAAG,CAAC,CAAS,EAAY,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAAtD,QAAA,KAAK,SAAiD;AAY5D,KAAK,UAAU,eAAe,CACnC,QAA0B,EAC1B,EAAqC;IAErC,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,QAAQ,EAAE;QACjC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;KACvB;IAED,OAAO,MAAM,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAC1C,CAAC;AAVD,0CAUC"}
|
package/package.json
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"email": "compass@mongodb.com"
|
|
14
14
|
},
|
|
15
15
|
"homepage": "https://github.com/mongodb-js/devtools-shared",
|
|
16
|
-
"version": "5.
|
|
16
|
+
"version": "5.5.2",
|
|
17
17
|
"repository": {
|
|
18
18
|
"type": "git",
|
|
19
19
|
"url": "https://github.com/mongodb-js/devtools-shared.git"
|
|
@@ -50,15 +50,16 @@
|
|
|
50
50
|
"reformat": "npm run prettier -- --write ."
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"@mongodb-js/mongodb-downloader": "^0.2.
|
|
53
|
+
"@mongodb-js/mongodb-downloader": "^0.2.10",
|
|
54
|
+
"@mongodb-js/saslprep": "^1.1.4",
|
|
54
55
|
"debug": "^4.3.4",
|
|
55
|
-
"mongodb": "^
|
|
56
|
+
"mongodb": "^6.3.0",
|
|
56
57
|
"mongodb-connection-string-url": "^3.0.0",
|
|
57
58
|
"yargs": "^17.7.2"
|
|
58
59
|
},
|
|
59
60
|
"devDependencies": {
|
|
60
61
|
"@mongodb-js/eslint-config-devtools": "0.9.10",
|
|
61
|
-
"@mongodb-js/mocha-config-devtools": "^1.0.
|
|
62
|
+
"@mongodb-js/mocha-config-devtools": "^1.0.3",
|
|
62
63
|
"@mongodb-js/prettier-config-devtools": "^1.0.1",
|
|
63
64
|
"@mongodb-js/tsconfig-devtools": "^1.0.1",
|
|
64
65
|
"@types/chai": "^4.2.21",
|
|
@@ -77,5 +78,5 @@
|
|
|
77
78
|
"sinon": "^9.2.3",
|
|
78
79
|
"typescript": "^5.0.4"
|
|
79
80
|
},
|
|
80
|
-
"gitHead": "
|
|
81
|
+
"gitHead": "26be0804d454bf804ac817038b6d9a573cc6ce5d"
|
|
81
82
|
}
|