@mongosh/cli-repl 1.3.1 → 1.5.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.
package/lib/index.js CHANGED
@@ -3,9 +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.buildInfo = exports.runSmokeTests = exports.getMongocryptdPaths = exports.getStoragePaths = exports.mapCliToDriver = exports.parseCliArgs = exports.CliRepl = exports.MONGOSH_WIKI = exports.TELEMETRY_GREETING_MESSAGE = exports.USAGE = exports.clr = void 0;
7
- const arg_mapper_1 = __importDefault(require("./arg-mapper"));
8
- exports.mapCliToDriver = arg_mapper_1.default;
6
+ exports.buildInfo = exports.runSmokeTests = exports.getStoragePaths = exports.parseCliArgs = exports.CliRepl = exports.MONGOSH_WIKI = exports.TELEMETRY_GREETING_MESSAGE = exports.USAGE = exports.clr = void 0;
9
7
  const arg_parser_1 = require("./arg-parser");
10
8
  Object.defineProperty(exports, "parseCliArgs", { enumerable: true, get: function () { return arg_parser_1.parseCliArgs; } });
11
9
  const cli_repl_1 = __importDefault(require("./cli-repl"));
@@ -18,8 +16,6 @@ const constants_1 = require("./constants");
18
16
  Object.defineProperty(exports, "MONGOSH_WIKI", { enumerable: true, get: function () { return constants_1.MONGOSH_WIKI; } });
19
17
  Object.defineProperty(exports, "TELEMETRY_GREETING_MESSAGE", { enumerable: true, get: function () { return constants_1.TELEMETRY_GREETING_MESSAGE; } });
20
18
  Object.defineProperty(exports, "USAGE", { enumerable: true, get: function () { return constants_1.USAGE; } });
21
- const mongocryptd_manager_1 = require("./mongocryptd-manager");
22
- Object.defineProperty(exports, "getMongocryptdPaths", { enumerable: true, get: function () { return mongocryptd_manager_1.getMongocryptdPaths; } });
23
19
  const smoke_tests_1 = require("./smoke-tests");
24
20
  Object.defineProperty(exports, "runSmokeTests", { enumerable: true, get: function () { return smoke_tests_1.runSmokeTests; } });
25
21
  const build_info_1 = require("./build-info");
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,8DAA0C;AAmBxC,yBAnBK,oBAAc,CAmBL;AAlBhB,6CAA4C;AAiB1C,6FAjBO,yBAAY,OAiBP;AAhBd,0DAAiC;AAe/B,kBAfK,kBAAO,CAeL;AAdT,gDAAwB;AAUtB,cAVK,aAAG,CAUL;AATL,yDAAqD;AAgBnD,gGAhBO,kCAAe,OAgBP;AAfjB,2CAA8E;AAW5E,6FAXO,wBAAY,OAWP;AADZ,2GAVqB,sCAA0B,OAUrB;AAD1B,sFATiD,iBAAK,OASjD;AARP,+DAA4D;AAe1D,oGAfO,yCAAmB,OAeP;AAdrB,+CAA8C;AAe5C,8FAfO,2BAAa,OAeP;AAdf,6CAAyC;AAevC,0FAfO,sBAAS,OAeP;AAbX,kBAAe,kBAAO,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,6CAA4C;AAgB1C,6FAhBO,yBAAY,OAgBP;AAfd,0DAAiC;AAc/B,kBAdK,kBAAO,CAcL;AAbT,gDAAwB;AAStB,cATK,aAAG,CASL;AARL,yDAAqD;AAcnD,gGAdO,kCAAe,OAcP;AAbjB,2CAA8E;AAU5E,6FAVO,wBAAY,OAUP;AADZ,2GATqB,sCAA0B,OASrB;AAD1B,sFARiD,iBAAK,OAQjD;AAPP,+CAA8C;AAa5C,8FAbO,2BAAa,OAaP;AAZf,6CAAyC;AAavC,0FAbO,sBAAS,OAaP;AAXX,kBAAe,kBAAO,CAAC"}
@@ -18,7 +18,7 @@ export declare type MongoshIOProvider = Omit<ConfigProvider<CliUserConfig>, 'val
18
18
  contents: string;
