testplane 8.23.1 → 8.25.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/build/package.json +1 -1
- package/build/src/browser/new-browser.d.ts +6 -5
- package/build/src/browser/new-browser.js +36 -25
- package/build/src/browser/new-browser.js.map +1 -1
- package/build/src/browser/types.d.ts +9 -0
- package/build/src/browser/types.js +9 -0
- package/build/src/browser/types.js.map +1 -1
- package/build/src/browser-installer/chrome/browser.d.ts +2 -0
- package/build/src/browser-installer/chrome/browser.js +23 -7
- package/build/src/browser-installer/chrome/browser.js.map +1 -1
- package/build/src/browser-installer/chrome/driver.js +6 -6
- package/build/src/browser-installer/chrome/driver.js.map +1 -1
- package/build/src/browser-installer/chrome/index.d.ts +2 -2
- package/build/src/browser-installer/chrome/index.js +2 -1
- package/build/src/browser-installer/chrome/index.js.map +1 -1
- package/build/src/browser-installer/chromium/browser.js +6 -5
- package/build/src/browser-installer/chromium/browser.js.map +1 -1
- package/build/src/browser-installer/chromium/driver.js +1 -1
- package/build/src/browser-installer/chromium/driver.js.map +1 -1
- package/build/src/browser-installer/constants.d.ts +4 -0
- package/build/src/browser-installer/constants.js +7 -1
- package/build/src/browser-installer/constants.js.map +1 -1
- package/build/src/browser-installer/edge/browser.d.ts +1 -0
- package/build/src/browser-installer/edge/browser.js +57 -0
- package/build/src/browser-installer/edge/browser.js.map +1 -0
- package/build/src/browser-installer/edge/driver.js +3 -3
- package/build/src/browser-installer/edge/driver.js.map +1 -1
- package/build/src/browser-installer/edge/index.d.ts +1 -0
- package/build/src/browser-installer/edge/index.js +3 -1
- package/build/src/browser-installer/edge/index.js.map +1 -1
- package/build/src/browser-installer/firefox/browser.d.ts +2 -0
- package/build/src/browser-installer/firefox/browser.js +24 -6
- package/build/src/browser-installer/firefox/browser.js.map +1 -1
- package/build/src/browser-installer/firefox/driver.js +3 -3
- package/build/src/browser-installer/firefox/driver.js.map +1 -1
- package/build/src/browser-installer/firefox/index.d.ts +2 -2
- package/build/src/browser-installer/firefox/index.js +2 -1
- package/build/src/browser-installer/firefox/index.js.map +1 -1
- package/build/src/browser-installer/index.d.ts +1 -1
- package/build/src/browser-installer/index.js +3 -3
- package/build/src/browser-installer/index.js.map +1 -1
- package/build/src/browser-installer/install.js +19 -16
- package/build/src/browser-installer/install.js.map +1 -1
- package/build/src/browser-installer/registry/index.d.ts +1 -1
- package/build/src/browser-installer/registry/index.js +26 -17
- package/build/src/browser-installer/registry/index.js.map +1 -1
- package/build/src/browser-installer/resolve-browser-version.d.ts +4 -0
- package/build/src/browser-installer/resolve-browser-version.js +41 -0
- package/build/src/browser-installer/resolve-browser-version.js.map +1 -0
- package/build/src/browser-installer/run.d.ts +1 -1
- package/build/src/browser-installer/run.js +7 -7
- package/build/src/browser-installer/run.js.map +1 -1
- package/build/src/browser-installer/safari/browser.d.ts +1 -0
- package/build/src/browser-installer/safari/browser.js +25 -0
- package/build/src/browser-installer/safari/browser.js.map +1 -0
- package/build/src/browser-installer/safari/index.d.ts +1 -0
- package/build/src/browser-installer/safari/index.js +3 -1
- package/build/src/browser-installer/safari/index.js.map +1 -1
- package/build/src/browser-installer/utils.d.ts +5 -12
- package/build/src/browser-installer/utils.js +3 -29
- package/build/src/browser-installer/utils.js.map +1 -1
- package/build/src/browser-pool/webdriver-pool.js +6 -7
- package/build/src/browser-pool/webdriver-pool.js.map +1 -1
- package/build/src/cli/commands/config/index.d.ts +2 -0
- package/build/src/cli/commands/config/index.js +29 -0
- package/build/src/cli/commands/config/index.js.map +1 -0
- package/build/src/cli/commands/install-deps/index.js +1 -0
- package/build/src/cli/commands/install-deps/index.js.map +1 -1
- package/build/src/cli/commands/list-browsers/index.d.ts +2 -0
- package/build/src/cli/commands/list-browsers/index.js +75 -0
- package/build/src/cli/commands/list-browsers/index.js.map +1 -0
- package/build/src/cli/constants.d.ts +2 -0
- package/build/src/cli/constants.js +2 -0
- package/build/src/cli/constants.js.map +1 -1
- package/build/src/constants/config.d.ts +13 -10
- package/build/src/constants/config.js +36 -11
- package/build/src/constants/config.js.map +1 -1
- package/build/src/utils/browser.d.ts +2 -0
- package/build/src/utils/browser.js +21 -1
- package/build/src/utils/browser.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../../src/browser-installer/edge/driver.ts"],"names":[],"mappings":";;;;;;AAAA,2CAA4D;AAC5D,oCAOkB;AAClB,2DAAmC;AACnC,4CAAwE;AAExE,MAAM,+BAA+B,GAAG,KAAK,EAAE,SAAiB,EAAmB,EAAE;IACjF,MAAM,WAAW,GAAG,MAAM,IAAA,kBAAU,EAAC,GAAG,4BAAgB,mBAAmB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAEhH,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,kDAAkD,SAAS,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,iBAAiB,GAAG,WAAW;SAChC,KAAK,CAAC,EAAE,CAAC;SACT,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAClC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEd,IAAA,6BAAqB,EAAC,8BAA8B,SAAS,aAAa,iBAAiB,EAAE,CAAC,CAAC;IAE/F,OAAO,iBAAiB,CAAC;AAC7B,CAAC,CAAC;AAEK,MAAM,iBAAiB,GAAG,KAAK,EAAE,WAAmB,EAAE,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,EAAE,EAAmB,EAAE;IACpG,MAAM,QAAQ,GAAG,IAAA,0BAAkB,GAAE,CAAC;IACtC,MAAM,4BAA4B,GAAG,kBAAQ,CAAC,uBAAuB,CAAC,
|
|
1
|
+
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../../src/browser-installer/edge/driver.ts"],"names":[],"mappings":";;;;;;AAAA,2CAA4D;AAC5D,oCAOkB;AAClB,2DAAmC;AACnC,4CAAwE;AAExE,MAAM,+BAA+B,GAAG,KAAK,EAAE,SAAiB,EAAmB,EAAE;IACjF,MAAM,WAAW,GAAG,MAAM,IAAA,kBAAU,EAAC,GAAG,4BAAgB,mBAAmB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAEhH,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,kDAAkD,SAAS,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,iBAAiB,GAAG,WAAW;SAChC,KAAK,CAAC,EAAE,CAAC;SACT,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAClC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEd,IAAA,6BAAqB,EAAC,8BAA8B,SAAS,aAAa,iBAAiB,EAAE,CAAC,CAAC;IAE/F,OAAO,iBAAiB,CAAC;AAC7B,CAAC,CAAC;AAEK,MAAM,iBAAiB,GAAG,KAAK,EAAE,WAAmB,EAAE,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,EAAE,EAAmB,EAAE;IACpG,MAAM,QAAQ,GAAG,IAAA,0BAAkB,GAAE,CAAC;IACtC,MAAM,4BAA4B,GAAG,kBAAQ,CAAC,uBAAuB,CAAC,kBAAU,CAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAEpH,IAAI,4BAA4B,IAAI,CAAC,KAAK,EAAE,CAAC;QACzC,IAAA,6BAAqB,EACjB,2CAA2C,WAAW,+CAA+C,CACxG,CAAC;QAEF,OAAO,kBAAQ,CAAC,aAAa,CAAC,kBAAU,CAAC,UAAU,EAAE,QAAQ,EAAE,4BAA4B,CAAC,CAAC;IACjG,CAAC;IAED,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,WAAW,CAAC,CAAC;IAE5C,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,kCAAsB,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,oEAAoE,kCAAsB,EAAE,CAAC,CAAC;IAClH,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,+BAA+B,CAAC,SAAS,CAAC,CAAC;IAEvE,MAAM,SAAS,GAAG,GAAoB,EAAE,CAAC,IAAA,qBAAkB,EAAC,aAAa,EAAE,IAAA,wBAAgB,EAAC,aAAa,CAAC,CAAC,CAAC;IAE5G,OAAO,kBAAQ,CAAC,aAAa,CAAC,kBAAU,CAAC,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;AAC7F,CAAC,CAAC;AAvBW,QAAA,iBAAiB,qBAuB5B"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
/// <reference types="node" />
|
|
4
4
|
import { installEdgeDriver } from "./driver";
|
|
5
5
|
import { type ChildProcess } from "child_process";
|
|
6
|
+
export { resolveEdgeVersion } from "./browser";
|
|
6
7
|
export { installEdgeDriver };
|
|
7
8
|
export declare const runEdgeDriver: (edgeVersion: string, { debug }?: {
|
|
8
9
|
debug?: boolean | undefined;
|
|
@@ -3,7 +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.runEdgeDriver = exports.installEdgeDriver = void 0;
|
|
6
|
+
exports.runEdgeDriver = exports.installEdgeDriver = exports.resolveEdgeVersion = void 0;
|
|
7
7
|
const driver_1 = require("./driver");
|
|
8
8
|
Object.defineProperty(exports, "installEdgeDriver", { enumerable: true, get: function () { return driver_1.installEdgeDriver; } });
|
|
9
9
|
const child_process_1 = require("child_process");
|
|
@@ -11,6 +11,8 @@ const get_port_1 = __importDefault(require("get-port"));
|
|
|
11
11
|
const wait_port_1 = __importDefault(require("wait-port"));
|
|
12
12
|
const utils_1 = require("../../dev-server/utils");
|
|
13
13
|
const constants_1 = require("../constants");
|
|
14
|
+
var browser_1 = require("./browser");
|
|
15
|
+
Object.defineProperty(exports, "resolveEdgeVersion", { enumerable: true, get: function () { return browser_1.resolveEdgeVersion; } });
|
|
14
16
|
const runEdgeDriver = async (edgeVersion, { debug = false } = {}) => {
|
|
15
17
|
const [edgeDriverPath, randomPort] = await Promise.all([(0, driver_1.installEdgeDriver)(edgeVersion), (0, get_port_1.default)()]);
|
|
16
18
|
const edgeDriver = (0, child_process_1.spawn)(edgeDriverPath, [`--port=${randomPort}`, debug ? `--verbose` : "--silent"], {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/browser-installer/edge/index.ts"],"names":[],"mappings":";;;;;;AAAA,qCAA6C;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/browser-installer/edge/index.ts"],"names":[],"mappings":";;;;;;AAAA,qCAA6C;AAQpC,kGARA,0BAAiB,OAQA;AAP1B,iDAAyD;AACzD,wDAA+B;AAC/B,0DAAiC;AACjC,kDAA4D;AAC5D,4CAAmD;AAEnD,qCAA+C;AAAtC,6GAAA,kBAAkB,OAAA;AAGpB,MAAM,aAAa,GAAG,KAAK,EAC9B,WAAmB,EACnB,EAAE,KAAK,GAAG,KAAK,KAA0B,EAAE,EACsB,EAAE;IACnE,MAAM,CAAC,cAAc,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAA,0BAAiB,EAAC,WAAW,CAAC,EAAE,IAAA,kBAAO,GAAE,CAAC,CAAC,CAAC;IAEpG,MAAM,UAAU,GAAG,IAAA,qBAAK,EAAC,cAAc,EAAE,CAAC,UAAU,UAAU,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE;QACjG,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,KAAK;KAClB,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACR,IAAA,0BAAkB,EAAC,UAAU,EAAE,eAAe,WAAW,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,OAAO,GAAG,oBAAoB,UAAU,EAAE,CAAC;IAEjD,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IAE9C,MAAM,IAAA,mBAAQ,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,+BAAmB,EAAE,CAAC,CAAC;IAErF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAC9D,CAAC,CAAC;AAtBW,QAAA,aAAa,iBAsBxB"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import _ from "lodash";
|
|
1
2
|
export declare const installFirefox: (version: string, { force, needWebDriver, needUbuntuPackages }?: {
|
|
2
3
|
force?: boolean | undefined;
|
|
3
4
|
needWebDriver?: boolean | undefined;
|
|
4
5
|
needUbuntuPackages?: boolean | undefined;
|
|
5
6
|
}) => Promise<string>;
|
|
7
|
+
export declare const resolveLatestFirefoxVersion: ((force?: any) => Promise<string>) & _.MemoizedFunction;
|
|
@@ -3,24 +3,27 @@ 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.installFirefox = void 0;
|
|
6
|
+
exports.resolveLatestFirefoxVersion = exports.installFirefox = void 0;
|
|
7
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
7
8
|
const browsers_1 = require("@puppeteer/browsers");
|
|
8
9
|
const utils_1 = require("../utils");
|
|
9
10
|
const registry_1 = __importDefault(require("../registry"));
|
|
10
11
|
const utils_2 = require("./utils");
|
|
11
12
|
const driver_1 = require("./driver");
|
|
12
13
|
const ubuntu_packages_1 = require("../ubuntu-packages");
|
|
14
|
+
const types_1 = require("../../browser/types");
|
|
15
|
+
const constants_1 = require("../constants");
|
|
13
16
|
const installFirefoxBrowser = async (version, { force = false } = {}) => {
|
|
14
17
|
const platform = (0, utils_1.getBrowserPlatform)();
|
|
15
|
-
const existingLocallyBrowserVersion = registry_1.default.getMatchedBrowserVersion(
|
|
18
|
+
const existingLocallyBrowserVersion = registry_1.default.getMatchedBrowserVersion(types_1.BrowserName.FIREFOX, platform, version);
|
|
16
19
|
if (existingLocallyBrowserVersion && !force) {
|
|
17
20
|
(0, utils_1.browserInstallerDebug)(`A locally installed firefox@${version} browser was found. Skipping the installation`);
|
|
18
|
-
return registry_1.default.getBinaryPath(
|
|
21
|
+
return registry_1.default.getBinaryPath(types_1.BrowserName.FIREFOX, platform, existingLocallyBrowserVersion);
|
|
19
22
|
}
|
|
20
23
|
const normalizedVersion = (0, utils_2.normalizeFirefoxVersion)(version);
|
|
21
24
|
const buildId = (0, utils_2.getFirefoxBuildId)(normalizedVersion);
|
|
22
25
|
const cacheDir = (0, utils_1.getBrowsersDir)();
|
|
23
|
-
const canBeInstalled = await (0, browsers_1.canDownload)({ browser:
|
|
26
|
+
const canBeInstalled = await (0, browsers_1.canDownload)({ browser: types_1.BrowserName.FIREFOX, platform, buildId, cacheDir });
|
|
24
27
|
if (!canBeInstalled) {
|
|
25
28
|
throw new Error([
|
|
26
29
|
`firefox@${version} can't be installed.`,
|
|
@@ -34,10 +37,10 @@ const installFirefoxBrowser = async (version, { force = false } = {}) => {
|
|
|
34
37
|
buildId,
|
|
35
38
|
cacheDir,
|
|
36
39
|
downloadProgressCallback,
|
|
37
|
-
browser:
|
|
40
|
+
browser: types_1.BrowserName.FIREFOX,
|
|
38
41
|
unpack: true,
|
|
39
42
|
}).then(result => result.executablePath);
|
|
40
|
-
return registry_1.default.installBinary(
|
|
43
|
+
return registry_1.default.installBinary(types_1.BrowserName.FIREFOX, platform, buildId, installFn);
|
|
41
44
|
};
|
|
42
45
|
const installFirefox = async (version, { force = false, needWebDriver = false, needUbuntuPackages = false } = {}) => {
|
|
43
46
|
const [browserPath] = await Promise.all([
|
|
@@ -48,4 +51,19 @@ const installFirefox = async (version, { force = false, needWebDriver = false, n
|
|
|
48
51
|
return browserPath;
|
|
49
52
|
};
|
|
50
53
|
exports.installFirefox = installFirefox;
|
|
54
|
+
exports.resolveLatestFirefoxVersion = lodash_1.default.memoize(async (force = false) => {
|
|
55
|
+
if (!force) {
|
|
56
|
+
const platform = (0, utils_1.getBrowserPlatform)();
|
|
57
|
+
const existingLocallyBrowserVersion = registry_1.default.getMatchedBrowserVersion(types_1.BrowserName.FIREFOX, platform);
|
|
58
|
+
if (existingLocallyBrowserVersion) {
|
|
59
|
+
return existingLocallyBrowserVersion;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return (0, utils_1.retryFetch)(constants_1.FIREFOX_VERSIONS_LATEST_VERSIONS_API_URL)
|
|
63
|
+
.then(res => res.json())
|
|
64
|
+
.then(({ LATEST_FIREFOX_VERSION }) => LATEST_FIREFOX_VERSION)
|
|
65
|
+
.catch(() => {
|
|
66
|
+
throw new Error("Couldn't resolve latest firefox version");
|
|
67
|
+
});
|
|
68
|
+
});
|
|
51
69
|
//# sourceMappingURL=browser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../../src/browser-installer/firefox/browser.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA+E;AAC/E,oCAMkB;AAClB,2DAAmC;AACnC,mCAAqE;AACrE,qCAAoD;AACpD,wDAAsE;
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../../src/browser-installer/firefox/browser.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,14 +20,14 @@ const getLatestGeckoDriverVersion = async () => {
|
|
|
20
20
|
};
|
|
21
21
|
const installLatestGeckoDriver = async (firefoxVersion, { force = false } = {}) => {
|
|
22
22
|
const platform = (0, utils_1.getBrowserPlatform)();
|
|
23
|
-
const existingLocallyDriverVersion = registry_1.default.getMatchedDriverVersion(utils_1.
|
|
23
|
+
const existingLocallyDriverVersion = registry_1.default.getMatchedDriverVersion(utils_1.DriverName.GECKODRIVER, platform, firefoxVersion);
|
|
24
24
|
if (existingLocallyDriverVersion && !force) {
|
|
25
25
|
(0, utils_1.browserInstallerDebug)(`A locally installed geckodriver for firefox@${firefoxVersion} browser was found. Skipping the installation`);
|
|
26
|
-
return registry_1.default.getBinaryPath(utils_1.
|
|
26
|
+
return registry_1.default.getBinaryPath(utils_1.DriverName.GECKODRIVER, platform, existingLocallyDriverVersion);
|
|
27
27
|
}
|
|
28
28
|
const latestVersion = await getLatestGeckoDriverVersion();
|
|
29
29
|
const installFn = () => (0, geckodriver_1.download)(latestVersion, (0, utils_1.getGeckoDriverDir)(latestVersion));
|
|
30
|
-
return registry_1.default.installBinary(utils_1.
|
|
30
|
+
return registry_1.default.installBinary(utils_1.DriverName.GECKODRIVER, platform, latestVersion, installFn);
|
|
31
31
|
};
|
|
32
32
|
exports.installLatestGeckoDriver = installLatestGeckoDriver;
|
|
33
33
|
//# sourceMappingURL=driver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../../src/browser-installer/firefox/driver.ts"],"names":[],"mappings":";;;;;;AAAA,6CAA8D;AAC9D,4CAAsD;AACtD,2DAAmC;AACnC,
|
|
1
|
+
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../../src/browser-installer/firefox/driver.ts"],"names":[],"mappings":";;;;;;AAAA,6CAA8D;AAC9D,4CAAsD;AACtD,2DAAmC;AACnC,oCAAgH;AAEhH,MAAM,2BAA2B,GAAG,KAAK,IAAqB,EAAE;IAC5D,MAAM,iBAAiB,GAAG,MAAM,IAAA,kBAAU,EAAC,kCAAsB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3F,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;IAE1F,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;IACjG,CAAC;IAED,MAAM,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,EAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAEpE,IAAA,6BAAqB,EAAC,wCAAwC,kBAAkB,EAAE,CAAC,CAAC;IAEpF,OAAO,kBAAkB,CAAC;AAC9B,CAAC,CAAC;AAEK,MAAM,wBAAwB,GAAG,KAAK,EAAE,cAAsB,EAAE,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,EAAE,EAAmB,EAAE;IAC9G,MAAM,QAAQ,GAAG,IAAA,0BAAkB,GAAE,CAAC;IACtC,MAAM,4BAA4B,GAAG,kBAAQ,CAAC,uBAAuB,CACjE,kBAAU,CAAC,WAAW,EACtB,QAAQ,EACR,cAAc,CACjB,CAAC;IAEF,IAAI,4BAA4B,IAAI,CAAC,KAAK,EAAE,CAAC;QACzC,IAAA,6BAAqB,EACjB,+CAA+C,cAAc,+CAA+C,CAC/G,CAAC;QAEF,OAAO,kBAAQ,CAAC,aAAa,CAAC,kBAAU,CAAC,WAAW,EAAE,QAAQ,EAAE,4BAA4B,CAAC,CAAC;IAClG,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,2BAA2B,EAAE,CAAC;IAE1D,MAAM,SAAS,GAAG,GAAoB,EAAE,CAAC,IAAA,sBAAmB,EAAC,aAAa,EAAE,IAAA,yBAAiB,EAAC,aAAa,CAAC,CAAC,CAAC;IAE9G,OAAO,kBAAQ,CAAC,aAAa,CAAC,kBAAU,CAAC,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;AAC9F,CAAC,CAAC;AArBW,QAAA,wBAAwB,4BAqBnC"}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
/// <reference types="node" />
|
|
3
3
|
/// <reference types="node" />
|
|
4
4
|
import type { ChildProcess } from "child_process";
|
|
5
|
-
import { installFirefox } from "./browser";
|
|
5
|
+
import { installFirefox, resolveLatestFirefoxVersion } from "./browser";
|
|
6
6
|
import { installLatestGeckoDriver } from "./driver";
|
|
7
|
-
export { installFirefox, installLatestGeckoDriver };
|
|
7
|
+
export { installFirefox, resolveLatestFirefoxVersion, installLatestGeckoDriver };
|
|
8
8
|
export declare const runGeckoDriver: (firefoxVersion: string, { debug }?: {
|
|
9
9
|
debug?: boolean | undefined;
|
|
10
10
|
}) => Promise<{
|
|
@@ -3,12 +3,13 @@ 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.runGeckoDriver = exports.installLatestGeckoDriver = exports.installFirefox = void 0;
|
|
6
|
+
exports.runGeckoDriver = exports.installLatestGeckoDriver = exports.resolveLatestFirefoxVersion = exports.installFirefox = void 0;
|
|
7
7
|
const geckodriver_1 = require("geckodriver");
|
|
8
8
|
const get_port_1 = __importDefault(require("get-port"));
|
|
9
9
|
const wait_port_1 = __importDefault(require("wait-port"));
|
|
10
10
|
const browser_1 = require("./browser");
|
|
11
11
|
Object.defineProperty(exports, "installFirefox", { enumerable: true, get: function () { return browser_1.installFirefox; } });
|
|
12
|
+
Object.defineProperty(exports, "resolveLatestFirefoxVersion", { enumerable: true, get: function () { return browser_1.resolveLatestFirefoxVersion; } });
|
|
12
13
|
const driver_1 = require("./driver");
|
|
13
14
|
Object.defineProperty(exports, "installLatestGeckoDriver", { enumerable: true, get: function () { return driver_1.installLatestGeckoDriver; } });
|
|
14
15
|
const utils_1 = require("../../dev-server/utils");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/browser-installer/firefox/index.ts"],"names":[],"mappings":";;;;;;AACA,6CAAwD;AACxD,wDAA+B;AAC/B,0DAAiC;AACjC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/browser-installer/firefox/index.ts"],"names":[],"mappings":";;;;;;AACA,6CAAwD;AACxD,wDAA+B;AAC/B,0DAAiC;AACjC,uCAAwE;AAM/D,+FANA,wBAAc,OAMA;AAAE,4GANA,qCAA2B,OAMA;AALpD,qCAAoD;AAKE,yGAL7C,iCAAwB,OAK6C;AAJ9E,kDAA4D;AAC5D,4CAAmD;AACnD,wDAAkE;AAI3D,MAAM,cAAc,GAAG,KAAK,EAC/B,cAAsB,EACtB,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,EAAE,EAC2C,EAAE;IACnE,MAAM,CAAC,eAAe,EAAE,UAAU,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpE,IAAA,iCAAwB,EAAC,cAAc,CAAC;QACxC,IAAA,kBAAO,GAAE;QACT,IAAA,0BAAQ,GAAE;aACL,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAA,oCAAkB,GAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAC1D,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;KACpF,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,MAAM,IAAA,mBAAgB,EAAC;QACvC,qBAAqB,EAAE,eAAe;QACtC,IAAI,EAAE,UAAU;QAChB,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;QAC9B,SAAS,EAAE;YACP,WAAW,EAAE,IAAI;YACjB,QAAQ,EAAE,KAAK;YACf,GAAG,EAAE,cAAc;SACtB;KACJ,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACR,IAAA,0BAAkB,EAAC,WAAW,EAAE,gBAAgB,cAAc,IAAI,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,OAAO,GAAG,oBAAoB,UAAU,EAAE,CAAC;IAEjD,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IAE/C,MAAM,IAAA,mBAAQ,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,+BAAmB,EAAE,CAAC,CAAC;IAErF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAC/D,CAAC,CAAC;AAlCW,QAAA,cAAc,kBAkCzB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { installBrowser, installBrowsersWithDrivers, BrowserInstallStatus } from "./install";
|
|
2
2
|
export { runBrowserDriver } from "./run";
|
|
3
|
-
export {
|
|
3
|
+
export { resolveBrowserVersion } from "./resolve-browser-version";
|
|
4
4
|
export type { SupportedBrowser, SupportedDriver } from "./utils";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.resolveBrowserVersion = exports.runBrowserDriver = exports.BrowserInstallStatus = exports.installBrowsersWithDrivers = exports.installBrowser = void 0;
|
|
4
4
|
var install_1 = require("./install");
|
|
5
5
|
Object.defineProperty(exports, "installBrowser", { enumerable: true, get: function () { return install_1.installBrowser; } });
|
|
6
6
|
Object.defineProperty(exports, "installBrowsersWithDrivers", { enumerable: true, get: function () { return install_1.installBrowsersWithDrivers; } });
|
|
7
7
|
Object.defineProperty(exports, "BrowserInstallStatus", { enumerable: true, get: function () { return install_1.BrowserInstallStatus; } });
|
|
8
8
|
var run_1 = require("./run");
|
|
9
9
|
Object.defineProperty(exports, "runBrowserDriver", { enumerable: true, get: function () { return run_1.runBrowserDriver; } });
|
|
10
|
-
var
|
|
11
|
-
Object.defineProperty(exports, "
|
|
10
|
+
var resolve_browser_version_1 = require("./resolve-browser-version");
|
|
11
|
+
Object.defineProperty(exports, "resolveBrowserVersion", { enumerable: true, get: function () { return resolve_browser_version_1.resolveBrowserVersion; } });
|
|
12
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/browser-installer/index.ts"],"names":[],"mappings":";;;AAAA,qCAA6F;AAApF,yGAAA,cAAc,OAAA;AAAE,qHAAA,0BAA0B,OAAA;AAAE,+GAAA,oBAAoB,OAAA;AACzE,6BAAyC;AAAhC,uGAAA,gBAAgB,OAAA;AACzB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/browser-installer/index.ts"],"names":[],"mappings":";;;AAAA,qCAA6F;AAApF,yGAAA,cAAc,OAAA;AAAE,qHAAA,0BAA0B,OAAA;AAAE,+GAAA,oBAAoB,OAAA;AACzE,6BAAyC;AAAhC,uGAAA,gBAAgB,OAAA;AACzB,qEAAkE;AAAzD,gIAAA,qBAAqB,OAAA"}
|
|
@@ -29,13 +29,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
29
29
|
exports.installBrowsersWithDrivers = exports.BrowserInstallStatus = exports.installBrowser = void 0;
|
|
30
30
|
const lodash_1 = __importDefault(require("lodash"));
|
|
31
31
|
const utils_1 = require("./utils");
|
|
32
|
+
const browser_1 = require("../utils/browser");
|
|
33
|
+
const types_1 = require("../browser/types");
|
|
32
34
|
/**
|
|
33
35
|
* @returns path to installed browser binary
|
|
34
36
|
*/
|
|
35
37
|
const installBrowser = async (browserName, browserVersion, { force = false, shouldInstallWebDriver = false, shouldInstallUbuntuPackages = false } = {}) => {
|
|
36
|
-
if (!browserVersion) {
|
|
37
|
-
throw new Error(`Couldn't install browser '${browserName}' because it has invalid version: '${browserVersion}'`);
|
|
38
|
-
}
|
|
39
38
|
const { isUbuntu } = await Promise.resolve().then(() => __importStar(require("./ubuntu-packages")));
|
|
40
39
|
const needUbuntuPackages = shouldInstallUbuntuPackages && (await isUbuntu());
|
|
41
40
|
(0, utils_1.browserInstallerDebug)([
|
|
@@ -45,23 +44,26 @@ const installBrowser = async (browserName, browserVersion, { force = false, shou
|
|
|
45
44
|
`needUbuntuPackages:${needUbuntuPackages}`,
|
|
46
45
|
].join(", "));
|
|
47
46
|
switch (browserName) {
|
|
48
|
-
case
|
|
49
|
-
case
|
|
50
|
-
const { installChrome } = await Promise.resolve().then(() => __importStar(require("./chrome")));
|
|
51
|
-
|
|
47
|
+
case types_1.BrowserName.CHROME:
|
|
48
|
+
case types_1.BrowserName.CHROMIUM: {
|
|
49
|
+
const { installChrome, resolveLatestChromeVersion } = await Promise.resolve().then(() => __importStar(require("./chrome")));
|
|
50
|
+
const version = browserVersion || (await resolveLatestChromeVersion(force));
|
|
51
|
+
return installChrome(version, { force, needUbuntuPackages, needWebDriver: shouldInstallWebDriver });
|
|
52
52
|
}
|
|
53
|
-
case
|
|
54
|
-
const { installFirefox } = await Promise.resolve().then(() => __importStar(require("./firefox")));
|
|
55
|
-
|
|
53
|
+
case types_1.BrowserName.FIREFOX: {
|
|
54
|
+
const { installFirefox, resolveLatestFirefoxVersion } = await Promise.resolve().then(() => __importStar(require("./firefox")));
|
|
55
|
+
const version = browserVersion || (await resolveLatestFirefoxVersion(force));
|
|
56
|
+
return installFirefox(version, { force, needUbuntuPackages, needWebDriver: shouldInstallWebDriver });
|
|
56
57
|
}
|
|
57
|
-
case
|
|
58
|
-
const { installEdgeDriver } = await Promise.resolve().then(() => __importStar(require("./edge")));
|
|
58
|
+
case types_1.BrowserName.EDGE: {
|
|
59
|
+
const { installEdgeDriver, resolveEdgeVersion } = await Promise.resolve().then(() => __importStar(require("./edge")));
|
|
60
|
+
const version = browserVersion || (await resolveEdgeVersion());
|
|
59
61
|
if (shouldInstallWebDriver) {
|
|
60
|
-
await installEdgeDriver(
|
|
62
|
+
await installEdgeDriver(version, { force });
|
|
61
63
|
}
|
|
62
64
|
return null;
|
|
63
65
|
}
|
|
64
|
-
case
|
|
66
|
+
case types_1.BrowserName.SAFARI: {
|
|
65
67
|
return null;
|
|
66
68
|
}
|
|
67
69
|
}
|
|
@@ -73,7 +75,7 @@ exports.BrowserInstallStatus = {
|
|
|
73
75
|
Error: "error",
|
|
74
76
|
};
|
|
75
77
|
const forceInstallBinaries = async (installFn, browserName, browserVersion) => {
|
|
76
|
-
const normalizedBrowserName = (0,
|
|
78
|
+
const normalizedBrowserName = (0, browser_1.getNormalizedBrowserName)(browserName);
|
|
77
79
|
const installOpts = { force: true, shouldInstallWebDriver: true, shouldInstallUbuntuPackages: true };
|
|
78
80
|
if (!normalizedBrowserName) {
|
|
79
81
|
return {
|
|
@@ -98,7 +100,8 @@ const installBrowsersWithDrivers = async (browsersToInstall) => {
|
|
|
98
100
|
const browsersInstallResult = {};
|
|
99
101
|
for (const { browserName, browserVersion } of uniqBrowsers) {
|
|
100
102
|
installPromises.push(forceInstallBinaries(exports.installBrowser, browserName, browserVersion).then(result => {
|
|
101
|
-
|
|
103
|
+
const key = browserVersion ? `${browserName}@${browserVersion}` : String(browserName);
|
|
104
|
+
browsersInstallResult[key] = result;
|
|
102
105
|
}));
|
|
103
106
|
}
|
|
104
107
|
await Promise.all(installPromises);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/browser-installer/install.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAuB;AACvB,
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/browser-installer/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@ declare class Registry {
|
|
|
20
20
|
getOsPackagesPath(name: OsName, version: OsVersion): Promise<string>;
|
|
21
21
|
hasOsPackages(name: OsName, version: OsVersion): boolean;
|
|
22
22
|
getMatchedDriverVersion(driverName: SupportedDriver, platform: BrowserPlatform, browserVersion: string): string | null;
|
|
23
|
-
getMatchedBrowserVersion(browserName: SupportedBrowser, platform: BrowserPlatform, browserVersion
|
|
23
|
+
getMatchedBrowserVersion(browserName: SupportedBrowser, platform: BrowserPlatform, browserVersion?: string): string | null;
|
|
24
24
|
installBinary(name: BinaryName, platform: BrowserPlatform, version: string, installFn: (downloadProgressCallback: DownloadProgressCallback) => Promise<string>): Promise<string>;
|
|
25
25
|
installOsPackages(osName: OsName, version: OsVersion, installFn: (downloadProgressCallback: DownloadProgressCallback) => Promise<string>): Promise<string>;
|
|
26
26
|
private readRegistry;
|
|
@@ -32,6 +32,7 @@ const path_1 = __importDefault(require("path"));
|
|
|
32
32
|
const utils_1 = require("../utils");
|
|
33
33
|
const utils_2 = require("../firefox/utils");
|
|
34
34
|
const logger_1 = __importDefault(require("../../utils/logger"));
|
|
35
|
+
const types_1 = require("../../browser/types");
|
|
35
36
|
const getRegistryBinaryKey = (name, platform) => `${name}_${platform}`;
|
|
36
37
|
const getRegistryOsPackagesKey = (name, version) => `${name}_${version}`;
|
|
37
38
|
const getCliProgressBar = lodash_1.default.once(async () => {
|
|
@@ -45,6 +46,18 @@ const logDownloadingBrowsersWarningOnce = lodash_1.default.once(() => {
|
|
|
45
46
|
logger_1.default.warn("Downloading Testplane browsers");
|
|
46
47
|
logger_1.default.warn("Note: this is one-time action. It may take a while...");
|
|
47
48
|
});
|
|
49
|
+
const getBuildPrefix = (browserName, browserVersion) => {
|
|
50
|
+
switch (browserName) {
|
|
51
|
+
case types_1.BrowserName.CHROME:
|
|
52
|
+
return (0, utils_1.normalizeChromeVersion)(browserVersion);
|
|
53
|
+
case types_1.BrowserName.CHROMIUM:
|
|
54
|
+
return (0, utils_1.getMilestone)(browserVersion);
|
|
55
|
+
case types_1.BrowserName.FIREFOX:
|
|
56
|
+
return (0, utils_2.getFirefoxBuildId)(browserVersion);
|
|
57
|
+
default:
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
};
|
|
48
61
|
class Registry {
|
|
49
62
|
constructor() {
|
|
50
63
|
this.registryPath = (0, utils_1.getRegistryPath)();
|
|
@@ -79,7 +92,7 @@ class Registry {
|
|
|
79
92
|
if (!this.registry.binaries[registryKey]) {
|
|
80
93
|
return null;
|
|
81
94
|
}
|
|
82
|
-
if (driverName === utils_1.
|
|
95
|
+
if (driverName === utils_1.DriverName.CHROMEDRIVER || driverName === utils_1.DriverName.EDGEDRIVER) {
|
|
83
96
|
const milestone = (0, utils_1.getMilestone)(browserVersion);
|
|
84
97
|
const buildIds = this.getBinaryVersions(driverName, platform);
|
|
85
98
|
const suitableBuildIds = buildIds.filter(buildId => buildId.startsWith(milestone));
|
|
@@ -88,7 +101,7 @@ class Registry {
|
|
|
88
101
|
}
|
|
89
102
|
return suitableBuildIds.sort(utils_1.semverVersionsComparator).pop();
|
|
90
103
|
}
|
|
91
|
-
if (driverName === utils_1.
|
|
104
|
+
if (driverName === utils_1.DriverName.GECKODRIVER) {
|
|
92
105
|
const buildIds = Object.keys(this.registry.binaries[registryKey]);
|
|
93
106
|
const buildIdsSorted = buildIds.sort(utils_1.semverVersionsComparator);
|
|
94
107
|
return buildIdsSorted.length ? buildIdsSorted[buildIdsSorted.length - 1] : null;
|
|
@@ -100,22 +113,18 @@ class Registry {
|
|
|
100
113
|
if (!this.registry.binaries[registryKey]) {
|
|
101
114
|
return null;
|
|
102
115
|
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
case utils_1.Browser.FIREFOX:
|
|
112
|
-
buildPrefix = (0, utils_2.getFirefoxBuildId)(browserVersion);
|
|
113
|
-
break;
|
|
114
|
-
default:
|
|
116
|
+
const buildIds = this.getBinaryVersions(browserName, platform);
|
|
117
|
+
let suitableBuildIds;
|
|
118
|
+
if (!browserVersion) {
|
|
119
|
+
suitableBuildIds = buildIds;
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
const buildPrefix = getBuildPrefix(browserName, browserVersion);
|
|
123
|
+
if (buildPrefix === null) {
|
|
115
124
|
return null;
|
|
125
|
+
}
|
|
126
|
+
suitableBuildIds = buildIds.filter(buildId => buildId.startsWith(buildPrefix));
|
|
116
127
|
}
|
|
117
|
-
const buildIds = this.getBinaryVersions(browserName, platform);
|
|
118
|
-
const suitableBuildIds = buildIds.filter(buildId => buildId.startsWith(buildPrefix));
|
|
119
128
|
if (!suitableBuildIds.length) {
|
|
120
129
|
return null;
|
|
121
130
|
}
|
|
@@ -126,7 +135,7 @@ class Registry {
|
|
|
126
135
|
// Parsing raw numbers as hex values is needed in order to distinguish "129.0b9" and "129.0b7" for example
|
|
127
136
|
return parseInt(a.replace(".", ""), 16) - parseInt(b.replace(".", ""), 16);
|
|
128
137
|
};
|
|
129
|
-
const comparator = browserName ===
|
|
138
|
+
const comparator = browserName === types_1.BrowserName.FIREFOX ? firefoxVersionComparator : utils_1.semverVersionsComparator;
|
|
130
139
|
const suitableBuildIdsSorted = suitableBuildIds.sort(comparator);
|
|
131
140
|
return suitableBuildIdsSorted[suitableBuildIdsSorted.length - 1];
|
|
132
141
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/browser-installer/registry/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,oDAAuB;AACvB,wDAA0B;AAC1B,gDAAwB;AACxB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/browser-installer/registry/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.resolveBrowserVersion = void 0;
|
|
27
|
+
const types_1 = require("../browser/types");
|
|
28
|
+
const resolveBrowserVersion = (browserName, { force = false } = {}) => {
|
|
29
|
+
switch (browserName) {
|
|
30
|
+
case types_1.BrowserName.CHROME:
|
|
31
|
+
return Promise.resolve().then(() => __importStar(require("./chrome"))).then(module => module.resolveLatestChromeVersion(force));
|
|
32
|
+
case types_1.BrowserName.FIREFOX:
|
|
33
|
+
return Promise.resolve().then(() => __importStar(require("./firefox"))).then(module => module.resolveLatestFirefoxVersion(force));
|
|
34
|
+
case types_1.BrowserName.EDGE:
|
|
35
|
+
return Promise.resolve().then(() => __importStar(require("./edge"))).then(module => module.resolveEdgeVersion());
|
|
36
|
+
case types_1.BrowserName.SAFARI:
|
|
37
|
+
return Promise.resolve().then(() => __importStar(require("./safari"))).then(module => module.resolveSafariVersion());
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
exports.resolveBrowserVersion = resolveBrowserVersion;
|
|
41
|
+
//# sourceMappingURL=resolve-browser-version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-browser-version.js","sourceRoot":"","sources":["../../../src/browser-installer/resolve-browser-version.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAoE;AAE7D,MAAM,qBAAqB,GAAG,CAAC,WAA2B,EAAE,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,EAAE,EAAmB,EAAE;IAC1G,QAAQ,WAAW,EAAE,CAAC;QAClB,KAAK,mBAAW,CAAC,MAAM;YACnB,OAAO,kDAAO,UAAU,IAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,CAAC;QACvF,KAAK,mBAAW,CAAC,OAAO;YACpB,OAAO,kDAAO,WAAW,IAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAAC;QACzF,KAAK,mBAAW,CAAC,IAAI;YACjB,OAAO,kDAAO,QAAQ,IAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC;QACxE,KAAK,mBAAW,CAAC,MAAM;YACnB,OAAO,kDAAO,UAAU,IAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAChF,CAAC;AACL,CAAC,CAAC;AAXW,QAAA,qBAAqB,yBAWhC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// <reference types="node" />
|
|
3
3
|
/// <reference types="node" />
|
|
4
4
|
import type { ChildProcess } from "child_process";
|
|
5
|
-
import {
|
|
5
|
+
import type { SupportedBrowser } from "./utils";
|
|
6
6
|
export declare const runBrowserDriver: (browserName: SupportedBrowser, browserVersion: string, { debug }?: {
|
|
7
7
|
debug?: boolean | undefined;
|
|
8
8
|
}) => Promise<{
|
|
@@ -25,22 +25,22 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.runBrowserDriver = void 0;
|
|
27
27
|
const install_1 = require("./install");
|
|
28
|
-
const
|
|
28
|
+
const types_1 = require("../browser/types");
|
|
29
29
|
const runBrowserDriver = async (browserName, browserVersion, { debug = false } = {}) => {
|
|
30
30
|
const installBrowserOpts = { shouldInstallWebDriver: true, shouldInstallUbuntuPackages: true };
|
|
31
31
|
await (0, install_1.installBrowser)(browserName, browserVersion, installBrowserOpts);
|
|
32
32
|
switch (browserName) {
|
|
33
|
-
case
|
|
34
|
-
case
|
|
33
|
+
case types_1.BrowserName.CHROME:
|
|
34
|
+
case types_1.BrowserName.CHROMIUM:
|
|
35
35
|
return Promise.resolve().then(() => __importStar(require("./chrome"))).then(module => module.runChromeDriver(browserVersion, { debug }));
|
|
36
|
-
case
|
|
36
|
+
case types_1.BrowserName.FIREFOX:
|
|
37
37
|
return Promise.resolve().then(() => __importStar(require("./firefox"))).then(module => module.runGeckoDriver(browserVersion, { debug }));
|
|
38
|
-
case
|
|
38
|
+
case types_1.BrowserName.EDGE:
|
|
39
39
|
return Promise.resolve().then(() => __importStar(require("./edge"))).then(module => module.runEdgeDriver(browserVersion, { debug }));
|
|
40
|
-
case
|
|
40
|
+
case types_1.BrowserName.SAFARI:
|
|
41
41
|
return Promise.resolve().then(() => __importStar(require("./safari"))).then(module => module.runSafariDriver({ debug }));
|
|
42
42
|
default:
|
|
43
|
-
throw new Error(`Invalid browser: ${browserName}. Expected one of: ${Object.values(
|
|
43
|
+
throw new Error(`Invalid browser: ${browserName}. Expected one of: ${Object.values(types_1.BrowserName).join(", ")}`);
|
|
44
44
|
}
|
|
45
45
|
};
|
|
46
46
|
exports.runBrowserDriver = runBrowserDriver;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/browser-installer/run.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,uCAA2C;
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/browser-installer/run.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,uCAA2C;AAE3C,4CAA+C;AAExC,MAAM,gBAAgB,GAAG,KAAK,EACjC,WAA6B,EAC7B,cAAsB,EACtB,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,EAAE,EAC2C,EAAE;IACnE,MAAM,kBAAkB,GAAG,EAAE,sBAAsB,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,CAAC;IAE/F,MAAM,IAAA,wBAAc,EAAC,WAAW,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAC;IAEtE,QAAQ,WAAW,EAAE,CAAC;QAClB,KAAK,mBAAW,CAAC,MAAM,CAAC;QACxB,KAAK,mBAAW,CAAC,QAAQ;YACrB,OAAO,kDAAO,UAAU,IAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAChG,KAAK,mBAAW,CAAC,OAAO;YACpB,OAAO,kDAAO,WAAW,IAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAChG,KAAK,mBAAW,CAAC,IAAI;YACjB,OAAO,kDAAO,QAAQ,IAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC5F,KAAK,mBAAW,CAAC,MAAM;YACnB,OAAO,kDAAO,UAAU,IAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAChF;YACI,MAAM,IAAI,KAAK,CACX,oBAAoB,WAAW,sBAAsB,MAAM,CAAC,MAAM,CAAC,mBAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC/F,CAAC;IACV,CAAC;AACL,CAAC,CAAC;AAxBW,QAAA,gBAAgB,oBAwB3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const resolveSafariVersion: () => Promise<string>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.resolveSafariVersion = void 0;
|
|
7
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
8
|
+
const child_process_1 = require("child_process");
|
|
9
|
+
exports.resolveSafariVersion = lodash_1.default.once(() => new Promise((resolve, reject) => {
|
|
10
|
+
const getSafariVersionError = new Error("Couldn't retrive safari version.");
|
|
11
|
+
(0, child_process_1.exec)("mdls -name kMDItemVersion /Applications/Safari.app", (err, stdout) => {
|
|
12
|
+
if (err) {
|
|
13
|
+
reject(getSafariVersionError);
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
const regExpResult = /kMDItemVersion = "(.*)"/.exec(stdout);
|
|
17
|
+
if (regExpResult && regExpResult[1]) {
|
|
18
|
+
resolve(regExpResult[1]);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
reject(getSafariVersionError);
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
}));
|
|
25
|
+
//# sourceMappingURL=browser.js.map
|