@mongosh/cli-repl 2.1.5 → 2.2.0

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.
@@ -5,59 +5,128 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.runSmokeTests = void 0;
7
7
  const assert_1 = __importDefault(require("assert"));
8
+ const fs_1 = require("fs");
8
9
  const events_1 = require("events");
9
10
  const history_1 = require("@mongosh/history");
10
11
  const smoke_tests_fle_1 = __importDefault(require("./smoke-tests-fle"));
11
12
  const build_info_1 = require("./build-info");
12
- async function runSmokeTests(smokeTestServer, executable, ...args) {
13
- console.log('MONGOSH_SMOKE_TEST_SERVER set?', !!smokeTestServer);
14
- if (process.env.IS_CI) {
13
+ const escape_string_regexp_1 = __importDefault(require("escape-string-regexp"));
14
+ const path_1 = __importDefault(require("path"));
15
+ const os_1 = __importDefault(require("os"));
16
+ async function runSmokeTests({ smokeTestServer, args: [executable, ...args], wantPerformanceTesting, }) {
17
+ if (!wantPerformanceTesting) {
18
+ console.log('MONGOSH_SMOKE_TEST_SERVER set?', !!smokeTestServer);
19
+ }
20
+ if (process.env.IS_CI || wantPerformanceTesting) {
15
21
  (0, assert_1.default)(!!smokeTestServer, 'Make sure MONGOSH_SMOKE_TEST_SERVER is set in CI');
16
22
  }
17
23
  const expectFipsSupport = !!process.env.MONGOSH_SMOKE_TEST_OS_HAS_FIPS_SUPPORT &&
18
24
  (await (0, build_info_1.buildInfo)()).sharedOpenssl;
19
- console.log('FIPS support required to pass?', { expectFipsSupport });
20
- for (const { input, output, testArgs, includeStderr, exitCode } of [
25
+ if (!wantPerformanceTesting) {
26
+ console.log('FIPS support required to pass?', { expectFipsSupport });
27
+ }
28
+ const perfResults = [];
29
+ for (const { name, tags, input, output, testArgs, includeStderr, exitCode, perfTestIterations, } of [
21
30
  {
31
+ name: 'print_hello_world',
22
32
  input: 'print("He" + "llo" + " Wor" + "ld!")',
23
33
  output: /Hello World!/,
24
34
  includeStderr: false,
25
35
  testArgs: ['--nodb'],
26
36
  exitCode: 0,
37
+ perfTestIterations: 0,
27
38
  },
28
39
  {
40
+ name: 'eval_nodb_error',
29
41
  input: '',
30
42
  output: /ReferenceError/,
31
43
  includeStderr: true,
32
44
  testArgs: ['--nodb', '--eval', 'foo.bar()'],
33
45
  exitCode: 1,
46
+ perfTestIterations: 0,
34
47
  },
35
48
  {
49
+ name: 'eval_nodb_print',
36
50
  input: '',
37
51
  output: /Hello World!/,
38
52
  includeStderr: false,
39
53
  testArgs: ['--nodb', '--eval', 'print("He" + "llo" + " Wor" + "ld!")'],
40
54
  exitCode: 0,
55
+ perfTestIterations: 0,
56
+ },
57
+ {
58
+ name: 'eval_nodb_print_plainvm',
59
+ input: '',
60
+ output: /Hello World!/,
61
+ includeStderr: false,
62
+ testArgs: [
63
+ '--nodb',
64
+ '--eval',
65
+ 'print("He" + "llo" + " Wor" + "ld!")',
66
+ '--jsContext=plain-vm',
67
+ ],
68
+ exitCode: 0,
69
+ perfTestIterations: 20,
70
+ tags: ['startup'],
71
+ },
72
+ {
73
+ name: 'eval_nodb_print_repl',
74
+ input: '',
75
+ output: /Hello World!/,
76
+ includeStderr: false,
77
+ testArgs: [
78
+ '--nodb',
79
+ '--eval',
80
+ 'print("He" + "llo" + " Wor" + "ld!")',
81
+ '--jsContext=repl',
82
+ ],
83
+ exitCode: 0,
84
+ perfTestIterations: 20,
85
+ tags: ['startup'],
41
86
  },
42
87
  {
88
+ name: 'mongosh_version',
89
+ input: '',
90
+ output: new RegExp((0, escape_string_regexp_1.default)((0, build_info_1.baseBuildInfo)().version)),
91
+ includeStderr: false,
92
+ testArgs: ['--version'],
93
+ exitCode: 0,
94
+ perfTestIterations: 20,
95
+ tags: ['startup'],
96
+ },
97
+ {
98
+ name: 'crypto_fips_md5',
43
99
  input: 'crypto.createHash("md5").update("hello").digest("hex")',
44
100
  output: expectFipsSupport
45
101
  ? /disabled for FIPS|digital envelope routines::unsupported/i
46
102
  : /disabled for FIPS|digital envelope routines::unsupported|Could not enable FIPS mode/i,
47
103
  includeStderr: true,
48
104
  testArgs: ['--tlsFIPSMode', '--nodb'],
105
+ perfTestIterations: 0,
49
106
  },
50
107
  {
108
+ name: 'crypto_fips_sha256',
51
109
  input: 'crypto.createHash("sha256").update("hello").digest("hex")',
52
110
  output: expectFipsSupport
53
111
  ? /2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824/i
54
112
  : /2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824|digital envelope routines::unsupported|Could not enable FIPS mode/i,
55
113
  includeStderr: true,
56
114
  testArgs: ['--tlsFIPSMode', '--nodb'],
115
+ perfTestIterations: 0,
116
+ },
117
+ {
118
+ name: 'async_rewrite',
119
+ input: 'for (let i = 0; i < 100; i++) __asyncRewrite(String([].forEach)); print("done")',
120
+ output: /done/,
121
+ includeStderr: false,
122
+ testArgs: ['--exposeAsyncRewriter', '--nodb'],
123
+ perfTestIterations: 20,
124
+ tags: ['async_rewrite'],
57
125
  },
58
126
  ].concat(smokeTestServer
59
127
  ? [
60
128
  {
129
+ name: 'db_insert_retrieve',
61
130
  input: `
62
131
  const dbname = "testdb_simplesmoke" + new Date().getTime();
63
132
  use(dbname);
@@ -70,30 +139,150 @@ async function runSmokeTests(smokeTestServer, executable, ...args) {
70
139
  includeStderr: false,
71
140
  exitCode: 0,
72
141
  testArgs: [smokeTestServer],
142
+ perfTestIterations: 0,
73
143
  },
74
144
  {
145
+ name: 'fle',
75
146
  input: smoke_tests_fle_1.default,
76
147
  output: /Test succeeded|Test skipped/,
77
148
  includeStderr: false,
78
149
  exitCode: 0,
79
150
  testArgs: [smokeTestServer],
151
+ perfTestIterations: 0,
152
+ },
153
+ {
154
+ name: 'db_eval_plainvm',
155
+ input: '',
156
+ output: /"ok": ?1\b/,
157
+ includeStderr: false,
158
+ exitCode: 0,
159
+ testArgs: [
160
+ smokeTestServer,
161
+ '--eval',
162
+ 'db.hello()',
163
+ '--json=relaxed',
164
+ '--jsContext=plain-vm',
165
+ ],
166
+ perfTestIterations: 20,
167
+ tags: ['startup'],
168
+ },
169
+ {
170
+ name: 'db_eval_repl',
171
+ input: '',
172
+ output: /"ok": ?1\b/,
173
+ includeStderr: false,
174
+ exitCode: 0,
175
+ testArgs: [
176
+ smokeTestServer,
177
+ '--eval',
178
+ 'db.hello()',
179
+ '--json=relaxed',
180
+ '--jsContext=repl',
181
+ ],
182
+ perfTestIterations: 20,
183
+ tags: ['startup'],
184
+ },
185
+ {
186
+ name: 'db_cursor_iteration_repl',
187
+ input: `let count = 0; for (const item of ${manyDocsCursor(12345)}) count++; print(count);`,
188
+ output: /\b12345\b|Unrecognized pipeline stage name|is not allowed in user requests/,
189
+ includeStderr: true,
190
+ testArgs: [smokeTestServer, '--jsContext=repl'],
191
+ perfTestIterations: 20,
192
+ tags: ['db', 'cursor_iteration'],
193
+ },
194
+ {
195
+ name: 'db_cursor_iteration_plainvm',
196
+ input: `let count = 0; for (const item of ${manyDocsCursor(200000)}) count++; print(count);`,
197
+ output: /\b200000\b|Unrecognized pipeline stage name|is not allowed in user requests/,
198
+ includeStderr: true,
199
+ testArgs: [
200
+ smokeTestServer,
201
+ '--file=$INPUT_AS_FILE',
202
+ '--jsContext=plain-vm',
203
+ ],
204
+ perfTestIterations: 20,
205
+ tags: ['db', 'cursor_iteration'],
206
+ },
207
+ {
208
+ name: 'db_repeat_command',
209
+ input: `let res;for (const item of [...Array(5000).keys()]) res = EJSON.stringify(db.hello()); print(res)`,
210
+ output: /"ok": ?1\b/,
211
+ includeStderr: false,
212
+ exitCode: 0,
213
+ testArgs: [
214
+ smokeTestServer,
215
+ '--file=$INPUT_AS_FILE',
216
+ '--jsContext=plain-vm',
217
+ ],
218
+ perfTestIterations: 20,
219
+ tags: ['db'],
80
220
  },
81
221
  ]
82
222
  : [])) {
83
- await runSmokeTest({
223
+ const cleanup = [];
224
+ let actualInput = input;
225
+ for (const [index, arg] of testArgs.entries()) {
226
+ if (arg.includes('$INPUT_AS_FILE')) {
227
+ const tmpfile = path_1.default.join(os_1.default.tmpdir(), `mongosh_smoke_test_${name}_${Date.now()}.js`);
228
+ await fs_1.promises.writeFile(tmpfile, input, { mode: 0o600, flag: 'wx' });
229
+ cleanup.unshift(async () => await fs_1.promises.unlink(tmpfile));
230
+ testArgs[index] = arg.replace('$INPUT_AS_FILE', tmpfile);
231
+ actualInput = '';
232
+ }
233
+ }
234
+ const smokeTestArgs = {
235
+ name,
84
236
  executable,
85
237
  args: [...args, ...testArgs],
86
- input,
238
+ input: actualInput,
87
239
  output,
88
240
  includeStderr,
89
241
  exitCode,
90
- });
242
+ printSuccessResults: !wantPerformanceTesting,
243
+ };
244
+ try {
245
+ if (!wantPerformanceTesting) {
246
+ await runSmokeTest(smokeTestArgs);
247
+ }
248
+ else {
249
+ const created_at = new Date().toISOString();
250
+ if (!perfTestIterations)
251
+ continue;
252
+ const durations = [];
253
+ for (let i = 0; i < perfTestIterations; i++) {
254
+ const { durationSeconds } = await runSmokeTest(smokeTestArgs);
255
+ durations.push(durationSeconds);
256
+ }
257
+ const completed_at = new Date().toISOString();
258
+ perfResults.push({
259
+ info: {
260
+ test_name: name,
261
+ tags: [...(tags !== null && tags !== void 0 ? tags : []), process.arch, process.platform],
262
+ },
263
+ created_at,
264
+ completed_at,
265
+ artifacts: [],
266
+ metrics: buildMetrics(durations),
267
+ });
268
+ }
269
+ }
270
+ finally {
271
+ for (const cleaner of cleanup)
272
+ await cleaner();
273
+ }
274
+ }
275
+ if (wantPerformanceTesting) {
276
+ console.log(JSON.stringify(perfResults));
277
+ }
278
+ else {
279
+ console.log('all tests passed');
91
280
  }
92
- console.log('all tests passed');
93
281
  }
94
282
  exports.runSmokeTests = runSmokeTests;
95
- async function runSmokeTest({ executable, args, input, output, exitCode, includeStderr, }) {
283
+ async function runSmokeTest({ name, executable, args, input, output, exitCode, includeStderr, printSuccessResults, }) {
96
284
  var _a;
285
+ const startTime = process.hrtime.bigint();
97
286
  const { spawn } = require('child_process');
98
287
  const proc = spawn(executable, [...args], {
99
288
  stdio: ['pipe', 'pipe', includeStderr ? 'pipe' : 'inherit'],
@@ -112,7 +301,10 @@ async function runSmokeTest({ executable, args, input, output, exitCode, include
112
301
  (0, events_1.once)(proc.stdout, 'end'),
113
302
  proc.stderr && (0, events_1.once)(proc.stderr, 'end'),
114
303
  ]);
304
+ const durationSeconds = Number(process.hrtime.bigint() - startTime) / 1e9;
115
305
  const metadata = {
306
+ name,
307
+ durationSeconds,
116
308
  input,
117
309
  output,
118
310
  stdout,
@@ -126,11 +318,57 @@ async function runSmokeTest({ executable, args, input, output, exitCode, include
126
318
  if (exitCode !== undefined) {
127
319
  assert_1.default.strictEqual(actualExitCode, exitCode);
128
320
  }
129
- console.error({ status: 'success', ...metadata });
321
+ if (printSuccessResults !== false)
322
+ console.error({ status: 'success', ...metadata });
323
+ return {
324
+ durationSeconds,
325
+ };
130
326
  }
131
327
  catch (err) {
132
328
  console.error({ status: 'failure', ...metadata });
133
329
  throw err;
134
330
  }
135
331
  }
332
+ function manyDocsCursor(n) {
333
+ return `db.aggregate([
334
+ { $documents: [{}] },
335
+ { $set: {
336
+ field: { $reduce: { // ~ 2**n documents
337
+ input: [...Array(${Math.ceil(Math.log2(n))}).keys()], initialValue: [0], in: { $concatArrays: ['$$value', '$$value'] }
338
+ } }
339
+ } },
340
+ { $unwind: '$field' },
341
+ { $limit: ${n} }
342
+ ])`;
343
+ }
344
+ function buildMetrics(durations) {
345
+ const mean = durations.reduce((a, b) => a + b, 0) / durations.length;
346
+ const stddev = Math.sqrt(durations.map((d) => (d - mean) ** 2).reduce((a, b) => a + b, 0) /
347
+ (durations.length - 1));
348
+ durations.sort();
349
+ const median = durations[Math.floor(durations.length * 0.5)];
350
+ const percentile95 = durations[Math.floor(durations.length * 0.95)];
351
+ return [
352
+ {
353
+ name: 'duration_sec_mean',
354
+ type: 'MEAN',
355
+ value: mean,
356
+ },
357
+ {
358
+ name: 'duration_sec_stddev',
359
+ type: 'STANDARD_DEVIATION',
360
+ value: stddev,
361
+ },
362
+ {
363
+ name: 'duration_sec_median',
364
+ type: 'MEDIAN',
365
+ value: median,
366
+ },
367
+ {
368
+ name: 'duration_sec_p95',
369
+ type: 'PERCENTILE_95TH',
370
+ value: percentile95,
371
+ },
372
+ ];
373
+ }
136
374
  //# sourceMappingURL=smoke-tests.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"smoke-tests.js","sourceRoot":"","sources":["../src/smoke-tests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"smoke-tests.js","sourceRoot":"","sources":["../src/smoke-tests.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAC5B,2BAAoC;AACpC,mCAA8B;AAC9B,8CAAwD;AACxD,wEAAmD;AACnD,6CAAwD;AACxD,gFAAgD;AAChD,gDAAwB;AACxB,4CAAoB;AAgDb,KAAK,UAAU,aAAa,CAAC,EAClC,eAAe,EACf,IAAI,EAAE,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,EAC3B,sBAAsB,GACN;IAChB,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,sBAAsB,EAAE,CAAC;QAChD,IAAA,gBAAM,EACJ,CAAC,CAAC,eAAe,EACjB,kDAAkD,CACnD,CAAC;IACJ,CAAC;IAED,MAAM,iBAAiB,GACrB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,sCAAsC;QACpD,CAAC,MAAM,IAAA,sBAAS,GAAE,CAAC,CAAC,aAAa,CAAC;IACpC,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,WAAW,GAAqB,EAAE,CAAC;IAEzC,KAAK,MAAM,EACT,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,MAAM,EACN,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,kBAAkB,GACnB,IAAI;QACH;YACE,IAAI,EAAE,mBAAmB;YACzB,KAAK,EAAE,sCAAsC;YAC7C,MAAM,EAAE,cAAc;YACtB,aAAa,EAAE,KAAK;YACpB,QAAQ,EAAE,CAAC,QAAQ,CAAC;YACpB,QAAQ,EAAE,CAAC;YACX,kBAAkB,EAAE,CAAC;SACtB;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,gBAAgB;YACxB,aAAa,EAAE,IAAI;YACnB,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC;YAC3C,QAAQ,EAAE,CAAC;YACX,kBAAkB,EAAE,CAAC;SACtB;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,cAAc;YACtB,aAAa,EAAE,KAAK;YACpB,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,sCAAsC,CAAC;YACtE,QAAQ,EAAE,CAAC;YACX,kBAAkB,EAAE,CAAC;SACtB;QACD;YACE,IAAI,EAAE,yBAAyB;YAC/B,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,cAAc;YACtB,aAAa,EAAE,KAAK;YACpB,QAAQ,EAAE;gBACR,QAAQ;gBACR,QAAQ;gBACR,sCAAsC;gBACtC,sBAAsB;aACvB;YACD,QAAQ,EAAE,CAAC;YACX,kBAAkB,EAAE,EAAE;YACtB,IAAI,EAAE,CAAC,SAAS,CAAC;SAClB;QACD;YACE,IAAI,EAAE,sBAAsB;YAC5B,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,cAAc;YACtB,aAAa,EAAE,KAAK;YACpB,QAAQ,EAAE;gBACR,QAAQ;gBACR,QAAQ;gBACR,sCAAsC;gBACtC,kBAAkB;aACnB;YACD,QAAQ,EAAE,CAAC;YACX,kBAAkB,EAAE,EAAE;YACtB,IAAI,EAAE,CAAC,SAAS,CAAC;SAClB;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,IAAI,MAAM,CAAC,IAAA,8BAAY,EAAC,IAAA,0BAAa,GAAE,CAAC,OAAO,CAAC,CAAC;YACzD,aAAa,EAAE,KAAK;YACpB,QAAQ,EAAE,CAAC,WAAW,CAAC;YACvB,QAAQ,EAAE,CAAC;YACX,kBAAkB,EAAE,EAAE;YACtB,IAAI,EAAE,CAAC,SAAS,CAAC;SAClB;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,wDAAwD;YAC/D,MAAM,EAAE,iBAAiB;gBACvB,CAAC,CAAC,2DAA2D;gBAC7D,CAAC,CAAC,sFAAsF;YAC1F,aAAa,EAAE,IAAI;YACnB,QAAQ,EAAE,CAAC,eAAe,EAAE,QAAQ,CAAC;YACrC,kBAAkB,EAAE,CAAC;SACtB;QACD;YACE,IAAI,EAAE,oBAAoB;YAC1B,KAAK,EAAE,2DAA2D;YAClE,MAAM,EAAE,iBAAiB;gBACvB,CAAC,CAAC,mEAAmE;gBACrE,CAAC,CAAC,qIAAqI;YACzI,aAAa,EAAE,IAAI;YACnB,QAAQ,EAAE,CAAC,eAAe,EAAE,QAAQ,CAAC;YACrC,kBAAkB,EAAE,CAAC;SACtB;QACD;YACE,IAAI,EAAE,eAAe;YACrB,KAAK,EACH,iFAAiF;YACnF,MAAM,EAAE,MAAM;YACd,aAAa,EAAE,KAAK;YACpB,QAAQ,EAAE,CAAC,uBAAuB,EAAE,QAAQ,CAAC;YAC7C,kBAAkB,EAAE,EAAE;YACtB,IAAI,EAAE,CAAC,eAAe,CAAC;SACxB;KACF,CAAC,MAAM,CACN,eAAe;QACb,CAAC,CAAC;YACE;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,KAAK,EAAE;;;;;;;yBAOM;gBACb,MAAM,EAAE,gBAAgB;gBACxB,aAAa,EAAE,KAAK;gBACpB,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,CAAC,eAAe,CAAC;gBAC3B,kBAAkB,EAAE,CAAC;aACtB;YACD;gBACE,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,yBAAkB;gBACzB,MAAM,EAAE,6BAA6B;gBACrC,aAAa,EAAE,KAAK;gBACpB,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,CAAC,eAAe,CAAC;gBAC3B,kBAAkB,EAAE,CAAC;aACtB;YACD;gBACE,IAAI,EAAE,iBAAiB;gBACvB,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE,YAAY;gBACpB,aAAa,EAAE,KAAK;gBACpB,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE;oBACR,eAAe;oBACf,QAAQ;oBACR,YAAY;oBACZ,gBAAgB;oBAChB,sBAAsB;iBACvB;gBACD,kBAAkB,EAAE,EAAE;gBACtB,IAAI,EAAE,CAAC,SAAS,CAAC;aAClB;YACD;gBACE,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE,YAAY;gBACpB,aAAa,EAAE,KAAK;gBACpB,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE;oBACR,eAAe;oBACf,QAAQ;oBACR,YAAY;oBACZ,gBAAgB;oBAChB,kBAAkB;iBACnB;gBACD,kBAAkB,EAAE,EAAE;gBACtB,IAAI,EAAE,CAAC,SAAS,CAAC;aAClB;YACD;gBACE,IAAI,EAAE,0BAA0B;gBAChC,KAAK,EAAE,qCAAqC,cAAc,CACxD,KAAK,CACN,0BAA0B;gBAC3B,MAAM,EACJ,4EAA4E;gBAC9E,aAAa,EAAE,IAAI;gBACnB,QAAQ,EAAE,CAAC,eAAe,EAAE,kBAAkB,CAAC;gBAC/C,kBAAkB,EAAE,EAAE;gBACtB,IAAI,EAAE,CAAC,IAAI,EAAE,kBAAkB,CAAC;aACjC;YACD;gBACE,IAAI,EAAE,6BAA6B;gBACnC,KAAK,EAAE,qCAAqC,cAAc,CACxD,MAAO,CACR,0BAA0B;gBAC3B,MAAM,EACJ,6EAA6E;gBAC/E,aAAa,EAAE,IAAI;gBACnB,QAAQ,EAAE;oBACR,eAAe;oBACf,uBAAuB;oBACvB,sBAAsB;iBACvB;gBACD,kBAAkB,EAAE,EAAE;gBACtB,IAAI,EAAE,CAAC,IAAI,EAAE,kBAAkB,CAAC;aACjC;YACD;gBACE,IAAI,EAAE,mBAAmB;gBACzB,KAAK,EAAE,mGAAmG;gBAC1G,MAAM,EAAE,YAAY;gBACpB,aAAa,EAAE,KAAK;gBACpB,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE;oBACR,eAAe;oBACf,uBAAuB;oBACvB,sBAAsB;iBACvB;gBACD,kBAAkB,EAAE,EAAE;gBACtB,IAAI,EAAE,CAAC,IAAI,CAAC;aACb;SACF;QACH,CAAC,CAAC,EAAE,CACP,EAAE,CAAC;QACF,MAAM,OAAO,GAA4B,EAAE,CAAC;QAE5C,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9C,IAAI,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACnC,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CACvB,YAAE,CAAC,MAAM,EAAE,EACX,sBAAsB,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,CAC9C,CAAC;gBACF,MAAM,aAAE,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAChE,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,aAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;gBACtD,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;gBACzD,WAAW,GAAG,EAAE,CAAC;YACnB,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAG;YACpB,IAAI;YACJ,UAAU;YACV,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC;YAC5B,KAAK,EAAE,WAAW;YAClB,MAAM;YACN,aAAa;YACb,QAAQ;YACR,mBAAmB,EAAE,CAAC,sBAAsB;SAC7C,CAAC;QAEF,IAAI,CAAC;YACH,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC5B,MAAM,YAAY,CAAC,aAAa,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBAC5C,IAAI,CAAC,kBAAkB;oBAAE,SAAS;gBAClC,MAAM,SAAS,GAAa,EAAE,CAAC;gBAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5C,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,CAAC;oBAC9D,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAClC,CAAC;gBACD,MAAM,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBAC9C,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE;wBACJ,SAAS,EAAE,IAAI;wBACf,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC;qBACxD;oBACD,UAAU;oBACV,YAAY;oBACZ,SAAS,EAAE,EAAE;oBACb,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC;iBACjC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,KAAK,MAAM,OAAO,IAAI,OAAO;gBAAE,MAAM,OAAO,EAAE,CAAC;QACjD,CAAC;IACH,CAAC;IACD,IAAI,sBAAsB,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAvSD,sCAuSC;AAUD,KAAK,UAAU,YAAY,CAAC,EAC1B,IAAI,EACJ,UAAU,EACV,IAAI,EACJ,KAAK,EACL,MAAM,EACN,QAAQ,EACR,aAAa,EACb,mBAAmB,GAUpB;;IACC,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IAG1C,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,eAAe,CAAmC,CAAC;IAC7E,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE;QACxC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;KAC5D,CAAC,CAAC;IACH,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC,MAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;QACpD,MAAM,IAAI,KAAK,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,MAAA,IAAI,CAAC,MAAM,0CAAE,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;QACpD,MAAM,IAAI,KAAK,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,KAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACvB,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC3C,IAAA,aAAI,EAAC,IAAI,EAAE,MAAM,CAAC;QAClB,IAAA,aAAI,EAAC,IAAI,CAAC,MAAO,EAAE,KAAK,CAAC;QACzB,IAAI,CAAC,MAAM,IAAI,IAAA,aAAI,EAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;KACxC,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;IAC1E,MAAM,QAAQ,GAAG;QACf,IAAI;QACJ,eAAe;QACf,KAAK;QACL,MAAM;QACN,MAAM;QACN,MAAM;QACN,UAAU;QACV,cAAc;QACd,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,8BAAoB,EAAC,GAAG,CAAC,CAAC;KACnD,CAAC;IACF,IAAI,CAAC;QACH,gBAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,gBAAM,CAAC,WAAW,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,mBAAmB,KAAK,KAAK;YAC/B,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;QACpD,OAAO;YACL,eAAe;SAChB,CAAC;IACJ,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;QAClD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,CAAS;IAC/B,OAAO;;;;2BAIkB,IAAI,CAAC,IAAI,CAC1B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CACb;;;;gBAIO,CAAC;KACZ,CAAC;AACN,CAAC;AAED,SAAS,YAAY,CAAC,SAAmB;IAGvC,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC;IACrE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CACtB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9D,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CACzB,CAAC;IACF,SAAS,CAAC,IAAI,EAAE,CAAC;IACjB,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC;IAC7D,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IACpE,OAAO;QACL;YACE,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,IAAI;SACZ;QACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,oBAAoB;YAC1B,KAAK,EAAE,MAAM;SACd;QACD;YACE,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,MAAM;SACd;QACD;YACE,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,YAAY;SACpB;KACF,CAAC;AACJ,CAAC"}
@@ -1,7 +1,12 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ var _a, _b;
2
6
  Object.defineProperty(exports, "__esModule", { value: true });
3
7
  exports.getTimingData = exports.markTime = exports.summariseTimingData = void 0;
4
8
  const types_1 = require("@mongosh/types");
9
+ const v8_1 = __importDefault(require("v8"));
5
10
  const jsTimingEntries = [];
6
11
  function linkTimingInterface() {
7
12
  const boxedNode = process.boxednode;
@@ -39,23 +44,33 @@ exports.summariseTimingData = summariseTimingData;
39
44
  const timing = linkTimingInterface();
40
45
  exports.markTime = timing.markTime;
41
46
  exports.getTimingData = timing.getTimingData;
42
- if (process.env.MONGOSH_SHOW_TIMING_DATA) {
43
- process.on('exit', function () {
44
- const rawTimingData = (0, exports.getTimingData)();
45
- if (process.env.MONGOSH_SHOW_TIMING_DATA === 'json') {
46
- console.log(JSON.stringify(rawTimingData));
47
- }
48
- else {
49
- console.table(rawTimingData.map(([category, label, time], i) => [
50
- category,
51
- label,
52
- `${(time / 1000000).toFixed(2)}ms`,
53
- i > 0
54
- ? `+${((time - rawTimingData[i - 1][2]) / 1000000).toFixed(2)}ms`
55
- : '',
56
- ]));
57
- }
47
+ function installExitHandler() {
48
+ if (process.env.MONGOSH_SHOW_TIMING_DATA) {
49
+ process.on('exit', function () {
50
+ const rawTimingData = (0, exports.getTimingData)();
51
+ if (process.env.MONGOSH_SHOW_TIMING_DATA === 'json') {
52
+ console.log(JSON.stringify(rawTimingData));
53
+ }
54
+ else {
55
+ console.table(rawTimingData.map(([category, label, time], i) => [
56
+ category,
57
+ label,
58
+ `${(time / 1000000).toFixed(2)}ms`,
59
+ i > 0
60
+ ? `+${((time - rawTimingData[i - 1][2]) / 1000000).toFixed(2)}ms`
61
+ : '',
62
+ ]));
63
+ }
64
+ });
65
+ }
66
+ }
67
+ if ((_b = (_a = v8_1.default === null || v8_1.default === void 0 ? void 0 : v8_1.default.startupSnapshot) === null || _a === void 0 ? void 0 : _a.isBuildingSnapshot) === null || _b === void 0 ? void 0 : _b.call(_a)) {
68
+ v8_1.default.startupSnapshot.addDeserializeCallback(() => {
69
+ installExitHandler();
58
70
  });
59
71
  }
72
+ else {
73
+ installExitHandler();
74
+ }
60
75
  (0, exports.markTime)(types_1.TimingCategories.REPLInstantiation, 'cli-repl timing initialized');
61
76
  //# sourceMappingURL=startup-timing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"startup-timing.js","sourceRoot":"","sources":["../src/startup-timing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"startup-timing.js","sourceRoot":"","sources":["../src/startup-timing.ts"],"names":[],"mappings":"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"}
@@ -1,27 +1,4 @@
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
- };
25
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
4
  };
@@ -29,7 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
6
  exports.UpdateNotificationManager = void 0;
30
7
  const semver_1 = __importDefault(require("semver"));
31
8
  const fs_1 = require("fs");
32
- const fetch = async (url, init) => await (await Promise.resolve().then(() => __importStar(require('node-fetch')))).default(url, init);
9
+ const import_node_fetch_1 = __importDefault(require("@mongosh/import-node-fetch"));
10
+ const fetch = async (url, init) => await (await (0, import_node_fetch_1.default)()).default(url, init);
33
11
  class UpdateNotificationManager {
34
12
  constructor() {
35
13
  this.latestKnownMongoshVersion = undefined;
@@ -51,7 +29,7 @@ class UpdateNotificationManager {
51
29
  return this.latestKnownMongoshVersion;
52
30
  }
53
31
  async fetchUpdateMetadata(updateURL, localFilePath) {
54
- var _a, _b, _c, _d, _e;
32
+ var _a, _b, _c, _d, _e, _f;
55
33
  let localFileContents;
56
34
  await (this.localFilesystemFetchInProgress = (async () => {
57
35
  let localFileText = '';
@@ -89,23 +67,21 @@ class UpdateNotificationManager {
89
67
  : {},
90
68
  });
91
69
  if (response.status === 304) {
92
- response.body
93
- .on('error', () => {
94
- })
95
- .resume();
70
+ (_a = response.body) === null || _a === void 0 ? void 0 : _a.once('error', () => {
71
+ }).resume();
96
72
  localFileContents = { ...localFileContents, lastChecked: Date.now() };
97
73
  await fs_1.promises.writeFile(localFilePath, JSON.stringify(localFileContents));
98
74
  return;
99
75
  }
100
- if (!response.ok) {
76
+ if (!response.ok || !response.body) {
101
77
  throw new Error(`Unexpected status code fetching ${updateURL}: ${response.status} ${response.statusText}`);
102
78
  }
103
- const jsonContents = await response.json();
104
- this.latestKnownMongoshVersion = (_d = (_c = (_b = (_a = jsonContents === null || jsonContents === void 0 ? void 0 : jsonContents.versions) === null || _a === void 0 ? void 0 : _a.map((v) => v.version)) === null || _b === void 0 ? void 0 : _b.filter((v) => !semver_1.default.prerelease(v))) === null || _c === void 0 ? void 0 : _c.sort(semver_1.default.rcompare)) === null || _d === void 0 ? void 0 : _d[0];
79
+ const jsonContents = (await response.json());
80
+ this.latestKnownMongoshVersion = (_e = (_d = (_c = (_b = jsonContents === null || jsonContents === void 0 ? void 0 : jsonContents.versions) === null || _b === void 0 ? void 0 : _b.map((v) => v.version)) === null || _c === void 0 ? void 0 : _c.filter((v) => !semver_1.default.prerelease(v))) === null || _d === void 0 ? void 0 : _d.sort(semver_1.default.rcompare)) === null || _e === void 0 ? void 0 : _e[0];
105
81
  localFileContents = {
106
82
  updateURL,
107
83
  lastChecked: Date.now(),
108
- etag: (_e = response.headers.get('etag')) !== null && _e !== void 0 ? _e : undefined,
84
+ etag: (_f = response.headers.get('etag')) !== null && _f !== void 0 ? _f : undefined,
109
85
  latestKnownMongoshVersion: this.latestKnownMongoshVersion,
110
86
  };
111
87
  await fs_1.promises.writeFile(localFilePath, JSON.stringify(localFileContents));
@@ -1 +1 @@
1
- {"version":3,"file":"update-notification-manager.js","sourceRoot":"","sources":["../src/update-notification-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update-notification-manager.js","sourceRoot":"","sources":["../src/update-notification-manager.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mongosh/cli-repl",
3
- "version": "2.1.5",
3
+ "version": "2.2.0",
4
4
  "description": "MongoDB Shell CLI REPL Package",
5
5
  "homepage": "https://github.com/mongodb-js/mongosh",
6
6
  "author": "Compass Team <compass@mongodb.com>",
@@ -33,6 +33,7 @@
33
33
  "prepublish": "npm run compile",
34
34
  "webpack-build": "npm run compile && webpack --mode production",
35
35
  "webpack-build-dev": "npm run compile && webpack --mode development",
36
+ "start-snapshot": "rm -f snapshot.blob && node --snapshot-blob snapshot.blob --build-snapshot dist/mongosh.js && node --snapshot-blob snapshot.blob dist/mongosh.js",
36
37
  "prettier": "prettier",
37
38
  "reformat": "npm run prettier -- --write . && npm run eslint --fix"
38
39
  },
@@ -57,24 +58,26 @@
57
58
  }
58
59
  },
59
60
  "dependencies": {
60
- "@mongosh/arg-parser": "2.1.5",
61
- "@mongosh/autocomplete": "2.1.5",
62
- "@mongosh/editor": "2.1.5",
63
- "@mongosh/errors": "2.1.5",
64
- "@mongosh/history": "2.1.5",
65
- "@mongosh/i18n": "2.1.5",
66
- "@mongosh/js-multiline-to-singleline": "2.1.5",
67
- "@mongosh/logging": "2.1.5",
68
- "@mongosh/service-provider-core": "2.1.5",
69
- "@mongosh/service-provider-server": "2.1.5",
70
- "@mongosh/shell-api": "2.1.5",
71
- "@mongosh/shell-evaluator": "2.1.5",
72
- "@mongosh/snippet-manager": "2.1.5",
73
- "@mongosh/types": "2.1.5",
74
- "analytics-node": "^5.1.2",
61
+ "@mongosh/arg-parser": "2.2.0",
62
+ "@mongosh/autocomplete": "2.2.0",
63
+ "@mongosh/editor": "2.2.0",
64
+ "@mongosh/errors": "2.2.0",
65
+ "@mongosh/history": "2.2.0",
66
+ "@mongosh/i18n": "2.2.0",
67
+ "@mongosh/import-node-fetch": "2.2.0",
68
+ "@mongosh/js-multiline-to-singleline": "2.2.0",
69
+ "@mongosh/logging": "2.2.0",
70
+ "@mongosh/service-provider-core": "2.2.0",
71
+ "@mongosh/service-provider-server": "2.2.0",
72
+ "@mongosh/shell-api": "2.2.0",
73
+ "@mongosh/shell-evaluator": "2.2.0",
74
+ "@mongosh/snippet-manager": "2.2.0",
75
+ "@mongosh/types": "2.2.0",
76
+ "@segment/analytics-node": "^1.3.0",
75
77
  "ansi-escape-sequences": "^5.1.2",
76
78
  "askcharacter": "^1.0.0",
77
79
  "askpassword": "^1.2.4",
80
+ "escape-string-regexp": "^4.0.0",
78
81
  "is-recoverable-error": "^1.0.3",
79
82
  "js-yaml": "^4.1.0",
80
83
  "mongodb-connection-string-url": "^3.0.0",
@@ -87,11 +90,10 @@
87
90
  "yargs-parser": "^20.2.4"
88
91
  },
89
92
  "devDependencies": {
90
- "@mongodb-js/eslint-config-mongosh": "2.1.5",
93
+ "@mongodb-js/eslint-config-mongosh": "2.2.0",
91
94
  "@mongodb-js/prettier-config-devtools": "^1.0.1",
92
95
  "@mongodb-js/sbom-tools": "^0.5.2",
93
- "@mongodb-js/tsconfig-mongosh": "2.1.5",
94
- "@types/analytics-node": "^3.1.3",
96
+ "@mongodb-js/tsconfig-mongosh": "2.2.0",
95
97
  "@types/ansi-escape-sequences": "^4.0.0",
96
98
  "@types/chai-as-promised": "^7.1.3",
97
99
  "@types/js-yaml": "^4.0.5",
@@ -102,9 +104,8 @@
102
104
  "chai-as-promised": "^7.1.1",
103
105
  "depcheck": "^1.4.3",
104
106
  "eslint": "^7.25.0",
105
- "mongodb": "^6.3.0",
107
+ "mongodb": "^6.5.0",
106
108
  "mongodb-crypt-library-dummy": "^1.0.2",
107
- "node-fetch": "^2.6.1",
108
109
  "prettier": "^2.8.8",
109
110
  "webpack-merge": "^5.8.0"
110
111
  },
@@ -114,5 +115,5 @@
114
115
  "mongodb-crypt-library-version": "^1.0.3",
115
116
  "win-export-certificate-and-key": "^1.1.1"
116
117
  },
117
- "gitHead": "cbfb77a23e88fc09b9334a6680667760b18dec94"
118
+ "gitHead": "482c1fa4e9502519952ec6b23930238587801b1b"
118
119
  }