19
19
  absolutePath: string;
20
20
  }>;
21
- startMongocryptd(): Promise<AutoEncryptionOptions['extraOptions']>;
21
+ getCryptLibraryOptions(): Promise<AutoEncryptionOptions['extraOptions']>;
22
22
  bugReportErrorMessageInfo?(): string | undefined;
23
23
  };
24
24
  export declare type MongoshNodeReplOptions = {
@@ -61,7 +61,6 @@ declare class MongoshNodeRepl implements EvaluationListener {
61
61
  initialize(serviceProvider: ServiceProvider): Promise<InitializationToken>;
62
62
  startRepl(_initializationToken: InitializationToken): Promise<void>;
63
63
  greet(mongodVersion: string): Promise<void>;
64
- printStartupLog(instanceState: ShellInstanceState): Promise<void>;
65
64
  printBasicConnectivityWarning(instanceState: ShellInstanceState): Promise<void>;
66
65
  eval(originalEval: asyncRepl.OriginalEvalFunction, input: string, context: any, filename: string): Promise<any>;
67
66
  onLoad(filename: string): Promise<OnLoadResult>;
@@ -96,7 +95,7 @@ declare class MongoshNodeRepl implements EvaluationListener {
96
95
  resetConfig<K extends keyof CliUserConfig>(key: K): Promise<'success' | 'ignored'>;
97
96
  validateConfig<K extends keyof CliUserConfig>(key: K, value: CliUserConfig[K]): Promise<string | null>;
98
97
  listConfigOptions(): Promise<string[]> | string[];
99
- startMongocryptd(): Promise<AutoEncryptionOptions['extraOptions']>;
98
+ getCryptLibraryOptions(): Promise<AutoEncryptionOptions['extraOptions']>;
100
99
  private getShellPrompt;
101
100
  }
102
101
  export default MongoshNodeRepl;
@@ -46,7 +46,6 @@ const constants_1 = require("./constants");
46
46
  const format_output_1 = __importStar(require("./format-output"));
47
47
  const js_multiline_to_singleline_1 = require("@mongosh/js-multiline-to-singleline");
48
48
  const line_by_line_input_1 = require("./line-by-line-input");
49
- const log_entry_1 = require("./log-entry");
50
49
  function fixupReplForNodeBug38314(repl) {
51
50
  {
52
51
  const input = new stream_1.PassThrough();
@@ -111,7 +110,6 @@ class MongoshNodeRepl {
111
110
  mongodVersion = (mongodVersion ? mongodVersion + ' ' : '') + `(API Version ${apiVersion})`;
112
111
  }
113
112
  await this.greet(mongodVersion);
114
- await this.printStartupLog(instanceState);
115
113
  await this.printBasicConnectivityWarning(instanceState);
116
114
  this.inspectCompact = await this.getConfig('inspectCompact');
117
115
  this.inspectDepth = await this.getConfig('inspectDepth');
@@ -240,6 +238,19 @@ class MongoshNodeRepl {
240
238
  catch (_a) { }
241
239
  });
242
240
  instanceState.setCtx(repl.context);
241
+ if (!this.shellCliOptions.nodb && !this.shellCliOptions.quiet) {
242
+ const { shellApi } = instanceState;
243
+ const banners = await Promise.all([
244
+ (async () => await shellApi.show('startupWarnings'))(),
245
+ (async () => await shellApi.show('freeMonitoring'))(),
246
+ (async () => await shellApi.show('automationNotices'))()
247
+ ]);
248
+ for (const banner of banners) {
249
+ if (banner.value) {
250
+ await shellApi.print(banner);
251
+ }
252
+ }
253
+ }
243
254
  return { __initialized: 'yes' };
244
255
  }
245
256
  async startRepl(_initializationToken) {
@@ -267,40 +278,6 @@ class MongoshNodeRepl {
267
278
  }
268
279
  this.output.write(text);
269
280
  }
270
- async printStartupLog(instanceState) {
271
- if (this.shellCliOptions.nodb || this.shellCliOptions.quiet) {
272
- return;
273
- }
274
- let result;
275
- try {
276
- result = await instanceState.currentDb.adminCommand({ getLog: 'startupWarnings' });
277
- if (!result) {
278
- throw new errors_1.MongoshCommandFailed('adminCommand getLog unexpectedly returned no result');
279
- }
280
- }
281
- catch (error) {
282
- this.bus.emit('mongosh:error', error, 'repl');
283
- return;
284
- }
285
- if (!result.log || !result.log.length) {
286
- return;
287
- }
288
- let text = '';
289
- text += `${this.clr('------', 'mongosh:section-header')}\n`;
290
- text += ` ${this.clr('The server generated these startup warnings when booting:', 'mongosh:warning')}\n`;
291
- result.log.forEach(logLine => {
292
- try {
293
- const entry = (0, log_entry_1.parseAnyLogEntry)(logLine);
294
- text += ` ${entry.timestamp}: ${entry.message}\n`;
295
- }
296
- catch (e) {
297
- text += ` Unexpected log line format: ${logLine}\n`;
298
- }
299
- });
300
- text += `${this.clr('------', 'mongosh:section-header')}\n`;
301
- text += '\n';
302
- this.output.write(text);
303
- }
304
281
  async printBasicConnectivityWarning(instanceState) {
305
282
  if (this.shellCliOptions.nodb || this.shellCliOptions.quiet) {
306
283
  return;
@@ -531,8 +508,8 @@ class MongoshNodeRepl {
531
508
  listConfigOptions() {
532
509
  return this.ioProvider.listConfigOptions();
533
510
  }
534
- async startMongocryptd() {
535
- return this.ioProvider.startMongocryptd();
511
+ async getCryptLibraryOptions() {
512
+ return this.ioProvider.getCryptLibraryOptions();
536
513
  }
537
514
  async getShellPrompt() {
538
515
  const { repl, instanceState } = this.runtimeState();
@@ -1 +1 @@
1
- {"version":3,"file":"mongosh-repl.js","sourceRoot":"","sources":["../src/mongosh-repl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mongosh-repl.js","sourceRoot":"","sources":["../src/mongosh-repl.ts"],"names":[],"mappings":"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"}
package/lib/run.js CHANGED
@@ -3,14 +3,26 @@ 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
+ let fipsError;
7
+ if (process.argv.includes('--tlsFIPSMode')) {
8
+ try {
9
+ require('crypto').setFips(1);
10
+ }
11
+ catch (err) {
12
+ fipsError = err;
13
+ }
14
+ }
6
15
  const index_1 = require("./index");
7
16
  const config_directory_1 = require("./config-directory");
8
- const service_provider_server_1 = require("@mongosh/service-provider-server");
17
+ const crypt_library_paths_1 = require("./crypt-library-paths");
18
+ const tls_certificate_selector_1 = require("./tls-certificate-selector");
9
19
  const history_1 = require("@mongosh/history");
20
+ const arg_parser_1 = require("@mongosh/arg-parser");
10
21
  const module_1 = require("module");
11
22
  const readline_1 = __importDefault(require("readline"));
12
23
  const askcharacter_1 = __importDefault(require("askcharacter"));
13
24
  const stream_1 = __importDefault(require("stream"));
25
+ const crypto_1 = __importDefault(require("crypto"));
14
26
  (async () => {
15
27
  if (process.env.MONGOSH_RUN_NODE_SCRIPT) {
16
28
  process.argv.splice(1, 1);
@@ -25,6 +37,24 @@ const stream_1 = __importDefault(require("stream"));
25
37
  console.warn(warning);
26
38
  }
27
39
  const { version } = require('../package.json');
40
+ if (options.tlsFIPSMode) {
41
+ if (!fipsError && !crypto_1.default.getFips()) {
42
+ fipsError = new Error('FIPS mode not enabled despite requested');
43
+ }
44
+ if (fipsError) {
45
+ if (process.config.variables.node_shared_openssl) {
46
+ console.error('Could not enable FIPS mode. Please ensure that your system OpenSSL installation');
47
+ console.error('supports FIPS, and see the mongosh FIPS documentation for more information.');
48
+ }
49
+ else {
50
+ console.error('Could not enable FIPS mode. This mongosh installation does not appear to');
51
+ console.error('support FIPS. Please see the mongosh FIPS documentation for more information.');
52
+ }
53
+ console.error('Error details:');
54
+ console.error(fipsError);
55
+ process.exit(1);
56
+ }
57
+ }
28
58
  if (options.help) {
29
59
  console.log(index_1.USAGE);
30
60
  }
@@ -36,18 +66,19 @@ const stream_1 = __importDefault(require("stream"));
36
66
  }
37
67
  else if (options.smokeTests) {
38
68
  const smokeTestServer = process.env.MONGOSH_SMOKE_TEST_SERVER;
69
+ const cryptLibraryOpts = options.cryptSharedLibPath ? [
70
+ `--cryptSharedLibPath=${options.cryptSharedLibPath}`
71
+ ] : [];
39
72
  if (process.execPath === process.argv[1]) {
40
- await (0, index_1.runSmokeTests)(smokeTestServer, process.execPath);
73
+ await (0, index_1.runSmokeTests)(smokeTestServer, process.execPath, ...cryptLibraryOpts);
41
74
  }
42
75
  else {
43
- await (0, index_1.runSmokeTests)(smokeTestServer, process.execPath, process.argv[1]);
76
+ await (0, index_1.runSmokeTests)(smokeTestServer, process.execPath, process.argv[1], ...cryptLibraryOpts);
44
77
  }
45
78
  }
46
79
  else {
47
- let mongocryptdSpawnPaths = [['mongocryptd']];
48
80
  if (process.execPath === process.argv[1]) {
49
81
  process.removeAllListeners('warning');
50
- mongocryptdSpawnPaths = await (0, index_1.getMongocryptdPaths)();
51
82
  }
52
83
  if (process.env.CLEAR_SIGINT_LISTENERS) {
53
84
  process.removeAllListeners('SIGINT');
@@ -69,9 +100,13 @@ const stream_1 = __importDefault(require("stream"));
69
100
  }
70
101
  }
71
102
  }
72
- const driverOptions = (0, index_1.mapCliToDriver)(options);
73
- const driverUri = (0, service_provider_server_1.generateUri)(options);
74
- const title = `mongosh ${(0, history_1.redactURICredentials)(driverUri)}`;
103
+ const connectionInfo = (0, arg_parser_1.generateConnectionInfoFromCliArgs)(options);
104
+ connectionInfo.driverOptions = {
105
+ ...connectionInfo.driverOptions,
106
+ ...(0, tls_certificate_selector_1.getTlsCertificateSelector)(options.tlsCertificateSelector),
107
+ driverInfo: { name: 'mongosh', version }
108
+ };
109
+ const title = `mongosh ${(0, history_1.redactURICredentials)(connectionInfo.connectionString)}`;
75
110
  process.title = title;
76
111
  setTerminalWindowTitle(title);
77
112
  const shellHomePaths = (0, config_directory_1.getStoragePaths)();
@@ -80,14 +115,14 @@ const stream_1 = __importDefault(require("stream"));
80
115
  shellCliOptions: {
81
116
  ...options,
82
117
  },
83
- mongocryptdSpawnPaths,
118
+ getCryptLibraryPaths: crypt_library_paths_1.getCryptLibraryPaths,
84
119
  input: process.stdin,
85
120
  output: process.stdout,
86
121
  onExit: process.exit,
87
122
  shellHomePaths: shellHomePaths,
88
123
  globalConfigPaths: globalConfigPaths
89
124
  });
90
- await repl.start(driverUri, driverOptions);
125
+ await repl.start(connectionInfo.connectionString, connectionInfo.driverOptions);
91
126
  }
92
127
  }
93
128
  catch (e) {
package/lib/run.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
@@ -8,9 +8,9 @@ const assert = function(value, message) {
8
8
  process.exit(1);
9
9
  }
10
10
  };
11
- // There is no mongocryptd binary for darwin-x64 or rhel80-s390x yet.
12
- if ((os.platform() === 'darwin' && os.arch() === 'arm64') ||
13
- (os.platform() === 'linux' && os.arch() === 's390x' && fs.readFileSync('/etc/os-release', 'utf8').includes('VERSION_ID="8'))) {
11
+ if (process.platform === 'linux' && process.arch === 's390x') {
12
+ // There is no crypt shared library binary for the rhel72 s390x that we test on.
13
+ // We will address this in MONGOSH-862.
14
14
  print('Test skipped')
15
15
  process.exit(0);
16
16
  }
@@ -9,16 +9,28 @@ const assert_1 = __importDefault(require("assert"));
9
9
  const events_1 = require("events");
10
10
  const history_1 = require("@mongosh/history");
11
11
  const smoke_tests_fle_1 = __importDefault(require("./smoke-tests-fle"));
12
+ const build_info_1 = require("./build-info");
12
13
  async function runSmokeTests(smokeTestServer, executable, ...args) {
13
14
  console.log('MONGOSH_SMOKE_TEST_SERVER set?', !!smokeTestServer);
14
15
  if (process.env.IS_CI) {
15
16
  (0, assert_1.default)(!!smokeTestServer, 'Make sure MONGOSH_SMOKE_TEST_SERVER is set in CI');
16
17
  }
17
- for (const { input, output, testArgs } of [{
18
+ const skipFipsWithOpenSSL3 = process.env.MONGOSH_SMOKE_TEST_OS_SKIP_FIPS_WITH_OPENSSL3 && (0, build_info_1.buildInfo)().opensslVersion.startsWith('3.');
19
+ const expectFipsSupport = !!process.env.MONGOSH_SMOKE_TEST_OS_HAS_FIPS_SUPPORT && (0, build_info_1.buildInfo)().sharedOpenssl;
20
+ console.log('FIPS support required to pass?', { skipFipsWithOpenSSL3, expectFipsSupport });
21
+ for (const { input, output, testArgs, includeStderr } of [{
18
22
  input: 'print("He" + "llo" + " Wor" + "ld!")',
19
23
  output: /Hello World!/,
24
+ includeStderr: false,
20
25
  testArgs: ['--nodb'],
21
- }].concat(smokeTestServer ? [{
26
+ }].concat(skipFipsWithOpenSSL3 ? [] : [{
27
+ input: 'crypto.createHash("md5").update("hello").digest("hex")',
28
+ output: expectFipsSupport ?
29
+ /disabled for FIPS/i :
30
+ /disabled for FIPS|Could not enable FIPS mode/i,
31
+ includeStderr: true,
32
+ testArgs: ['--tlsFIPSMode', '--nodb']
33
+ }]).concat(smokeTestServer ? [{
22
34
  input: `
23
35
  const dbname = "testdb_simplesmoke" + new Date().getTime();
24
36
  use(dbname);
@@ -28,27 +40,32 @@ async function runSmokeTests(smokeTestServer, executable, ...args) {
28
40
  }
29
41
  db.dropDatabase();`,
30
42
  output: /Test succeeded/,
43
+ includeStderr: false,
31
44
  testArgs: [smokeTestServer]
32
45
  }, {
33
46
  input: smoke_tests_fle_1.default,
34
47
  output: /Test succeeded|Test skipped/,
48
+ includeStderr: false,
35
49
  testArgs: [smokeTestServer]
36
50
  }] : [])) {
37
- await runSmokeTest(executable, [...args, ...testArgs], input, output);
51
+ await runSmokeTest(executable, [...args, ...testArgs], input, output, includeStderr);
38
52
  }
39
53
  console.log('all tests passed');
40
54
  }
41
55
  exports.runSmokeTests = runSmokeTests;
42
- async function runSmokeTest(executable, args, input, output) {
56
+ async function runSmokeTest(executable, args, input, output, includeStderr) {
57
+ var _a;
43
58
  const proc = (0, child_process_1.spawn)(executable, [...args], {
44
- stdio: ['pipe', 'pipe', 'inherit']
59
+ stdio: ['pipe', 'pipe', includeStderr ? 'pipe' : 'inherit']
45
60
  });
46
61
  let stdout = '';
62
+ let stderr = '';
47
63
  proc.stdout.setEncoding('utf8').on('data', (chunk) => { stdout += chunk; });
64
+ (_a = proc.stderr) === null || _a === void 0 ? void 0 : _a.setEncoding('utf8').on('data', (chunk) => { stderr += chunk; });
48
65
  proc.stdin.end(input);
49
66
  await (0, events_1.once)(proc.stdout, 'end');
50
67
  try {
51
- assert_1.default.match(stdout, output);
68
+ assert_1.default.match(includeStderr ? `${stdout}\n${stderr}` : stdout, output);
52
69
  console.error({ status: 'success', input, output, stdout, executable, args: args.map(arg => (0, history_1.redactURICredentials)(arg)) });
53
70
  }
54
71
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"smoke-tests.js","sourceRoot":"","sources":["../src/smoke-tests.ts"],"names":[],"mappings":";;;;;;AACA,iDAAsC;AACtC,oDAA4B;AAC5B,mCAA8B;AAC9B,8CAAwD;AACxD,wEAAmD;AAW5C,KAAK,UAAU,aAAa,CAAC,eAAmC,EAAE,UAAkB,EAAE,GAAG,IAAc;IAC5G,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC;IACjE,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE;QACrB,IAAA,gBAAM,EAAC,CAAC,CAAC,eAAe,EAAE,kDAAkD,CAAC,CAAC;KAC/E;IAED,KAAK,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC;YACzC,KAAK,EAAE,sCAAsC;YAC7C,MAAM,EAAE,cAAc;YACtB,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAC3B,KAAK,EAAE;;;;;;;yBAOc;YACrB,MAAM,EAAE,gBAAgB;YACxB,QAAQ,EAAE,CAAC,eAAyB,CAAC;SACtC,EAAE;YACD,KAAK,EAAE,yBAAkB;YACzB,MAAM,EAAE,6BAA6B;YACrC,QAAQ,EAAE,CAAC,eAAyB,CAAC;SACtC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QACR,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;KACvE;IACD,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAClC,CAAC;AA7BD,sCA6BC;AAUD,KAAK,UAAU,YAAY,CAAC,UAAkB,EAAE,IAAc,EAAE,KAAa,EAAE,MAAc;IAC3F,MAAM,IAAI,GAAG,IAAA,qBAAK,EAAC,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE;QACxC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC;KACnC,CAAC,CAAC;IACH,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACtB,MAAM,IAAA,aAAI,EAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC/B,IAAI;QACF,gBAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAA,8BAAoB,EAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;KAC3H;IAAC,OAAO,GAAQ,EAAE;QACjB,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAA,8BAAoB,EAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1H,MAAM,GAAG,CAAC;KACX;AACH,CAAC"}
1
+ {"version":3,"file":"smoke-tests.js","sourceRoot":"","sources":["../src/smoke-tests.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /// <reference types="node" />
2
+ export declare function getTlsCertificateSelector(selector: string | undefined): {
3
+ passphrase: string;
4
+ pfx: Buffer;
5
+ } | undefined;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTlsCertificateSelector = void 0;
4
+ const errors_1 = require("@mongosh/errors");
5
+ function getTlsCertificateSelector(selector) {
6
+ var _a, _b, _c;
7
+ if (!selector) {
8
+ return;
9
+ }
10
+ const exportCertificateAndPrivateKey = getCertificateExporter();
11
+ if (!exportCertificateAndPrivateKey) {
12
+ throw new errors_1.MongoshUnimplementedError('--tlsCertificateSelector is not supported on this platform');
13
+ }
14
+ const match = selector.match(/^(?<key>\w+)=(?<value>.+)/);
15
+ if (!match || !['subject', 'thumbprint'].includes((_b = (_a = match.groups) === null || _a === void 0 ? void 0 : _a.key) !== null && _b !== void 0 ? _b : '')) {
16
+ throw new errors_1.MongoshInvalidInputError('--tlsCertificateSelector needs to include subject or thumbprint');
17
+ }
18
+ const { key, value } = (_c = match.groups) !== null && _c !== void 0 ? _c : {};
19
+ const search = key === 'subject' ? { subject: value } : { thumbprint: Buffer.from(value, 'hex') };
20
+ try {
21
+ const { passphrase, pfx } = exportCertificateAndPrivateKey(search);
22
+ return { passphrase, pfx };
23
+ }
24
+ catch (err) {
25
+ throw new errors_1.MongoshInvalidInputError(`Could not resolve certificate specification '${selector}': ${err === null || err === void 0 ? void 0 : err.message}`);
26
+ }
27
+ }
28
+ exports.getTlsCertificateSelector = getTlsCertificateSelector;
29
+ function getCertificateExporter() {
30
+ if (process.env.TEST_OS_EXPORT_CERTIFICATE_AND_KEY_PATH) {
31
+ return require(process.env.TEST_OS_EXPORT_CERTIFICATE_AND_KEY_PATH);
32
+ }
33
+ try {
34
+ switch (process.platform) {
35
+ case 'win32':
36
+ return require('win-export-certificate-and-key');
37
+ case 'darwin':
38
+ return require('macos-export-certificate-and-key');
39
+ default:
40
+ return undefined;
41
+ }
42
+ }
43
+ catch (_a) { }
44
+ return undefined;
45
+ }
46
+ //# sourceMappingURL=tls-certificate-selector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tls-certificate-selector.js","sourceRoot":"","sources":["../src/tls-certificate-selector.ts"],"names":[],"mappings":";;;AAAA,4CAAsF;AAGtF,SAAgB,yBAAyB,CACvC,QAA4B;;IAE5B,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO;KACR;IAED,MAAM,8BAA8B,GAAG,sBAAsB,EAAE,CAAC;IAChE,IAAI,CAAC,8BAA8B,EAAE;QACnC,MAAM,IAAI,kCAAyB,CAAC,4DAA4D,CAAC,CAAC;KACnG;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC1D,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,MAAA,MAAA,KAAK,CAAC,MAAM,0CAAE,GAAG,mCAAI,EAAE,CAAC,EAAE;QAC1E,MAAM,IAAI,iCAAwB,CAAC,iEAAiE,CAAC,CAAC;KACvG;IACD,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,MAAA,KAAK,CAAC,MAAM,mCAAI,EAAE,CAAC;IAC1C,MAAM,MAAM,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;IAElG,IAAI;QACF,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,8BAA8B,CAAC,MAAM,CAAC,CAAC;QACnE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;KAC5B;IAAC,OAAO,GAAQ,EAAE;QACjB,MAAM,IAAI,iCAAwB,CAAC,gDAAgD,QAAQ,MAAM,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,EAAE,CAAC,CAAC;KAClH;AACH,CAAC;AAzBD,8DAyBC;AAED,SAAS,sBAAsB;IAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,uCAAuC,EAAE;QACvD,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;KACrE;IAED,IAAI;QACF,QAAQ,OAAO,CAAC,QAAQ,EAAE;YACxB,KAAK,OAAO;gBACV,OAAO,OAAO,CAAC,gCAAgC,CAAC,CAAC;YACnD,KAAK,QAAQ;gBACX,OAAO,OAAO,CAAC,kCAAkC,CAAC,CAAC;YACrD;gBACE,OAAO,SAAS,CAAC;SACpB;KACF;IAAC,WAAM,GAAmC;IAC3C,OAAO,SAAS,CAAC;AACnB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mongosh/cli-repl",
3
- "version": "1.3.1",
3
+ "version": "1.5.0",
4
4
  "description": "MongoDB Shell CLI REPL Package",
5
5
  "homepage": "https://github.com/mongodb-js/mongosh",
6
6
  "author": "Compass Team <team-compass@10gen.com>",
@@ -36,33 +36,46 @@
36
36
  "access": "public"
37
37
  },
38
38
  "engines": {
39
- "node": ">=14.15.0"
39
+ "node": ">=16.15.0"
40
+ },
41
+ "mongosh": {
42
+ "ciRequiredOptionalDependencies": {
43
+ "macos-export-certificate-and-key": [
44
+ "darwin"
45
+ ],
46
+ "win-export-certificate-and-key": [
47
+ "win32"
48
+ ],
49
+ "get-console-process-list": [
50
+ "win32"
51
+ ]
52
+ }
40
53
  },
41
54
  "dependencies": {
42
- "@mongosh/autocomplete": "1.3.1",
43
- "@mongosh/editor": "1.3.1",
44
- "@mongosh/errors": "1.3.1",
45
- "@mongosh/history": "1.3.1",
46
- "@mongosh/i18n": "1.3.1",
47
- "@mongosh/js-multiline-to-singleline": "1.3.1",
48
- "@mongosh/logging": "1.3.1",
49
- "@mongosh/service-provider-core": "1.3.1",
50
- "@mongosh/service-provider-server": "1.3.1",
51
- "@mongosh/shell-api": "1.3.1",
52
- "@mongosh/shell-evaluator": "1.3.1",
53
- "@mongosh/snippet-manager": "1.3.1",
54
- "@mongosh/types": "1.3.1",
55
+ "@mongosh/arg-parser": "1.5.0",
56
+ "@mongosh/autocomplete": "1.5.0",
57
+ "@mongosh/editor": "1.5.0",
58
+ "@mongosh/errors": "1.5.0",
59
+ "@mongosh/history": "1.5.0",
60
+ "@mongosh/i18n": "1.5.0",
61
+ "@mongosh/js-multiline-to-singleline": "1.5.0",
62
+ "@mongosh/logging": "1.5.0",
63
+ "@mongosh/service-provider-core": "1.5.0",
64
+ "@mongosh/service-provider-server": "1.5.0",
65
+ "@mongosh/shell-api": "1.5.0",
66
+ "@mongosh/shell-evaluator": "1.5.0",
67
+ "@mongosh/snippet-manager": "1.5.0",
68
+ "@mongosh/types": "1.5.0",
55
69
  "analytics-node": "^3.4.0-beta.1",
56
70
  "ansi-escape-sequences": "^5.1.2",
57
71
  "askcharacter": "^1.0.0",
58
72
  "askpassword": "^1.2.4",
59
73
  "is-recoverable-error": "^1.0.2",
60
74
  "js-yaml": "^4.1.0",
61
- "lodash.set": "^4.3.2",
62
- "mongodb-connection-string-url": "^2.3.2",
75
+ "mongodb-connection-string-url": "^2.5.2",
63
76
  "mongodb-log-writer": "^1.1.3",
64
77
  "nanobus": "^4.4.0",
65
- "pretty-bytes": "^5.3.0",
78
+ "numeral": "^2.0.6",
66
79
  "pretty-repl": "^3.1.1",
67
80
  "semver": "^7.1.2",
68
81
  "strip-ansi": "^6.0.0",
@@ -74,18 +87,20 @@
74
87
  "@types/ansi-escape-sequences": "^4.0.0",
75
88
  "@types/chai-as-promised": "^7.1.3",
76
89
  "@types/js-yaml": "^4.0.5",
77
- "@types/lodash.set": "^4.3.6",
78
90
  "@types/node": "^14.14.5",
91
+ "@types/numeral": "^2.0.2",
79
92
  "@types/text-table": "^0.2.1",
80
93
  "@types/yargs-parser": "^15.0.0",
81
94
  "chai-as-promised": "^7.1.1",
82
95
  "lodash": "^4.17.21",
83
- "moment": "^2.29.1"
96
+ "moment": "^2.29.1",
97
+ "mongodb-crypt-library-dummy": "^1.0.2"
84
98
  },
85
99
  "optionalDependencies": {
86
100
  "get-console-process-list": "^1.0.4",
87
101
  "macos-export-certificate-and-key": "^1.1.1",
102
+ "mongodb-crypt-library-version": "^1.0.3",
88
103
  "win-export-certificate-and-key": "^1.1.1"
89
104
  },
90
- "gitHead": "29a1453899120580f7ee669ec5952810b86d11b7"
105
+ "gitHead": "78a16fa4cbd0c5d98ca8131aa2896be5845aa919"
91
106
  }
@@ -1,8 +0,0 @@
1
- /// <reference types="node" />
2
- import { CliOptions, DevtoolsConnectOptions } from '@mongosh/service-provider-server';
3
- declare function mapCliToDriver(options: CliOptions): DevtoolsConnectOptions;
4
- export declare function getTlsCertificateSelector(selector: string | undefined): {
5
- passphrase: string;
6
- pfx: Buffer;
7
- } | undefined;
8
- export default mapCliToDriver;