@mongosh/shell-evaluator 5.0.1 → 5.1.4

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.
@@ -0,0 +1 @@
1
+ export declare function contextlessEval(code: string): void;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.contextlessEval = contextlessEval;
4
+ function contextlessEval(code) {
5
+ eval(code);
6
+ }
7
+ //# sourceMappingURL=contextless-eval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextless-eval.js","sourceRoot":"","sources":["../src/contextless-eval.ts"],"names":[],"mappings":";;AASA,0CAEC;AAFD,SAAgB,eAAe,CAAC,IAAY;IAC1C,IAAI,CAAC,IAAI,CAAC,CAAC;AACb,CAAC"}
@@ -2,9 +2,9 @@
2
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
- var _a, _b;
6
5
  Object.defineProperty(exports, "__esModule", { value: true });
7
6
  exports.ShellEvaluator = void 0;
7
+ const contextless_eval_1 = require("./contextless-eval");
8
8
  const shell_api_1 = require("@mongosh/shell-api");
9
9
  const async_rewriter2_1 = __importDefault(require("@mongosh/async-rewriter2"));
10
10
  const mongodb_redact_1 = require("mongodb-redact");
@@ -14,12 +14,12 @@ let v8;
14
14
  try {
15
15
  v8 = require('v8');
16
16
  }
