@mablhq/mabl-cli 2.31.2 → 2.31.33

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.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSnippetIdsFromJsonFlow = exports.parseMablScriptIntoV2Step = exports.extractOutputVariables = exports.extractInputVariables = exports.parseMablScriptIntoSteps = exports.mablscriptTheLoadedSteps = exports.interpretStepsFromObjects = exports.interpretStepsFromObjectsInFlow = exports.loadYamlSteps = exports.yamlifyTheLoadedSteps = exports.loadMablScriptIntoSteps = exports.parseMablScript = void 0;
3
+ exports.getSnippetIdsFromFlows = exports.getSnippetIdsFromMablscriptFlow = exports.getSnippetIdsFromJsonFlow = exports.parseMablScriptIntoV2Step = exports.extractOutputVariables = exports.extractInputVariables = exports.parseMablScriptIntoSteps = exports.mablscriptTheLoadedSteps = exports.interpretStepsFromObjects = exports.interpretStepsFromObjectsInFlow = exports.loadYamlSteps = exports.yamlifyTheLoadedSteps = exports.loadMablScriptIntoSteps = exports.parseMablScript = void 0;
4
4
  const esprima_1 = require("esprima");
5
5
  const estraverse_1 = require("estraverse");
6
6
  const AssertStep_1 = require("./steps/AssertStep");
@@ -70,6 +70,7 @@ const PrepareSessionStep_1 = require("./mobile/steps/PrepareSessionStep");
70
70
  const OpenLinkStep_1 = require("./mobile/steps/OpenLinkStep");
71
71
  const DatabaseQueryStep_1 = require("./steps/DatabaseQueryStep");
72
72
  const HideKeyboardStep_1 = require("./mobile/steps/HideKeyboardStep");
