@wdio/browserstack-service 9.23.0 → 9.23.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/build/Percy/PercySDK.d.ts.map +1 -1
- package/build/accessibility-handler.d.ts.map +1 -1
- package/build/cleanup.js +419 -19
- package/build/cli/grpcClient.d.ts +4 -0
- package/build/cli/grpcClient.d.ts.map +1 -1
- package/build/cli/index.d.ts.map +1 -1
- package/build/cli/modules/accessibilityModule.d.ts.map +1 -1
- package/build/constants.d.ts +2 -0
- package/build/constants.d.ts.map +1 -1
- package/build/index.js +9130 -7433
- package/build/insights-handler.d.ts.map +1 -1
- package/build/launcher.d.ts.map +1 -1
- package/build/service.d.ts.map +1 -1
- package/build/testorchestration/apply-orchestration.d.ts +7 -0
- package/build/testorchestration/apply-orchestration.d.ts.map +1 -0
- package/build/testorchestration/helpers.d.ts +53 -0
- package/build/testorchestration/helpers.d.ts.map +1 -0
- package/build/testorchestration/request-utils.d.ts +23 -0
- package/build/testorchestration/request-utils.d.ts.map +1 -0
- package/build/testorchestration/test-ordering-server.d.ts +34 -0
- package/build/testorchestration/test-ordering-server.d.ts.map +1 -0
- package/build/testorchestration/testorcherstrationhandler.d.ts +56 -0
- package/build/testorchestration/testorcherstrationhandler.d.ts.map +1 -0
- package/build/testorchestration/testorcherstrationutils.d.ts +101 -0
- package/build/testorchestration/testorcherstrationutils.d.ts.map +1 -0
- package/build/types.d.ts +13 -0
- package/build/types.d.ts.map +1 -1
- package/build/util.d.ts +5 -0
- package/build/util.d.ts.map +1 -1
- package/package.json +7 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PercySDK.d.ts","sourceRoot":"","sources":["../../src/Percy/PercySDK.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PercySDK.d.ts","sourceRoot":"","sources":["../../src/Percy/PercySDK.ts"],"names":[],"mappings":"AA4CA,eAAO,MAAM,QAAQ,YAnBW,OAAO,EAAE,SAmBF,CAAA;AAyCvC,eAAO,MAAM,UAAU,YARiB,OAAO,EAAE,kBAQN,CAAA;AAW3C,eAAO,MAAM,aAAa,YARiB,OAAO,EAAE,kBAQH,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessibility-handler.d.ts","sourceRoot":"","sources":["../src/accessibility-handler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAEpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAEzE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAajE,UAAU,oBAAoB;IAC1B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACzB;AAsDD,cAAM,qBAAqB;IAiBnB,OAAO,CAAC,QAAQ;IAGhB,OAAO,CAAC,aAAa;IAErB,OAAO,CAAC,UAAU,CAAC;IArBvB,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,KAAK,CAA6C;IAC1D,OAAO,CAAC,UAAU,CAAC,CAAQ;IAC3B,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAA0C;IAC1D,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,qBAAqB,CAAC,CAAsB;IACpD,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,aAAa,CAAmB;IACxC,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAyB;IAC3D,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,QAAQ,CAAyB;gBAG7B,QAAQ,EAAE,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,kBAAkB,EACtE,aAAa,EAAE,YAAY,CAAC,8BAA8B,EAC1D,QAAQ,
|
|
1
|
+
{"version":3,"file":"accessibility-handler.d.ts","sourceRoot":"","sources":["../src/accessibility-handler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAEpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAEzE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAajE,UAAU,oBAAoB;IAC1B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACzB;AAsDD,cAAM,qBAAqB;IAiBnB,OAAO,CAAC,QAAQ;IAGhB,OAAO,CAAC,aAAa;IAErB,OAAO,CAAC,UAAU,CAAC;IArBvB,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,KAAK,CAA6C;IAC1D,OAAO,CAAC,UAAU,CAAC,CAAQ;IAC3B,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAA0C;IAC1D,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,qBAAqB,CAAC,CAAsB;IACpD,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,aAAa,CAAmB;IACxC,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAyB;IAC3D,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,QAAQ,CAAyB;gBAG7B,QAAQ,EAAE,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,kBAAkB,EACtE,aAAa,EAAE,YAAY,CAAC,8BAA8B,EAC1D,QAAQ,EAAG,kBAAkB,GAAG,mBAAmB,EAC3C,aAAa,EAAE,OAAO,EAC9B,OAAO,EAAG,OAAO,CAAC,UAAU,EACpB,UAAU,CAAC,EAAE,MAAM,YAAA,EAC3B,wBAAwB,CAAC,EAAE,OAAO,GAAG,MAAM,EAC3C,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,EAC9B,kBAAkB,CAAC,EAAE,oBAAoB;IAuB7C,YAAY,CAAC,QAAQ,EAAE,MAAM;IAI7B,mBAAmB,CAAC,IAAI,EAAE,YAAY,CAAC,8BAA8B,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;IA6BvG,MAAM,CAAE,SAAS,EAAE,MAAM;IA6GzB,UAAU,CAAE,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI;IAuCjE,SAAS,CAAE,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI;IAoCtE;;MAEE;IACI,cAAc,CAAE,KAAK,EAAE,sBAAsB;IAqC7C,aAAa,CAAE,KAAK,EAAE,sBAAsB;YAsCpC,cAAc;YAed,iBAAiB;IAuB/B,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,kBAAkB;YAOZ,iBAAiB;IAkB/B,OAAO,CAAC,MAAM,CAAC,wBAAwB;YAWzB,cAAc;CAW/B;AAGD,QAAA,MAAM,oBAAoB,EAAE,OAAO,qBAAoE,CAAA;AACvG,KAAK,oBAAoB,GAAG,qBAAqB,CAAA;AAEjD,eAAe,oBAAoB,CAAA"}
|
package/build/cleanup.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// src/util.ts
|
|
2
2
|
import { hostname as hostname2, platform as platform2, type as type2, version as version2, arch as arch2, tmpdir } from "node:os";
|
|
3
3
|
import crypto from "node:crypto";
|
|
4
|
-
import
|
|
4
|
+
import fs5 from "node:fs";
|
|
5
5
|
import zlib from "node:zlib";
|
|
6
6
|
import { format, promisify } from "node:util";
|
|
7
7
|
import path4 from "node:path";
|
|
@@ -71,7 +71,7 @@ import logger from "@wdio/logger";
|
|
|
71
71
|
// package.json
|
|
72
72
|
var package_default = {
|
|
73
73
|
name: "@wdio/browserstack-service",
|
|
74
|
-
version: "9.
|
|
74
|
+
version: "9.23.1",
|
|
75
75
|
description: "WebdriverIO service for better Browserstack integration",
|
|
76
76
|
author: "Adam Bjerstedt <abjerstedt@gmail.com>",
|
|
77
77
|
homepage: "https://github.com/webdriverio/webdriverio/tree/main/packages/wdio-browserstack-service",
|
|
@@ -108,7 +108,7 @@ var package_default = {
|
|
|
108
108
|
typeScriptVersion: "3.8.3",
|
|
109
109
|
dependencies: {
|
|
110
110
|
"@browserstack/ai-sdk-node": "1.5.17",
|
|
111
|
-
"@browserstack/wdio-browserstack-service": "^2.0.
|
|
111
|
+
"@browserstack/wdio-browserstack-service": "^2.0.2",
|
|
112
112
|
"@percy/appium-app": "^2.0.9",
|
|
113
113
|
"@percy/selenium-webdriver": "^2.2.2",
|
|
114
114
|
"@types/gitconfiglocal": "^2.0.1",
|
|
@@ -121,6 +121,7 @@ var package_default = {
|
|
|
121
121
|
"formdata-node": "5.0.1",
|
|
122
122
|
"git-repo-info": "^2.1.1",
|
|
123
123
|
gitconfiglocal: "^2.1.0",
|
|
124
|
+
glob: "^11.0.0",
|
|
124
125
|
tar: "^6.1.15",
|
|
125
126
|
undici: "^6.21.3",
|
|
126
127
|
uuid: "^11.1.0",
|
|
@@ -149,6 +150,8 @@ var APP_ALLY_ISSUES_ENDPOINT = "api/v1/issues";
|
|
|
149
150
|
var APP_ALLY_ISSUES_SUMMARY_ENDPOINT = "api/v1/issues-summary";
|
|
150
151
|
var BSTACK_SERVICE_VERSION = bstackServiceVersion;
|
|
151
152
|
var LOGS_FILE = "logs/bstack-wdio-service.log";
|
|
153
|
+
var SMART_SELECTION_MODE_RELEVANT_FIRST = "relevantFirst";
|
|
154
|
+
var SMART_SELECTION_MODE_RELEVANT_ONLY = "relevantOnly";
|
|
152
155
|
var BROWSERSTACK_TESTHUB_JWT = "BROWSERSTACK_TESTHUB_JWT";
|
|
153
156
|
var TESTOPS_SCREENSHOT_ENV = "BS_TESTOPS_ALLOW_SCREENSHOTS";
|
|
154
157
|
var BROWSERSTACK_TESTHUB_UUID = "BROWSERSTACK_TESTHUB_UUID";
|
|
@@ -676,6 +679,384 @@ var getProductMapForBuildStartCall = (config, accessibilityAutomation) => {
|
|
|
676
679
|
};
|
|
677
680
|
};
|
|
678
681
|
|
|
682
|
+
// src/testorchestration/testorcherstrationutils.ts
|
|
683
|
+
import fs3 from "node:fs";
|
|
684
|
+
var RUN_SMART_SELECTION = "runSmartSelection";
|
|
685
|
+
var ALLOWED_ORCHESTRATION_KEYS = [
|
|
686
|
+
RUN_SMART_SELECTION
|
|
687
|
+
];
|
|
688
|
+
var isPlainObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
689
|
+
var asString = (value) => {
|
|
690
|
+
if (typeof value === "string") {
|
|
691
|
+
return value;
|
|
692
|
+
}
|
|
693
|
+
if (typeof value === "number") {
|
|
694
|
+
return value.toString();
|
|
695
|
+
}
|
|
696
|
+
return void 0;
|
|
697
|
+
};
|
|
698
|
+
var TestOrdering = class {
|
|
699
|
+
enabled;
|
|
700
|
+
name;
|
|
701
|
+
constructor() {
|
|
702
|
+
this.enabled = false;
|
|
703
|
+
this.name = null;
|
|
704
|
+
}
|
|
705
|
+
enable(name) {
|
|
706
|
+
this.enabled = true;
|
|
707
|
+
this.name = name;
|
|
708
|
+
}
|
|
709
|
+
disable() {
|
|
710
|
+
this.enabled = false;
|
|
711
|
+
this.name = null;
|
|
712
|
+
}
|
|
713
|
+
getEnabled() {
|
|
714
|
+
return this.enabled;
|
|
715
|
+
}
|
|
716
|
+
getName() {
|
|
717
|
+
return this.name;
|
|
718
|
+
}
|
|
719
|
+
};
|
|
720
|
+
var OrchestrationUtils = class _OrchestrationUtils {
|
|
721
|
+
static _instance = null;
|
|
722
|
+
runSmartSelection;
|
|
723
|
+
smartSelectionMode;
|
|
724
|
+
testOrdering;
|
|
725
|
+
smartSelectionSource;
|
|
726
|
+
projectName;
|
|
727
|
+
buildName;
|
|
728
|
+
buildIdentifier;
|
|
729
|
+
/**
|
|
730
|
+
* @param config Configuration object
|
|
731
|
+
*/
|
|
732
|
+
constructor(config) {
|
|
733
|
+
this.runSmartSelection = false;
|
|
734
|
+
this.smartSelectionMode = SMART_SELECTION_MODE_RELEVANT_FIRST;
|
|
735
|
+
this.testOrdering = new TestOrdering();
|
|
736
|
+
this.smartSelectionSource = null;
|
|
737
|
+
const configRecord = isPlainObject(config) ? config : {};
|
|
738
|
+
let testOrchOptions = isPlainObject(configRecord.testOrchestrationOptions) ? configRecord.testOrchestrationOptions : {};
|
|
739
|
+
const services = Array.isArray(configRecord.services) ? configRecord.services : void 0;
|
|
740
|
+
if (Object.keys(testOrchOptions).length === 0 && Array.isArray(services)) {
|
|
741
|
+
for (const service of services) {
|
|
742
|
+
if (Array.isArray(service) && service[0] === "browserstack" && isPlainObject(service[1]) && isPlainObject(service[1].testOrchestrationOptions)) {
|
|
743
|
+
testOrchOptions = service[1].testOrchestrationOptions;
|
|
744
|
+
BStackLogger.debug("[constructor] Found testOrchestrationOptions in browserstack service config");
|
|
745
|
+
break;
|
|
746
|
+
}
|
|
747
|
+
}
|
|
748
|
+
}
|
|
749
|
+
const runSmartSelectionOpts = isPlainObject(testOrchOptions[RUN_SMART_SELECTION]) ? testOrchOptions[RUN_SMART_SELECTION] : {};
|
|
750
|
+
this._setRunSmartSelection(
|
|
751
|
+
runSmartSelectionOpts.enabled ?? false,
|
|
752
|
+
runSmartSelectionOpts.mode || SMART_SELECTION_MODE_RELEVANT_FIRST,
|
|
753
|
+
runSmartSelectionOpts.source ?? null
|
|
754
|
+
);
|
|
755
|
+
this._extractBuildDetails(config);
|
|
756
|
+
}
|
|
757
|
+
/**
|
|
758
|
+
* Extract build details from capabilities
|
|
759
|
+
*/
|
|
760
|
+
_extractBuildDetails(config) {
|
|
761
|
+
try {
|
|
762
|
+
const configRecord = isPlainObject(config) ? config : {};
|
|
763
|
+
const capabilities = configRecord.capabilities;
|
|
764
|
+
if (Array.isArray(capabilities)) {
|
|
765
|
+
capabilities.forEach((capability) => this._parseCapability(capability));
|
|
766
|
+
} else if (isPlainObject(capabilities)) {
|
|
767
|
+
Object.values(capabilities).forEach((caps) => {
|
|
768
|
+
if (isPlainObject(caps) && "capabilities" in caps && isPlainObject(caps.capabilities)) {
|
|
769
|
+
this._parseCapability(caps.capabilities);
|
|
770
|
+
}
|
|
771
|
+
});
|
|
772
|
+
}
|
|
773
|
+
BStackLogger.debug(`[_extractBuildDetails] Extracted - projectName: ${this.projectName}, buildName: ${this.buildName}, buildIdentifier: ${this.buildIdentifier}`);
|
|
774
|
+
} catch (error) {
|
|
775
|
+
BStackLogger.error(`[_extractBuildDetails] ${error}`);
|
|
776
|
+
}
|
|
777
|
+
}
|
|
778
|
+
_parseCapability(capability) {
|
|
779
|
+
if (!isPlainObject(capability)) {
|
|
780
|
+
return;
|
|
781
|
+
}
|
|
782
|
+
const bstackOptionsRaw = capability["bstack:options"];
|
|
783
|
+
if (isPlainObject(bstackOptionsRaw)) {
|
|
784
|
+
const buildName = asString(bstackOptionsRaw.buildName);
|
|
785
|
+
const projectName = asString(bstackOptionsRaw.projectName);
|
|
786
|
+
const buildIdentifier = asString(bstackOptionsRaw.buildIdentifier);
|
|
787
|
+
if (buildName) {
|
|
788
|
+
this.buildName = buildName;
|
|
789
|
+
}
|
|
790
|
+
if (projectName) {
|
|
791
|
+
this.projectName = projectName;
|
|
792
|
+
}
|
|
793
|
+
if (buildIdentifier) {
|
|
794
|
+
this.buildIdentifier = buildIdentifier;
|
|
795
|
+
}
|
|
796
|
+
} else {
|
|
797
|
+
const legacyBuildIdentifier = asString(capability["browserstack.buildIdentifier"]);
|
|
798
|
+
const legacyBuildName = asString(capability.build);
|
|
799
|
+
if (legacyBuildIdentifier) {
|
|
800
|
+
this.buildIdentifier = legacyBuildIdentifier;
|
|
801
|
+
}
|
|
802
|
+
if (legacyBuildName) {
|
|
803
|
+
this.buildName = legacyBuildName;
|
|
804
|
+
}
|
|
805
|
+
}
|
|
806
|
+
}
|
|
807
|
+
/**
|
|
808
|
+
* Get or create an instance of OrchestrationUtils
|
|
809
|
+
*/
|
|
810
|
+
static getInstance(config) {
|
|
811
|
+
if (!_OrchestrationUtils._instance && config) {
|
|
812
|
+
_OrchestrationUtils._instance = new _OrchestrationUtils(config);
|
|
813
|
+
}
|
|
814
|
+
return _OrchestrationUtils._instance;
|
|
815
|
+
}
|
|
816
|
+
/**
|
|
817
|
+
* Get orchestration data from config
|
|
818
|
+
*/
|
|
819
|
+
static getOrchestrationData(config) {
|
|
820
|
+
const configRecord = isPlainObject(config) ? config : {};
|
|
821
|
+
const orchestrationData = isPlainObject(configRecord.testOrchestrationOptions) ? configRecord.testOrchestrationOptions : {};
|
|
822
|
+
const result = {};
|
|
823
|
+
Object.entries(orchestrationData).forEach(([key, value]) => {
|
|
824
|
+
if (ALLOWED_ORCHESTRATION_KEYS.includes(key)) {
|
|
825
|
+
result[key] = value;
|
|
826
|
+
}
|
|
827
|
+
});
|
|
828
|
+
return result;
|
|
829
|
+
}
|
|
830
|
+
/**
|
|
831
|
+
* Get run smart selection setting
|
|
832
|
+
*/
|
|
833
|
+
getRunSmartSelection() {
|
|
834
|
+
return this.runSmartSelection;
|
|
835
|
+
}
|
|
836
|
+
/**
|
|
837
|
+
* Get smart selection mode
|
|
838
|
+
*/
|
|
839
|
+
getSmartSelectionMode() {
|
|
840
|
+
return this.smartSelectionMode;
|
|
841
|
+
}
|
|
842
|
+
/**
|
|
843
|
+
* Get smart selection source
|
|
844
|
+
*/
|
|
845
|
+
getSmartSelectionSource() {
|
|
846
|
+
return this.smartSelectionSource;
|
|
847
|
+
}
|
|
848
|
+
/**
|
|
849
|
+
* Get project name
|
|
850
|
+
*/
|
|
851
|
+
getProjectName() {
|
|
852
|
+
return this.projectName;
|
|
853
|
+
}
|
|
854
|
+
/**
|
|
855
|
+
* Get build name
|
|
856
|
+
*/
|
|
857
|
+
getBuildName() {
|
|
858
|
+
return this.buildName;
|
|
859
|
+
}
|
|
860
|
+
/**
|
|
861
|
+
* Get build identifier
|
|
862
|
+
*/
|
|
863
|
+
getBuildIdentifier() {
|
|
864
|
+
return this.buildIdentifier;
|
|
865
|
+
}
|
|
866
|
+
/**
|
|
867
|
+
* Set build details
|
|
868
|
+
*/
|
|
869
|
+
setBuildDetails(projectName, buildName, buildIdentifier) {
|
|
870
|
+
this.projectName = projectName;
|
|
871
|
+
this.buildName = buildName;
|
|
872
|
+
this.buildIdentifier = buildIdentifier;
|
|
873
|
+
BStackLogger.debug(`[setBuildDetails] Set - projectName: ${this.projectName}, buildName: ${this.buildName}, buildIdentifier: ${this.buildIdentifier}`);
|
|
874
|
+
}
|
|
875
|
+
/**
|
|
876
|
+
* Set run smart selection
|
|
877
|
+
*/
|
|
878
|
+
_setRunSmartSelection(enabled, mode, source = null) {
|
|
879
|
+
try {
|
|
880
|
+
this.runSmartSelection = isValidEnabledValue(enabled);
|
|
881
|
+
this.smartSelectionMode = mode;
|
|
882
|
+
this.smartSelectionSource = [];
|
|
883
|
+
BStackLogger.debug(`Setting runSmartSelection: enabled=${this.runSmartSelection}, mode=${this.smartSelectionMode}`);
|
|
884
|
+
if (this.runSmartSelection) {
|
|
885
|
+
const validModes = [SMART_SELECTION_MODE_RELEVANT_FIRST, SMART_SELECTION_MODE_RELEVANT_ONLY];
|
|
886
|
+
if (!validModes.includes(this.smartSelectionMode)) {
|
|
887
|
+
BStackLogger.warn(`Invalid smart selection mode '${this.smartSelectionMode}' provided. Defaulting to '${SMART_SELECTION_MODE_RELEVANT_FIRST}'.`);
|
|
888
|
+
this.smartSelectionMode = SMART_SELECTION_MODE_RELEVANT_FIRST;
|
|
889
|
+
}
|
|
890
|
+
if (source === null) {
|
|
891
|
+
this.smartSelectionSource = null;
|
|
892
|
+
BStackLogger.debug("No source provided for smart selection; defaulting to null.");
|
|
893
|
+
} else if (Array.isArray(source)) {
|
|
894
|
+
this.smartSelectionSource = source;
|
|
895
|
+
BStackLogger.debug(`Smart selection source set to array: ${JSON.stringify(source)}`);
|
|
896
|
+
} else if (typeof source === "string" && source.endsWith(".json")) {
|
|
897
|
+
this.smartSelectionSource = this._loadSourceFromFile(source) || [];
|
|
898
|
+
BStackLogger.debug(`Smart selection source loaded from file: ${source}`);
|
|
899
|
+
}
|
|
900
|
+
this._setTestOrdering();
|
|
901
|
+
}
|
|
902
|
+
} catch (e) {
|
|
903
|
+
BStackLogger.error(`[_setRunSmartSelection] ${e}`);
|
|
904
|
+
}
|
|
905
|
+
}
|
|
906
|
+
/**
|
|
907
|
+
* Parse JSON source configuration file and format it for smart selection.
|
|
908
|
+
*
|
|
909
|
+
* @param filePath - Path to the JSON configuration file
|
|
910
|
+
* @returns Formatted list of repository configurations
|
|
911
|
+
*/
|
|
912
|
+
_loadSourceFromFile(filePath) {
|
|
913
|
+
if (!fs3.existsSync(filePath)) {
|
|
914
|
+
BStackLogger.error(`Source file '${filePath}' does not exist.`);
|
|
915
|
+
return [];
|
|
916
|
+
}
|
|
917
|
+
let data = null;
|
|
918
|
+
try {
|
|
919
|
+
const fileContent = fs3.readFileSync(filePath, "utf8");
|
|
920
|
+
data = JSON.parse(fileContent);
|
|
921
|
+
} catch (error) {
|
|
922
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
923
|
+
BStackLogger.error(`Error parsing JSON from source file '${filePath}': ${message}`);
|
|
924
|
+
return [];
|
|
925
|
+
}
|
|
926
|
+
let featureBranchEnvMap = null;
|
|
927
|
+
const loadFeatureBranchMaps = () => {
|
|
928
|
+
const envVar = process.env.BROWSERSTACK_ORCHESTRATION_SMART_SELECTION_FEATURE_BRANCHES || "";
|
|
929
|
+
let envMap = {};
|
|
930
|
+
try {
|
|
931
|
+
envMap = envVar.startsWith("{") && envVar.endsWith("}") ? JSON.parse(envVar) : envVar.split(",").filter((item) => item.includes(":")).reduce((acc, item) => {
|
|
932
|
+
const [key, value] = item.split(":");
|
|
933
|
+
if (key && value) {
|
|
934
|
+
acc[key.trim()] = value.trim();
|
|
935
|
+
}
|
|
936
|
+
return acc;
|
|
937
|
+
}, {});
|
|
938
|
+
} catch (error) {
|
|
939
|
+
BStackLogger.error(`Error parsing feature branch mappings: ${error}`);
|
|
940
|
+
}
|
|
941
|
+
BStackLogger.debug(`Feature branch mappings from env: ${JSON.stringify(envMap)}`);
|
|
942
|
+
return envMap;
|
|
943
|
+
};
|
|
944
|
+
featureBranchEnvMap = loadFeatureBranchMaps();
|
|
945
|
+
const getFeatureBranch = (name, repoInfo) => {
|
|
946
|
+
if (featureBranchEnvMap && featureBranchEnvMap[name]) {
|
|
947
|
+
return featureBranchEnvMap[name];
|
|
948
|
+
}
|
|
949
|
+
if (repoInfo.featureBranch) {
|
|
950
|
+
return repoInfo.featureBranch;
|
|
951
|
+
}
|
|
952
|
+
return null;
|
|
953
|
+
};
|
|
954
|
+
if (typeof data === "object" && data !== null && !Array.isArray(data)) {
|
|
955
|
+
const formattedData = [];
|
|
956
|
+
const namePattern = /^[A-Z0-9_]+$/;
|
|
957
|
+
for (const [name, repoInfo] of Object.entries(data)) {
|
|
958
|
+
if (!isPlainObject(repoInfo)) {
|
|
959
|
+
continue;
|
|
960
|
+
}
|
|
961
|
+
const typedRepoInfo = repoInfo;
|
|
962
|
+
if (!typedRepoInfo.url || typeof typedRepoInfo.url !== "string") {
|
|
963
|
+
BStackLogger.warn(`Repository URL is missing or invalid for source '${name}': ${JSON.stringify(repoInfo)}`);
|
|
964
|
+
continue;
|
|
965
|
+
}
|
|
966
|
+
if (typedRepoInfo.baseBranch !== void 0 && typeof typedRepoInfo.baseBranch !== "string") {
|
|
967
|
+
BStackLogger.warn(`Base branch must be a string for source '${name}': ${JSON.stringify(repoInfo)}`);
|
|
968
|
+
continue;
|
|
969
|
+
}
|
|
970
|
+
if (typedRepoInfo.featureBranch !== void 0 && typeof typedRepoInfo.featureBranch !== "string") {
|
|
971
|
+
BStackLogger.warn(`Feature branch must be a string for source '${name}': ${JSON.stringify(repoInfo)}`);
|
|
972
|
+
continue;
|
|
973
|
+
}
|
|
974
|
+
if (!namePattern.test(name)) {
|
|
975
|
+
BStackLogger.warn(`Invalid source identifier format for '${name}': ${JSON.stringify(repoInfo)}`);
|
|
976
|
+
continue;
|
|
977
|
+
}
|
|
978
|
+
if (name.length > 30 || name.length < 1) {
|
|
979
|
+
BStackLogger.warn(`Source identifier '${name}' must have a length between 1 and 30 characters.`);
|
|
980
|
+
continue;
|
|
981
|
+
}
|
|
982
|
+
const featureBranch = getFeatureBranch(name, typedRepoInfo);
|
|
983
|
+
const filteredRepoInfo = {
|
|
984
|
+
name,
|
|
985
|
+
url: typedRepoInfo.url,
|
|
986
|
+
featureBranch: featureBranch ?? void 0
|
|
987
|
+
};
|
|
988
|
+
if (typedRepoInfo.baseBranch) {
|
|
989
|
+
filteredRepoInfo.baseBranch = typedRepoInfo.baseBranch;
|
|
990
|
+
}
|
|
991
|
+
if (!filteredRepoInfo.featureBranch || filteredRepoInfo.featureBranch === "") {
|
|
992
|
+
BStackLogger.warn(`Feature branch not specified for source '${name}': ${JSON.stringify(repoInfo)}`);
|
|
993
|
+
continue;
|
|
994
|
+
}
|
|
995
|
+
if (filteredRepoInfo.baseBranch && filteredRepoInfo.baseBranch === filteredRepoInfo.featureBranch) {
|
|
996
|
+
BStackLogger.warn(`Feature branch and base branch cannot be the same for source '${name}': ${JSON.stringify(repoInfo)}`);
|
|
997
|
+
continue;
|
|
998
|
+
}
|
|
999
|
+
formattedData.push(filteredRepoInfo);
|
|
1000
|
+
}
|
|
1001
|
+
return formattedData;
|
|
1002
|
+
}
|
|
1003
|
+
if (Array.isArray(data)) {
|
|
1004
|
+
return data.filter(isPlainObject);
|
|
1005
|
+
}
|
|
1006
|
+
return [];
|
|
1007
|
+
}
|
|
1008
|
+
/**
|
|
1009
|
+
* Set test ordering based on priorities
|
|
1010
|
+
*/
|
|
1011
|
+
_setTestOrdering() {
|
|
1012
|
+
if (this.runSmartSelection) {
|
|
1013
|
+
this.testOrdering.enable(RUN_SMART_SELECTION);
|
|
1014
|
+
} else {
|
|
1015
|
+
this.testOrdering.disable();
|
|
1016
|
+
}
|
|
1017
|
+
}
|
|
1018
|
+
/**
|
|
1019
|
+
* Check if test ordering is enabled
|
|
1020
|
+
*/
|
|
1021
|
+
testOrderingEnabled() {
|
|
1022
|
+
return this.testOrdering.getEnabled();
|
|
1023
|
+
}
|
|
1024
|
+
/**
|
|
1025
|
+
* Get test ordering name
|
|
1026
|
+
*/
|
|
1027
|
+
getTestOrderingName() {
|
|
1028
|
+
if (this.testOrdering.getEnabled()) {
|
|
1029
|
+
return this.testOrdering.getName();
|
|
1030
|
+
}
|
|
1031
|
+
return null;
|
|
1032
|
+
}
|
|
1033
|
+
/**
|
|
1034
|
+
* Get test orchestration metadata
|
|
1035
|
+
*/
|
|
1036
|
+
getTestOrchestrationMetadata() {
|
|
1037
|
+
const data = {
|
|
1038
|
+
"run_smart_selection": {
|
|
1039
|
+
"enabled": this.getRunSmartSelection(),
|
|
1040
|
+
"mode": this.getSmartSelectionMode(),
|
|
1041
|
+
"source": this.getSmartSelectionSource()
|
|
1042
|
+
}
|
|
1043
|
+
};
|
|
1044
|
+
return data;
|
|
1045
|
+
}
|
|
1046
|
+
/**
|
|
1047
|
+
* Get build start data
|
|
1048
|
+
*/
|
|
1049
|
+
getBuildStartData() {
|
|
1050
|
+
return {
|
|
1051
|
+
run_smart_selection: {
|
|
1052
|
+
enabled: this.getRunSmartSelection(),
|
|
1053
|
+
mode: this.getSmartSelectionMode()
|
|
1054
|
+
// Not sending "source" to TH builds
|
|
1055
|
+
}
|
|
1056
|
+
};
|
|
1057
|
+
}
|
|
1058
|
+
};
|
|
1059
|
+
|
|
679
1060
|
// src/crash-reporter.ts
|
|
680
1061
|
var CrashReporter = class {
|
|
681
1062
|
/* User test config for build run minus PII */
|
|
@@ -1113,7 +1494,7 @@ import { fileFromPath } from "formdata-node/file-from-path";
|
|
|
1113
1494
|
|
|
1114
1495
|
// src/scripts/accessibility-scripts.ts
|
|
1115
1496
|
import path3 from "node:path";
|
|
1116
|
-
import
|
|
1497
|
+
import fs4 from "node:fs";
|
|
1117
1498
|
import os from "node:os";
|
|
1118
1499
|
var AccessibilityScripts = class _AccessibilityScripts {
|
|
1119
1500
|
static instance = null;
|
|
@@ -1146,11 +1527,11 @@ var AccessibilityScripts = class _AccessibilityScripts {
|
|
|
1146
1527
|
];
|
|
1147
1528
|
for (const orderedPath of orderedPaths) {
|
|
1148
1529
|
try {
|
|
1149
|
-
if (
|
|
1150
|
-
|
|
1530
|
+
if (fs4.existsSync(orderedPath)) {
|
|
1531
|
+
fs4.accessSync(orderedPath);
|
|
1151
1532
|
return orderedPath;
|
|
1152
1533
|
}
|
|
1153
|
-
|
|
1534
|
+
fs4.mkdirSync(orderedPath, { recursive: true });
|
|
1154
1535
|
return orderedPath;
|
|
1155
1536
|
} catch (error) {
|
|
1156
1537
|
}
|
|
@@ -1159,8 +1540,8 @@ var AccessibilityScripts = class _AccessibilityScripts {
|
|
|
1159
1540
|
}
|
|
1160
1541
|
readFromExistingFile() {
|
|
1161
1542
|
try {
|
|
1162
|
-
if (
|
|
1163
|
-
const data =
|
|
1543
|
+
if (fs4.existsSync(this.commandsPath)) {
|
|
1544
|
+
const data = fs4.readFileSync(this.commandsPath, "utf8");
|
|
1164
1545
|
if (data) {
|
|
1165
1546
|
this.update(JSON.parse(data));
|
|
1166
1547
|
}
|
|
@@ -1183,10 +1564,10 @@ var AccessibilityScripts = class _AccessibilityScripts {
|
|
|
1183
1564
|
}
|
|
1184
1565
|
}
|
|
1185
1566
|
store() {
|
|
1186
|
-
if (!
|
|
1187
|
-
|
|
1567
|
+
if (!fs4.existsSync(this.browserstackFolderPath)) {
|
|
1568
|
+
fs4.mkdirSync(this.browserstackFolderPath);
|
|
1188
1569
|
}
|
|
1189
|
-
|
|
1570
|
+
fs4.writeFileSync(this.commandsPath, JSON.stringify({
|
|
1190
1571
|
commands: this.commandsToWrap,
|
|
1191
1572
|
scripts: {
|
|
1192
1573
|
scan: this.performScan,
|
|
@@ -1342,7 +1723,8 @@ var launchTestSession = PerformanceTester.measureWrapper(TESTHUB_EVENTS.START, o
|
|
|
1342
1723
|
}
|
|
1343
1724
|
},
|
|
1344
1725
|
product_map: getProductMapForBuildStartCall(bStackConfig, accessibilityAutomation),
|
|
1345
|
-
config: {}
|
|
1726
|
+
config: {},
|
|
1727
|
+
test_orchestration: OrchestrationUtils.getInstance(config)?.getBuildStartData() || {}
|
|
1346
1728
|
};
|
|
1347
1729
|
if (accessibilityAutomation && (isTurboScale(options) || data.browserstackAutomation === false)) {
|
|
1348
1730
|
data.accessibility.settings ??= {};
|
|
@@ -2072,20 +2454,38 @@ async function executeAccessibilityScript(browser, fnBody, arg) {
|
|
|
2072
2454
|
})(${arg ? JSON.stringify(arg) : ""})`
|
|
2073
2455
|
);
|
|
2074
2456
|
}
|
|
2457
|
+
function getBooleanValueFromString(value) {
|
|
2458
|
+
if (!value) {
|
|
2459
|
+
return false;
|
|
2460
|
+
}
|
|
2461
|
+
return ["true"].includes(value.trim().toLowerCase());
|
|
2462
|
+
}
|
|
2463
|
+
function isValidEnabledValue(value) {
|
|
2464
|
+
if (value === void 0 || value === null) {
|
|
2465
|
+
return false;
|
|
2466
|
+
}
|
|
2467
|
+
if (typeof value === "boolean") {
|
|
2468
|
+
return value === true;
|
|
2469
|
+
}
|
|
2470
|
+
if (typeof value === "string") {
|
|
2471
|
+
return getBooleanValueFromString(value);
|
|
2472
|
+
}
|
|
2473
|
+
return false;
|
|
2474
|
+
}
|
|
2075
2475
|
|
|
2076
2476
|
// src/cleanup.ts
|
|
2077
|
-
import
|
|
2477
|
+
import fs8 from "node:fs";
|
|
2078
2478
|
import util4 from "node:util";
|
|
2079
2479
|
|
|
2080
2480
|
// src/instrumentation/funnelInstrumentation.ts
|
|
2081
2481
|
import os2 from "node:os";
|
|
2082
2482
|
import util3, { format as format2 } from "node:util";
|
|
2083
2483
|
import path6 from "node:path";
|
|
2084
|
-
import
|
|
2484
|
+
import fs7 from "node:fs";
|
|
2085
2485
|
|
|
2086
2486
|
// src/data-store.ts
|
|
2087
2487
|
import path5 from "node:path";
|
|
2088
|
-
import
|
|
2488
|
+
import fs6 from "node:fs";
|
|
2089
2489
|
var workersDataDirPath = path5.join(process.cwd(), "logs", "worker_data");
|
|
2090
2490
|
|
|
2091
2491
|
// src/instrumentation/funnelInstrumentation.ts
|
|
@@ -2192,7 +2592,7 @@ Visit https://automation.browserstack.com/builds/${process.env[BROWSERSTACK_TEST
|
|
|
2192
2592
|
if (!filePath) {
|
|
2193
2593
|
return null;
|
|
2194
2594
|
}
|
|
2195
|
-
const content =
|
|
2595
|
+
const content = fs8.readFileSync(filePath, "utf8");
|
|
2196
2596
|
const data = JSON.parse(content);
|
|
2197
2597
|
this.removeFunnelDataFile(filePath);
|
|
2198
2598
|
return data;
|
|
@@ -2201,10 +2601,10 @@ Visit https://automation.browserstack.com/builds/${process.env[BROWSERSTACK_TEST
|
|
|
2201
2601
|
if (!filePath) {
|
|
2202
2602
|
return;
|
|
2203
2603
|
}
|
|
2204
|
-
|
|
2604
|
+
fs8.rmSync(filePath, { force: true });
|
|
2205
2605
|
}
|
|
2206
2606
|
};
|
|
2207
|
-
|
|
2607
|
+
void BStackCleanup.startCleanup();
|
|
2208
2608
|
export {
|
|
2209
2609
|
BStackCleanup as default
|
|
2210
2610
|
};
|
|
@@ -56,6 +56,10 @@ export declare class GrpcClient {
|
|
|
56
56
|
driverInitEvent(data: Omit<DriverInitRequest, 'binSessionId'>): Promise<DriverInitResponse>;
|
|
57
57
|
logCreatedEvent(data: Omit<LogCreatedEventRequest, 'binSessionId'>): Promise<LogCreatedEventResponse>;
|
|
58
58
|
fetchDriverExecuteParamsEvent(data: Omit<FetchDriverExecuteParamsEventRequest, 'binSessionId'>): Promise<FetchDriverExecuteParamsEventResponse>;
|
|
59
|
+
/**
|
|
60
|
+
* Request ordered test files from the BrowserStack CLI via gRPC
|
|
61
|
+
*/
|
|
62
|
+
testOrchestrationSession(testFiles: string[], orchestrationStrategy: string, orchestrationMetadata: string): Promise<string[] | null>;
|
|
59
63
|
/**
|
|
60
64
|
* Get the gRPC channel
|
|
61
65
|
* @returns {grpc.Channel} The gRPC channel
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grpcClient.d.ts","sourceRoot":"","sources":["../../src/cli/grpcClient.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,SAAS,EAET,WAAW,EAad,MAAM,yCAAyC,CAAA;AAGhD,OAAO,KAAK,EAGR,yBAAyB,EACzB,uBAAuB,EACvB,sBAAsB,EAEtB,iBAAiB,EACjB,oCAAoC,EACpC,yBAAyB,EACzB,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EAClB,qCAAqC,
|
|
1
|
+
{"version":3,"file":"grpcClient.d.ts","sourceRoot":"","sources":["../../src/cli/grpcClient.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,SAAS,EAET,WAAW,EAad,MAAM,yCAAyC,CAAA;AAGhD,OAAO,KAAK,EAGR,yBAAyB,EACzB,uBAAuB,EACvB,sBAAsB,EAEtB,iBAAiB,EACjB,oCAAoC,EACpC,yBAAyB,EACzB,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EAClB,qCAAqC,EAGxC,MAAM,yCAAyC,CAAA;AAIhD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C;;;;;GAKG;AACH,qBAAa,UAAU;;IAGnB,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAA;IACjC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAO;IAClC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAO;IAC/B,MAAM,sBAAe;;IAIrB;;;OAGG;IACH,MAAM,CAAC,WAAW;IAOlB;;;;OAIG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAcnC;;;OAGG;IACH,OAAO;IAkCD,eAAe,CAAC,UAAU,EAAE,MAAM;IAkDxC;;;OAGG;IACG,iBAAiB;IAgCvB;;;;OAIG;IACG,cAAc;IAoCd,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,uBAAuB,EAAE,cAAc,CAAC;IAoD1E;;;OAGG;IAEG,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,yBAAyB,EAAE,cAAc,CAAC;IA0C9E;;;OAGG;IAEG,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE,cAAc,CAAC;IA8B7D,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,sBAAsB,EAAE,cAAc,CAAC;IAoDlE,6BAA6B,CAAC,IAAI,EAAE,IAAI,CAAC,oCAAoC,EAAE,cAAc,CAAC;IA6BpG;;OAEG;IACG,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,qBAAqB,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;IA4C3I;;;OAGG;IACH,SAAS;IAIT;;;OAGG;IACH,UAAU;CAGb"}
|
package/build/cli/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAK7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAA;AACtF,OAAO,KAAK,UAAU,MAAM,yBAAyB,CAAA;AAErD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,sBAAsB,MAAM,wCAAwC,CAAA;AAC3E,OAAO,uBAAuB,MAAM,yCAAyC,CAAA;AAK7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAkB,MAAM,aAAa,CAAA;AAI1F;;;;;GAKG;AACH,qBAAa,eAAe;;IAExB,MAAM,CAAC,OAAO,UAAQ;IACtB,WAAW,EAAC,OAAO,CAAA;IACnB,MAAM,EAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAC,MAAM,CAAA;IACd,kBAAkB,EAAE,OAAO,CAAC,UAAU,GAAC,EAAE,CAAA;IACzC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAO;IACnC,eAAe,UAAQ;IACvB,gBAAgB,UAAQ;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAO;IAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAK;IACxC,aAAa,EAAE,sBAAsB,GAAC,IAAI,CAAO;IACjD,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAO;IAC/C,mBAAmB,EAAE,uBAAuB,GAAC,IAAI,CAAO;IACxD,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAO;IACtC,MAAM,sBAAe;IACrB,OAAO,EAAE,kBAAkB,GAAG,mBAAmB,GAAG,EAAE,CAAA;;IAWtD;;;OAGG;IACH,MAAM,CAAC,WAAW;IAOlB;;;;OAIG;IACG,SAAS,CAAC,OAAO,EAAE,kBAAkB,GAAG,mBAAmB,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,EAAE,UAAU,SAAG;IA2B7G;;;OAGG;IACG,SAAS;IAWf;;;OAGG;IACH,WAAW,CAAC,gBAAgB,EAAE,uBAAuB;IAgDrD;;;OAGG;IACG,gBAAgB;IAUtB;;;;OAIG;IACG,KAAK;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAK7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAA;AACtF,OAAO,KAAK,UAAU,MAAM,yBAAyB,CAAA;AAErD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,sBAAsB,MAAM,wCAAwC,CAAA;AAC3E,OAAO,uBAAuB,MAAM,yCAAyC,CAAA;AAK7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAkB,MAAM,aAAa,CAAA;AAI1F;;;;;GAKG;AACH,qBAAa,eAAe;;IAExB,MAAM,CAAC,OAAO,UAAQ;IACtB,WAAW,EAAC,OAAO,CAAA;IACnB,MAAM,EAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAC,MAAM,CAAA;IACd,kBAAkB,EAAE,OAAO,CAAC,UAAU,GAAC,EAAE,CAAA;IACzC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAO;IACnC,eAAe,UAAQ;IACvB,gBAAgB,UAAQ;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAO;IAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAK;IACxC,aAAa,EAAE,sBAAsB,GAAC,IAAI,CAAO;IACjD,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAO;IAC/C,mBAAmB,EAAE,uBAAuB,GAAC,IAAI,CAAO;IACxD,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAO;IACtC,MAAM,sBAAe;IACrB,OAAO,EAAE,kBAAkB,GAAG,mBAAmB,GAAG,EAAE,CAAA;;IAWtD;;;OAGG;IACH,MAAM,CAAC,WAAW;IAOlB;;;;OAIG;IACG,SAAS,CAAC,OAAO,EAAE,kBAAkB,GAAG,mBAAmB,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,EAAE,UAAU,SAAG;IA2B7G;;;OAGG;IACG,SAAS;IAWf;;;OAGG;IACH,WAAW,CAAC,gBAAgB,EAAE,uBAAuB;IAgDrD;;;OAGG;IACG,gBAAgB;IAUtB;;;;OAIG;IACG,KAAK;IAkEX;;;OAGG;IACG,IAAI;IA8CV;;;;OAIG;IACG,kBAAkB;IASxB;;;;OAIG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAM5C;;;;OAIG;IACG,UAAU,CAAC,YAAY,EAAE,MAAM;IAgBrC;;;OAGG;IACH,SAAS;IAWT;;;OAGG;IACH,qBAAqB;IAIrB;;;;OAIG;IACH,qBAAqB,CAAC,kBAAkB,EAAC,OAAO,CAAC,UAAU;IAI3D;;;OAGG;IACG,aAAa;IAOnB;;;OAGG;IACH,YAAY;IAIZ;;;OAGG;IACH,SAAS;IAIT;;;;MAIE;IACF,SAAS,CAAC,QAAQ,EAAE,uBAAuB;IAS3C;;;OAGG;IACH,kBAAkB;IAOlB;;;OAGG;IACH,wBAAwB;IAOxB;;;OAGG;IACH,gBAAgB;IAIhB;;;OAGG;IACH,sBAAsB;CAGzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessibilityModule.d.ts","sourceRoot":"","sources":["../../../src/cli/modules/accessibilityModule.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,iBAAiB,CAAA;AAExC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAS9C,OAAO,oBAAoB,MAAM,wCAAwC,CAAA;AAIzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AAM5E,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,UAAU;IAEvD,MAAM,sBAAe;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,EAAE,OAAO,oBAAoB,CAAA;IAC3C,aAAa,EAAE,OAAO,CAAQ;IAC9B,YAAY,EAAE,OAAO,CAAO;IAC5B,kBAAkB,EAAE,OAAO,CAAA;IAC3B,eAAe,EAAE,OAAO,CAAA;IACxB,mBAAmB,EAAE,aAAa,CAAA;IAClC,MAAM,CAAC,WAAW,SAAwB;IAC1C,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACtC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACxC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KAAE,CAAC,CAAK;gBAElD,mBAAmB,EAAE,aAAa,EAAE,eAAe,EAAE,OAAO;IAiBlE,eAAe;YAoGP,cAAc;IAkCtB,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IA+E1C,WAAW;IA6DjB,OAAO,CAAC,wBAAwB;IAWhC,OAAO,CAAC,aAAa;YAuBP,cAAc;YAkCd,iBAAiB;IA2BzB,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAsBrF,qBAAqB,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAqBrF,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAanD,cAAc,CAAC,OAAO,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"accessibilityModule.d.ts","sourceRoot":"","sources":["../../../src/cli/modules/accessibilityModule.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,iBAAiB,CAAA;AAExC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAS9C,OAAO,oBAAoB,MAAM,wCAAwC,CAAA;AAIzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AAM5E,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,UAAU;IAEvD,MAAM,sBAAe;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,EAAE,OAAO,oBAAoB,CAAA;IAC3C,aAAa,EAAE,OAAO,CAAQ;IAC9B,YAAY,EAAE,OAAO,CAAO;IAC5B,kBAAkB,EAAE,OAAO,CAAA;IAC3B,eAAe,EAAE,OAAO,CAAA;IACxB,mBAAmB,EAAE,aAAa,CAAA;IAClC,MAAM,CAAC,WAAW,SAAwB;IAC1C,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACtC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACxC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KAAE,CAAC,CAAK;gBAElD,mBAAmB,EAAE,aAAa,EAAE,eAAe,EAAE,OAAO;IAiBlE,eAAe;YAoGP,cAAc;IAkCtB,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IA+E1C,WAAW;IA6DjB,OAAO,CAAC,wBAAwB;IAWhC,OAAO,CAAC,aAAa;YAuBP,cAAc;YAkCd,iBAAiB;IA2BzB,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAsBrF,qBAAqB,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAqBrF,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAanD,cAAc,CAAC,OAAO,EAAE,MAAM;CAe9C"}
|
package/build/constants.d.ts
CHANGED
|
@@ -38,6 +38,8 @@ export declare const TCG_INFO: {
|
|
|
38
38
|
tcgRegion: string;
|
|
39
39
|
tcgUrl: string;
|
|
40
40
|
};
|
|
41
|
+
export declare const SMART_SELECTION_MODE_RELEVANT_FIRST = "relevantFirst";
|
|
42
|
+
export declare const SMART_SELECTION_MODE_RELEVANT_ONLY = "relevantOnly";
|
|
41
43
|
export declare const BROWSERSTACK_TESTHUB_JWT = "BROWSERSTACK_TESTHUB_JWT";
|
|
42
44
|
export declare const BSTACK_TCG_AUTH_RESULT = "BSTACK_TCG_AUTH_RESULT";
|
|
43
45
|
export declare const TESTOPS_SCREENSHOT_ENV = "BS_TESTOPS_ALLOW_SCREENSHOTS";
|
package/build/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAKpD,eAAO,MAAM,mBAAmB,qHAStB,CAAA;AAEV,eAAO,MAAM,mBAAmB,UAI/B,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,OAAO,CAAC,kBAAkB,CAKvD,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,OAAO,OAAoC,CAAA;AAEvE,eAAO,MAAM,aAAa,qDAAqD,CAAA;AAC/E,eAAO,MAAM,iBAAiB,wDAAwD,CAAA;AACtF,eAAO,MAAM,wBAAwB,kBAAkB,CAAA;AACvD,eAAO,MAAM,gCAAgC,0BAA0B,CAAA;AACvE,eAAO,MAAM,mBAAmB,iBAAiB,CAAA;AACjD,eAAO,MAAM,mBAAmB,iBAAiB,CAAA;AACjD,eAAO,MAAM,wBAAwB,uBAAuB,CAAA;AAC5D,eAAO,MAAM,eAAe,OAAO,CAAA;AACnC,eAAO,MAAM,mBAAmB,OAAO,CAAA;AACvC,eAAO,MAAM,iBAAiB,UAAgH,CAAA;AAC9I,eAAO,MAAM,wCAAwC,OAAO,CAAA;AAC5D,eAAO,MAAM,yCAAyC,MAAM,CAAA;AAC5D,eAAO,MAAM,sBAAsB,QAAuB,CAAA;AAE1D,eAAO,MAAM,wBAAwB,UAA6D,CAAA;AAElG,eAAO,MAAM,SAAS,iCAAiC,CAAA;AACvD,eAAO,MAAM,mBAAmB,0BAA0B,CAAA;AAC1D,eAAO,MAAM,mBAAmB,kDAAkD,CAAA;AAClF,eAAO,MAAM,oBAAoB,uBAAuB,CAAA;AAExD,eAAO,MAAM,eAAe,mBAAmB,CAAA;AAE/C,eAAO,MAAM,qCAAqC,UAQjD,CAAA;AAED,eAAO,MAAM,aAAa,UAAwD,CAAA;AAClF,eAAO,MAAM,kBAAkB;;;;;CAK9B,CAAA;AAED,eAAO,MAAM,0BAA0B,8CAA8C,CAAA;AAErF,eAAO,MAAM,OAAO,iCAAiC,CAAA;AAErD,eAAO,MAAM,yBAAyB,UAAyC,CAAA;AAE/E,eAAO,MAAM,OAAO,iCAAiC,CAAA;AAErD,eAAO,MAAM,QAAQ;;;CAGpB,CAAA;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAKpD,eAAO,MAAM,mBAAmB,qHAStB,CAAA;AAEV,eAAO,MAAM,mBAAmB,UAI/B,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,OAAO,CAAC,kBAAkB,CAKvD,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,OAAO,OAAoC,CAAA;AAEvE,eAAO,MAAM,aAAa,qDAAqD,CAAA;AAC/E,eAAO,MAAM,iBAAiB,wDAAwD,CAAA;AACtF,eAAO,MAAM,wBAAwB,kBAAkB,CAAA;AACvD,eAAO,MAAM,gCAAgC,0BAA0B,CAAA;AACvE,eAAO,MAAM,mBAAmB,iBAAiB,CAAA;AACjD,eAAO,MAAM,mBAAmB,iBAAiB,CAAA;AACjD,eAAO,MAAM,wBAAwB,uBAAuB,CAAA;AAC5D,eAAO,MAAM,eAAe,OAAO,CAAA;AACnC,eAAO,MAAM,mBAAmB,OAAO,CAAA;AACvC,eAAO,MAAM,iBAAiB,UAAgH,CAAA;AAC9I,eAAO,MAAM,wCAAwC,OAAO,CAAA;AAC5D,eAAO,MAAM,yCAAyC,MAAM,CAAA;AAC5D,eAAO,MAAM,sBAAsB,QAAuB,CAAA;AAE1D,eAAO,MAAM,wBAAwB,UAA6D,CAAA;AAElG,eAAO,MAAM,SAAS,iCAAiC,CAAA;AACvD,eAAO,MAAM,mBAAmB,0BAA0B,CAAA;AAC1D,eAAO,MAAM,mBAAmB,kDAAkD,CAAA;AAClF,eAAO,MAAM,oBAAoB,uBAAuB,CAAA;AAExD,eAAO,MAAM,eAAe,mBAAmB,CAAA;AAE/C,eAAO,MAAM,qCAAqC,UAQjD,CAAA;AAED,eAAO,MAAM,aAAa,UAAwD,CAAA;AAClF,eAAO,MAAM,kBAAkB;;;;;CAK9B,CAAA;AAED,eAAO,MAAM,0BAA0B,8CAA8C,CAAA;AAErF,eAAO,MAAM,OAAO,iCAAiC,CAAA;AAErD,eAAO,MAAM,yBAAyB,UAAyC,CAAA;AAE/E,eAAO,MAAM,OAAO,iCAAiC,CAAA;AAErD,eAAO,MAAM,QAAQ;;;CAGpB,CAAA;AAGD,eAAO,MAAM,mCAAmC,kBAAkB,CAAA;AAClE,eAAO,MAAM,kCAAkC,iBAAiB,CAAA;AAKhE,eAAO,MAAM,wBAAwB,6BAA6B,CAAA;AAGlE,eAAO,MAAM,sBAAsB,2BAA2B,CAAA;AAG9D,eAAO,MAAM,sBAAsB,iCAAiC,CAAA;AAGpE,eAAO,MAAM,yBAAyB,8BAA8B,CAAA;AAGpE,eAAO,MAAM,iBAAiB,sBAAsB,CAAA;AAGpD,eAAO,MAAM,oBAAoB,uCAAuC,CAAA;AAGxE,eAAO,MAAM,eAAe,6BAA6B,CAAA;AAGzD,eAAO,MAAM,SAAS,uBAAuB,CAAA;AAG7C,eAAO,MAAM,2BAA2B,+BAA+B,CAAA;AAGvE,eAAO,MAAM,kBAAkB,uBAAuB,CAAA;AAGtD,eAAO,MAAM,0BAA0B,+BAA+B,CAAA;AAGtE,eAAO,MAAM,0BAA0B,+BAA+B,CAAA;AAGtE,eAAO,MAAM,2BAA2B,gCAAgC,CAAA;AACxE,eAAO,MAAM,iCAAiC,sCAAsC,CAAA;AACpF,eAAO,MAAM,wBAAwB,6BAA6B,CAAA;AAClE,eAAO,MAAM,2BAA2B,gCAAgC,CAAA;AACxE,eAAO,MAAM,yBAAyB,8BAA8B,CAAA;AAGpE,eAAO,MAAM,+BAA+B,QAAY,CAAA;AAIxD,eAAO,MAAM,uBAAuB,mBAAmB,CAAA;AAGvD,eAAO,MAAM,gBAAgB,OAAO,CAAA;AACpC,eAAO,MAAM,kBAAkB,iBAAiB,CAAA;AAChD,eAAO,MAAM,sBAAsB,OAAO,CAAA;AAG1C,eAAO,MAAM,oBAAoB,sBAAsB,CAAA"}
|