17
- catch (_c) {
17
+ catch {
18
18
  }
19
- if ((_b = (_a = v8 === null || v8 === void 0 ? void 0 : v8.startupSnapshot) === null || _a === void 0 ? void 0 : _a.isBuildingSnapshot) === null || _b === void 0 ? void 0 : _b.call(_a)) {
19
+ if (v8?.startupSnapshot?.isBuildingSnapshot?.()) {
20
20
  v8.startupSnapshot.addSerializeCallback(() => {
21
- eval(new async_rewriter2_1.default().runtimeSupportCode());
22
- eval(new async_rewriter2_1.default().process('1+1'));
21
+ (0, contextless_eval_1.contextlessEval)(new async_rewriter2_1.default().runtimeSupportCode());
22
+ (0, contextless_eval_1.contextlessEval)(new async_rewriter2_1.default().process('1+1'));
23
23
  hasAlreadyRunGlobalRuntimeSupportEval = true;
24
24
  });
25
25
  }
@@ -34,27 +34,26 @@ class ShellEvaluator {
34
34
  this.markTime = markTime;
35
35
  }
36
36
  async innerEval(originalEval, input, context, filename) {
37
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
38
37
  const { shellApi } = this.instanceState;
39
38
  const trimmedInput = input.trim();
40
39
  const argv = trimmedInput.replace(/;$/, '').split(/\s+/g);
41
40
  const cmd = argv.shift();
42
- if (((_a = shellApi[cmd]) === null || _a === void 0 ? void 0 : _a.isDirectShellCommand) &&
43
- ((_b = shellApi[cmd]) === null || _b === void 0 ? void 0 : _b.acceptsRawInput) &&
44
- !((_c = argv[0]) !== null && _c !== void 0 ? _c : '').startsWith('(')) {
41
+ if (shellApi[cmd]?.isDirectShellCommand &&
42
+ shellApi[cmd]?.acceptsRawInput &&
43
+ !(argv[0] ?? '').startsWith('(')) {
45
44
  const rawArg = trimmedInput.replace(/^\S+\s*/, '');
46
45
  return shellApi[cmd](rawArg);
47
46
  }
48
- if (((_d = shellApi[cmd]) === null || _d === void 0 ? void 0 : _d.isDirectShellCommand) &&
49
- !((_e = argv[0]) !== null && _e !== void 0 ? _e : '').startsWith('(')) {
47
+ if (shellApi[cmd]?.isDirectShellCommand &&
48
+ !(argv[0] ?? '').startsWith('(')) {
50
49
  return shellApi[cmd](...argv);
51
50
  }
52
51
  if (this.exposeAsyncRewriter) {
53
52
  context.__asyncRewrite = (rewriteInput) => this.asyncWriter.process(rewriteInput);
54
53
  }
55
- (_f = this.markTime) === null || _f === void 0 ? void 0 : _f.call(this, types_1.TimingCategories.AsyncRewrite, 'start async rewrite');
54
+ this.markTime?.(types_1.TimingCategories.AsyncRewrite, 'start async rewrite');
56
55
  let rewrittenInput = this.asyncWriter.process(input);
57
- (_g = this.markTime) === null || _g === void 0 ? void 0 : _g.call(this, types_1.TimingCategories.AsyncRewrite, 'done async rewrite');
56
+ this.markTime?.(types_1.TimingCategories.AsyncRewrite, 'done async rewrite');
58
57
  if (!(0, mongodb_redact_1.shouldRedactCommand)(input) && !(0, mongodb_redact_1.shouldRedactCommand)(rewrittenInput)) {
59
58
  this.instanceState.messageBus.emit('mongosh:evaluate-input', {
60
59
  input: (0, mongodb_redact_1.redact)(trimmedInput),
@@ -62,23 +61,24 @@ class ShellEvaluator {
62
61
  }
63
62
  if (!this.hasAppliedAsyncWriterRuntimeSupport) {
64
63
  this.hasAppliedAsyncWriterRuntimeSupport = true;
65
- (_h = this.markTime) === null || _h === void 0 ? void 0 : _h.call(this, types_1.TimingCategories.AsyncRewrite, 'start runtimeSupportCode processing');
64
+ this.markTime?.(types_1.TimingCategories.AsyncRewrite, 'start runtimeSupportCode processing');
66
65
  const supportCode = this.asyncWriter.runtimeSupportCode();
67
66
  if (!hasAlreadyRunGlobalRuntimeSupportEval) {
68
- eval(supportCode);
67
+ (0, contextless_eval_1.contextlessEval)(supportCode);
68
+ hasAlreadyRunGlobalRuntimeSupportEval = true;
69
69
  }
70
- (_j = this.markTime) === null || _j === void 0 ? void 0 : _j.call(this, types_1.TimingCategories.AsyncRewrite, 'done global runtimeSupportCode processing');
70
+ this.markTime?.(types_1.TimingCategories.AsyncRewrite, 'done global runtimeSupportCode processing');
71
71
  rewrittenInput = supportCode + ';\n' + rewrittenInput;
72
72
  }
73
73
  try {
74
- (_k = this.markTime) === null || _k === void 0 ? void 0 : _k.call(this, types_1.TimingCategories.Eval, 'started evaluating processed code');
74
+ this.markTime?.(types_1.TimingCategories.Eval, 'started evaluating processed code');
75
75
  return await originalEval(rewrittenInput, context, filename);
76
76
  }
77
77
  catch (err) {
78
78
  throw this.instanceState.transformError(err);
79
79
  }
80
80
  finally {
81
- (_l = this.markTime) === null || _l === void 0 ? void 0 : _l.call(this, types_1.TimingCategories.Eval, 'finished evaluating processed code');
81
+ this.markTime?.(types_1.TimingCategories.Eval, 'finished evaluating processed code');
82
82
  }
83
83
  }
84
84
  async customEval(originalEval, input, context, filename) {
@@ -1 +1 @@
1
- {"version":3,"file":"shell-evaluator.js","sourceRoot":"","sources":["../src/shell-evaluator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shell-evaluator.js","sourceRoot":"","sources":["../src/shell-evaluator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mongosh/shell-evaluator",
3
- "version": "5.0.1",
3
+ "version": "5.1.4",
4
4
  "description": "MongoDB Top Level API Package",
5
5
  "main": "./lib/index.js",
6
6
  "scripts": {
@@ -37,15 +37,15 @@
37
37
  "@mongodb-js/eslint-config-mongosh": "^1.0.0",
38
38
  "@mongodb-js/prettier-config-devtools": "^1.0.1",
39
39
  "@mongodb-js/tsconfig-mongosh": "^1.0.0",
40
- "@mongosh/types": "^5.0.1",
40
+ "@mongosh/types": "^5.0.3",
41
41
  "@types/sinon-chai": "^4.0.0",
42
42
  "eslint": "^7.25.0",
43
43
  "prettier": "^2.8.8"
44
44
  },
45
45
  "dependencies": {
46
- "@mongosh/async-rewriter2": "2.4.14",
47
- "@mongosh/shell-api": "^5.0.1",
46
+ "@mongosh/async-rewriter2": "2.4.15",
47
+ "@mongosh/shell-api": "^5.1.4",
48
48
  "mongodb-redact": "^1.3.0"
49
49
  },
50
- "gitHead": "9dcedaf65afcf834fd4bde9bcf1a9248ce764941"
50
+ "gitHead": "8046da7b463930861417f6b414580823af71889f"
51
51
  }