73
+ const OpenAppStep_1 = require("./mobile/steps/OpenAppStep");
73
74
  const ActionTypes = [
74
75
  AwaitDownloadAction_1.AwaitDownloadAction,
75
76
  AwaitPDFDownloadAction_1.AwaitPDFDownloadAction,
@@ -132,6 +133,7 @@ const MobileStepTypes = [
132
133
  EnterTextStep_2.EnterTextStep,
133
134
  SetOrientationStep_1.SetOrientationStep,
134
135
  ScrollStep_1.ScrollStep,
136
+ OpenAppStep_1.OpenAppStep,
135
137
  OpenLinkStep_1.OpenLinkStep,
136
138
  PrepareSessionStep_1.PrepareSessionStep,
137
139
  PushFileStep_1.PushFileStep,
@@ -490,35 +492,61 @@ function parseMablScriptIntoV2Step(script) {
490
492
  return parsedStep;
491
493
  }
492
494
  exports.parseMablScriptIntoV2Step = parseMablScriptIntoV2Step;
493
- function getSnippetIdsFromJsonFlow(flow) {
494
- const steps = interpretStepsFromObjects(flow.json_steps.steps, true);
495
- const snippetIds = [];
496
- steps.forEach((step) => {
497
- let jsDescriptor;
498
- if ((0, EvaluateJavaScriptStep_1.isEvaluateJavaScriptStep)(step)) {
499
- jsDescriptor = step.evaluateJsAction.javaScript;
500
- }
501
- else if ((0, IfConditionStep_1.isIfConditionStep)(step) || (0, ElseIfConditionStep_1.isElseIfConditionStep)(step)) {
502
- if ((0, JavaScriptAction_1.isJavaScriptActionDescriptor)(step.primaryAction)) {
503
- jsDescriptor = step.primaryAction.javaScript;
504
- }
505
- }
506
- else if ((0, CreateVariableStep_1.isCreateVariableStep)(step)) {
507
- if (step.generationType === CreateVariableStepDescriptor_1.VariableGenerator.JAVASCRIPT &&
508
- (0, JavaScriptAction_1.isJavaScriptActionDescriptor)(step.actions[0])) {
509
- jsDescriptor = step.actions[0].javaScript;
510
- }
495
+ function getSnippetIdFromStep(step) {
496
+ let jsDescriptor;
497
+ if ((0, EvaluateJavaScriptStep_1.isEvaluateJavaScriptStep)(step)) {
498
+ jsDescriptor = step.evaluateJsAction.javaScript;
499
+ }
500
+ else if ((0, IfConditionStep_1.isIfConditionStep)(step) || (0, ElseIfConditionStep_1.isElseIfConditionStep)(step)) {
501
+ if ((0, JavaScriptAction_1.isJavaScriptActionDescriptor)(step.primaryAction)) {
502
+ jsDescriptor = step.primaryAction.javaScript;
511
503
  }
512
- else if ((0, CreateVariableMobileStep_1.isCreateVariableMobileStep)(step)) {
513
- if ((0, JavaScriptAction_1.isJavaScriptActionDescriptor)(step.descriptor.generator)) {
514
- jsDescriptor = step.descriptor.generator.javaScript;
515
- }
504
+ }
505
+ else if ((0, CreateVariableStep_1.isCreateVariableStep)(step)) {
506
+ if (step.generationType === CreateVariableStepDescriptor_1.VariableGenerator.JAVASCRIPT &&
507
+ (0, JavaScriptAction_1.isJavaScriptActionDescriptor)(step.actions[0])) {
508
+ jsDescriptor = step.actions[0].javaScript;
516
509
  }
517
- if ((jsDescriptor && (0, SnippetsDescriptor_1.isReusableSnippetDescriptor)(jsDescriptor)) ||
518
- (0, SnippetsDescriptor_1.isLegacyReusableSnippetDescriptor)(jsDescriptor)) {
519
- snippetIds.push(jsDescriptor.snippetInvariantId);
510
+ }
511
+ else if ((0, DatabaseQueryStep_1.isDatabaseQueryStep)(step)) {
512
+ jsDescriptor = step.descriptor.snippet;
513
+ }
514
+ else if ((0, CreateVariableMobileStep_1.isCreateVariableMobileStep)(step)) {
515
+ if ((0, JavaScriptAction_1.isJavaScriptActionDescriptor)(step.descriptor.generator)) {
516
+ jsDescriptor = step.descriptor.generator.javaScript;
520
517
  }
521
- });
518
+ }
519
+ if ((jsDescriptor && (0, SnippetsDescriptor_1.isReusableSnippetDescriptor)(jsDescriptor)) ||
520
+ (0, SnippetsDescriptor_1.isLegacyReusableSnippetDescriptor)(jsDescriptor)) {
521
+ return jsDescriptor.snippetInvariantId;
522
+ }
523
+ return undefined;
524
+ }
525
+ function isDefined(value) {
526
+ return value !== undefined;
527
+ }
528
+ function uniqueArray(array) {
529
+ return Array.from(new Set(array));
530
+ }
531
+ function getSnippetIdsFromJsonFlow(flow) {
532
+ const steps = interpretStepsFromObjects(flow.json_steps.steps, true);
533
+ const snippetIds = steps
534
+ .map(getSnippetIdFromStep)
535
+ .filter(isDefined);
522
536
  return snippetIds;
523
537
  }
524
538
  exports.getSnippetIdsFromJsonFlow = getSnippetIdsFromJsonFlow;
539
+ function getSnippetIdsFromMablscriptFlow(flow) {
540
+ const steps = parseMablScriptIntoSteps(flow);
541
+ const snippetIds = steps
542
+ .map(getSnippetIdFromStep)
543
+ .filter(isDefined);
544
+ return snippetIds;
545
+ }
546
+ exports.getSnippetIdsFromMablscriptFlow = getSnippetIdsFromMablscriptFlow;
547
+ function getSnippetIdsFromFlows(flows, isMobileTest) {
548
+ return uniqueArray(flows.flatMap((flow) => isMobileTest
549
+ ? getSnippetIdsFromJsonFlow(flow)
550
+ : getSnippetIdsFromMablscriptFlow(flow)));
551
+ }
552
+ exports.getSnippetIdsFromFlows = getSnippetIdsFromFlows;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OpenAppStep = void 0;
4
+ const MablStepV2_1 = require("../../MablStepV2");
5
+ class OpenAppStep extends MablStepV2_1.MablStepV2 {
6
+ constructor(descriptor) {
7
+ super(OpenAppStep.stepName, descriptor, 'OpenApp');
8
+ }
9
+ stepDescription() {
10
+ if (this.descriptor.packageName) {
11
+ return `Open app - ${this.descriptor.packageName}`;
12
+ }
13
+ return `Open primary app under test`;
14
+ }
15
+ static fromYaml(_stepName, stepDescriptor) {
16
+ return new OpenAppStep(stepDescriptor);
17
+ }
18
+ }
19
+ exports.OpenAppStep = OpenAppStep;
20
+ OpenAppStep.stepName = 'OpenApp';
21
+ OpenAppStep.yamlMablScriptNames = [OpenAppStep.stepName];
22
+ OpenAppStep.stepVersion = 2;
@@ -4,6 +4,7 @@ exports.AbstractAssertionsAndVariablesStep = void 0;
4
4
  const domUtil_1 = require("../../domUtil");
5
5
  const MablAction_1 = require("../MablAction");
6
6
  const MablStep_1 = require("../MablStep");
7
+ const AssertStep_1 = require("./AssertStep");
7
8
  class AbstractAssertionsAndVariablesStep extends MablStep_1.MablStep {
8
9
  constructor(name, args, actions, mablScriptName, stepName, descriptor) {
9
10
  super(name, args, actions, mablScriptName);
@@ -31,5 +32,14 @@ class AbstractAssertionsAndVariablesStep extends MablStep_1.MablStep {
31
32
  var _a, _b;
32
33
  return (_b = (_a = this.descriptor.variables) === null || _a === void 0 ? void 0 : _a.map((variable) => variable.name)) !== null && _b !== void 0 ? _b : [];
33
34
  }
35
+ canContinueOnFailure() {
36
+ var _a, _b;
37
+ return (((_b = (_a = this.descriptor.options) === null || _a === void 0 ? void 0 : _a.onFailure) !== null && _b !== void 0 ? _b : AssertStep_1.OnFailure.FailImmediately) !==
38
+ AssertStep_1.OnFailure.FailImmediately);
39
+ }
40
+ canFailAtEnd() {
41
+ var _a;
42
+ return ((_a = this.descriptor.options) === null || _a === void 0 ? void 0 : _a.onFailure) === AssertStep_1.OnFailure.FailTestAtEnd;
43
+ }
34
44
  }
35
45
  exports.AbstractAssertionsAndVariablesStep = AbstractAssertionsAndVariablesStep;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DatabaseQueryVariableSource = exports.DatabaseQueryStep = void 0;
3
+ exports.isDatabaseQueryStep = exports.DatabaseQueryVariableSource = exports.DatabaseQueryStep = void 0;
4
4
  const AbstractAssertionsAndVariablesStep_1 = require("./AbstractAssertionsAndVariablesStep");
5
5
  class DatabaseQueryStep extends AbstractAssertionsAndVariablesStep_1.AbstractAssertionsAndVariablesStep {
6
6
  constructor(name, args, actions) {
@@ -22,3 +22,7 @@ var DatabaseQueryVariableSource;
22
22
  DatabaseQueryVariableSource["Metadata"] = "metadata";
23
23
  DatabaseQueryVariableSource["Result"] = "result";
24
24
  })(DatabaseQueryVariableSource || (exports.DatabaseQueryVariableSource = DatabaseQueryVariableSource = {}));
25
+ function isDatabaseQueryStep(step) {
26
+ return step.getStepName() === DatabaseQueryStep.stepName;
27
+ }
28
+ exports.isDatabaseQueryStep = isDatabaseQueryStep;
@@ -7,7 +7,7 @@ const domUtil_1 = require("../../domUtil");
7
7
  const ActionsUtils_1 = require("./ActionsUtils");
8
8
  class EnterAuthCodeStep extends MablStep_1.MablStep {
9
9
  constructor(name, args, actions) {
10
- super(name, args, actions, 'enter_auth_code');
10
+ super(name, args, actions, EnterAuthCodeStep.stepName);
11
11
  this.findAction = ActionsUtils_1.ActionsUtils.validateSingleFindAction(this.actions);
12
12
  }
13
13
  getStepName() {
@@ -42,7 +42,7 @@ class EnterAuthCodeStep extends MablStep_1.MablStep {
42
42
  return step;
43
43
  }
44
44
  static fromYaml(_stepName, stepArgs) {
45
- const step = new EnterAuthCodeStep('enter_auth_code', [], [FindAction_1.FindAction.findActionFromStepArgs(stepArgs)]);
45
+ const step = new EnterAuthCodeStep(EnterAuthCodeStep.stepName, [], [FindAction_1.FindAction.findActionFromStepArgs(stepArgs)]);
46
46
  step.setStepId(stepArgs.id);
47
47
  return step;
48
48
  }
@@ -54,5 +54,6 @@ class EnterAuthCodeStep extends MablStep_1.MablStep {
54
54
  }
55
55
  }
56
56
  exports.EnterAuthCodeStep = EnterAuthCodeStep;
57
- EnterAuthCodeStep.mablScriptStepNames = ['enter_auth_code'];
57
+ EnterAuthCodeStep.stepName = 'enter_auth_code';
58
+ EnterAuthCodeStep.mablScriptStepNames = [EnterAuthCodeStep.stepName];
58
59
  EnterAuthCodeStep.yamlMablScriptNames = ['EnterAuthCode'];
@@ -5,7 +5,7 @@ const FindAction_1 = require("../actions/FindAction");
5
5
  const MablStep_1 = require("../MablStep");
6
6
  class OpenEmailStep extends MablStep_1.MablStep {
7
7
  constructor(name, args, actions) {
8
- super(name, args, actions, 'open_email');
8
+ super(name, args, actions, OpenEmailStep.stepName);
9
9
  this.tabUuid = this.getActionArgs()[0] || {};
10
10
  this.validate();
11
11
  this.findAction = this.actions[0];
@@ -29,7 +29,7 @@ class OpenEmailStep extends MablStep_1.MablStep {
29
29
  };
30
30
  }
31
31
  static fromYaml(_stepName, stepArgs) {
32
- const step = new OpenEmailStep('open_email', [stepArgs.tab], [FindAction_1.FindAction.findActionFromStepArgs(stepArgs)]);
32
+ const step = new OpenEmailStep(OpenEmailStep.stepName, [stepArgs.tab], [FindAction_1.FindAction.findActionFromStepArgs(stepArgs)]);
33
33
  step.setStepId(stepArgs.id);
34
34
  return step;
35
35
  }
@@ -41,5 +41,6 @@ class OpenEmailStep extends MablStep_1.MablStep {
41
41
  }
42
42
  }
43
43
  exports.OpenEmailStep = OpenEmailStep;
44
- OpenEmailStep.mablScriptStepNames = ['open_email'];
44
+ OpenEmailStep.stepName = 'open_email';
45
+ OpenEmailStep.mablScriptStepNames = [OpenEmailStep.stepName];
45
46
  OpenEmailStep.yamlMablScriptNames = ['OpenEmail'];
@@ -6,6 +6,7 @@ const MablStep_1 = require("../MablStep");
6
6
  const MablAction_1 = require("../MablAction");
7
7
  const domUtil_1 = require("../../domUtil");
8
8
  const ActionsUtils_1 = require("./ActionsUtils");
9
+ const ReleaseStepDescriptor_1 = require("../types/ReleaseStepDescriptor");
9
10
  class ReleaseStep extends MablStep_1.MablStep {
10
11
  constructor(name, args, actions) {
11
12
  var _a;
@@ -20,7 +21,7 @@ class ReleaseStep extends MablStep_1.MablStep {
20
21
  if (args.length !== 1) {
21
22
  throw new Error(`Unexpected number of arguments to ${this.getStepName()} step.`);
22
23
  }
23
- if (!isReleaseArgs(args[0])) {
24
+ if (!(0, ReleaseStepDescriptor_1.isReleaseArgs)(args[0])) {
24
25
  throw new Error(`Invalid argument passed to ${this.getStepName()} step.`);
25
26
  }
26
27
  return args[0];
@@ -37,9 +38,9 @@ class ReleaseStep extends MablStep_1.MablStep {
37
38
  case domUtil_1.FindType.FIND_ONE:
38
39
  return {
39
40
  find,
40
- isHtml5: this.releaseArgs.isHtml5,
41
41
  descriptorToActionMap: new Map().set(find, this.findAction),
42
42
  actionCode: this.actionCode,
43
+ releaseArgs: this.releaseArgs,
43
44
  };
44
45
  default:
45
46
  throw new Error(`Error generating step descriptor for ${this.getStepName()}: Unexpected find type ${find.findType}`);
@@ -73,6 +74,3 @@ class ReleaseStep extends MablStep_1.MablStep {
73
74
  exports.ReleaseStep = ReleaseStep;
74
75
  ReleaseStep.mablScriptStepNames = ['release'];
75
76
  ReleaseStep.yamlMablScriptNames = ['Release'];
76
- function isReleaseArgs(value) {
77
- return value.isHtml5 !== undefined;
78
- }
@@ -1,2 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isReleaseArgs = void 0;
4
+ function isReleaseArgs(value) {
5
+ return (value === null || value === void 0 ? void 0 : value.isHtml5) !== undefined;
6
+ }
7
+ exports.isReleaseArgs = isReleaseArgs;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mablhq/mabl-cli",
3
- "version": "2.31.2",
3
+ "version": "2.31.33",
4
4
  "license": "SEE LICENSE IN LICENSE.txt",
5
5
  "description": "The official mabl command line interface tool",
6
6
  "main": "index.js",
@@ -23,6 +23,8 @@
23
23
  "@aws-crypto/crc32c": "5.1.0",
24
24
  "@google-cloud/storage": "7.9.0",
25
25
  "@mablhq/newman-reporter-mabl-console": "0.1.0",
26
+ "@plist/common": "1.1.0",
27
+ "@plist/parse": "1.1.0",
26
28
  "@types/adm-zip": "0.5.5",
27
29
  "@types/estree": "1.0.5",
28
30
  "@types/lodash": "4.14.202",
@@ -36,7 +38,6 @@
36
38
  "axe-core": "4.8.3",
37
39
  "axios": "0.27.2",
38
40
  "axios-cookiejar-support": "1.0.1",
39
- "bplist-parser": "0.3.2",
40
41
  "cachedir": "2.4.0",
41
42
  "cd": "0.3.3",
42
43
  "chalk": "2.4.2",
@@ -46,7 +47,6 @@
46
47
  "conf": "10.2.0",
47
48
  "csv-parser": "3.0.0",
48
49
  "csv-stringify": "6.2.3",
49
- "decompress-zip": "0.2.2",
50
50
  "encodeurl": "1.0.2",
51
51
  "env-paths": "2.2.0",
52
52
  "escodegen": "2.0.0",
@@ -76,8 +76,8 @@
76
76
  "newman": "6.0.0",
77
77
  "open": "6.4.0",
78
78
  "ora": "4.0.4",
79
- "playwright": "1.43.0",
80
- "playwright-core": "1.43.0",
79
+ "playwright": "1.44.0",
80
+ "playwright-core": "1.44.0",
81
81
  "pluralize": "8.0.0",
82
82
  "pngjs": "6.0.0",
83
83
  "portfinder": "1.0.28",