@testim/testim-cli 3.232.0 → 3.233.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/cli.js +6 -0
- package/commons/httpRequest.js +4 -3
- package/commons/testimCloudflare.js +73 -0
- package/commons/testimServicesApi.js +34 -0
- package/commons/testimTunnel.js +18 -2
- package/npm-shrinkwrap.json +199 -155
- package/package.json +1 -1
- package/player/WebDriverHttpRequest.js +1 -1
- package/runOptions.js +21 -0
- package/runner.js +1 -1
- package/runners/TestPlanRunner.js +7 -4
- package/services/gridService.js +1 -1
package/cli.js
CHANGED
|
@@ -94,6 +94,12 @@ function main() {
|
|
|
94
94
|
return undefined;
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
+
if (options.tunnelOnlyMode) {
|
|
98
|
+
await testRunner.init(options);
|
|
99
|
+
await require('./commons/testimTunnel').serveTunneling(options);
|
|
100
|
+
return undefined;
|
|
101
|
+
}
|
|
102
|
+
|
|
97
103
|
if (agentMode.shouldStartAgentMode(options)) {
|
|
98
104
|
return agentMode.runAgentMode(options);
|
|
99
105
|
}
|
package/commons/httpRequest.js
CHANGED
|
@@ -37,8 +37,8 @@ const logErrorAndRethrow = (logMsg, data) => err => {
|
|
|
37
37
|
throw err;
|
|
38
38
|
};
|
|
39
39
|
|
|
40
|
-
function deleteMethod(url, headers, timeout) {
|
|
41
|
-
return deleteFullRes(url, headers, timeout)
|
|
40
|
+
function deleteMethod(url, body, headers, timeout) {
|
|
41
|
+
return deleteFullRes(url, body, headers, timeout)
|
|
42
42
|
.then(res => {
|
|
43
43
|
if (res.type === 'text/plain') {
|
|
44
44
|
return res.text;
|
|
@@ -48,9 +48,10 @@ function deleteMethod(url, headers, timeout) {
|
|
|
48
48
|
.catch(logErrorAndRethrow('failed to delete request', { url }));
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
function deleteFullRes(url, headers = {}, timeout = DEFAULT_REQUEST_TIMEOUT) {
|
|
51
|
+
function deleteFullRes(url, body = {}, headers = {}, timeout = DEFAULT_REQUEST_TIMEOUT) {
|
|
52
52
|
const request = superagent
|
|
53
53
|
.delete(url)
|
|
54
|
+
.send(body)
|
|
54
55
|
.timeout(timeout)
|
|
55
56
|
.set(headers);
|
|
56
57
|
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const os = require('os');
|
|
4
|
+
const path = require('path');
|
|
5
|
+
const { spawn } = require('child_process');
|
|
6
|
+
const fse = require('fs-extra');
|
|
7
|
+
const { downloadAndSave, unzipFile } = require('../utils');
|
|
8
|
+
const servicesApi = require('./testimServicesApi.js');
|
|
9
|
+
|
|
10
|
+
const TUNNEL_BINARY_ORIGIN = 'https://github.com/cloudflare/cloudflared/releases/download/2022.4.1/';
|
|
11
|
+
const TUNNEL_BINARY_PATHNAME = {
|
|
12
|
+
win32ia32: { path: 'cloudflared-windows-386.exe' },
|
|
13
|
+
win32x64: { path: 'cloudflared-windows-amd64.exe' },
|
|
14
|
+
darwinx64: { path: 'cloudflared-darwin-amd64.tgz', extract: true },
|
|
15
|
+
linuxia32: { path: 'cloudflared-linux-386' },
|
|
16
|
+
linuxx64: { path: 'cloudflared-linux-amd64' },
|
|
17
|
+
};
|
|
18
|
+
const TUNNEL_BINARY_DIRECTORY = `${os.tmpdir()}/cloudflared`;
|
|
19
|
+
const TUNNEL_BINARY_LOCATION = `${TUNNEL_BINARY_DIRECTORY}/cloudflared`;
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
let tunnelId = null;
|
|
23
|
+
let tunnelProcess = null;
|
|
24
|
+
|
|
25
|
+
async function prepareTunnel() {
|
|
26
|
+
const isBinaryExist = await fse.pathExists(TUNNEL_BINARY_LOCATION);
|
|
27
|
+
if (isBinaryExist) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
const downloadUrl = TUNNEL_BINARY_PATHNAME[os.platform() + os.arch()];
|
|
32
|
+
if (!downloadUrl) {
|
|
33
|
+
throw new Error(`tunnel on ${os.platform() + os.arch()} platform is not supported.`);
|
|
34
|
+
}
|
|
35
|
+
const destination = downloadUrl.extract ? path.extname(downloadUrl.path) : downloadUrl.path;
|
|
36
|
+
await downloadAndSave(`${TUNNEL_BINARY_ORIGIN}/${downloadUrl.path}`, destination);
|
|
37
|
+
if (downloadUrl.extract) {
|
|
38
|
+
await unzipFile(destination, TUNNEL_BINARY_DIRECTORY);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
const connectTunnel = async (options) => {
|
|
43
|
+
const [result] = await Promise.all([
|
|
44
|
+
servicesApi.getCloudflareTunnel(options.company.companyId, options.tunnelRoutes),
|
|
45
|
+
prepareTunnel(),
|
|
46
|
+
]);
|
|
47
|
+
tunnelId = result._id;
|
|
48
|
+
tunnelProcess = spawn('./cloudflared', ['tunnel', '--no-autoupdate', 'run', '--force', '--token', result.token], { cwd: TUNNEL_BINARY_DIRECTORY, stdio: 'inherit' });
|
|
49
|
+
await servicesApi.forceUpdateCloudflareTunnelRoutes(options.company.companyId, tunnelId);
|
|
50
|
+
await fse.writeFileSync(options.tunnelRoutesOutput, JSON.stringify(result.routesMapping, null, 2));
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
const disconnectTunnel = async (options) => {
|
|
54
|
+
if (tunnelId) {
|
|
55
|
+
await servicesApi.deleteCloudflareTunnel(options.company.companyId, tunnelId);
|
|
56
|
+
}
|
|
57
|
+
if (tunnelProcess) {
|
|
58
|
+
await new Promise((resolve, reject) => {
|
|
59
|
+
tunnelProcess.on('close', (code) => {
|
|
60
|
+
if (code) {
|
|
61
|
+
reject();
|
|
62
|
+
}
|
|
63
|
+
resolve();
|
|
64
|
+
});
|
|
65
|
+
tunnelProcess.kill();
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
module.exports = {
|
|
71
|
+
connectTunnel,
|
|
72
|
+
disconnectTunnel,
|
|
73
|
+
};
|
|
@@ -55,6 +55,11 @@ function putAuth(url, body) {
|
|
|
55
55
|
.then(headers => httpRequest.put(`${config.SERVICES_HOST}${url || ''}`, body, headers));
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
+
function deleteAuth(url, body) {
|
|
59
|
+
return getTokenHeader()
|
|
60
|
+
.then(headers => httpRequest.delete(`${config.SERVICES_HOST}${url || ''}`, body, headers));
|
|
61
|
+
}
|
|
62
|
+
|
|
58
63
|
function getWithAuth(url, query, options, timeout) {
|
|
59
64
|
return getTokenHeader()
|
|
60
65
|
.then(headers => httpRequest.get(`${config.SERVICES_HOST}${url || ''}`, query, headers, timeout, options));
|
|
@@ -444,6 +449,32 @@ function getApplitoolsIntegrationData(projectId) {
|
|
|
444
449
|
}
|
|
445
450
|
}
|
|
446
451
|
|
|
452
|
+
|
|
453
|
+
function getCloudflareTunnel(companyId, routes) {
|
|
454
|
+
try {
|
|
455
|
+
return putAuth('/tunnel', { companyId, routes });
|
|
456
|
+
} catch (err) {
|
|
457
|
+
logger.warn('could\'nt get tunnel.', { err });
|
|
458
|
+
return {};
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
function forceUpdateCloudflareTunnelRoutes(companyId, tunnelId) {
|
|
462
|
+
try {
|
|
463
|
+
return postAuth({ url: `/tunnel/${tunnelId}`, body: { companyId } });
|
|
464
|
+
} catch (err) {
|
|
465
|
+
logger.warn('could\'nt get tunnel.', { err });
|
|
466
|
+
return {};
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
function deleteCloudflareTunnel(companyId, tunnelId) {
|
|
470
|
+
try {
|
|
471
|
+
return deleteAuth(`/tunnel/${tunnelId}`, { companyId });
|
|
472
|
+
} catch (err) {
|
|
473
|
+
logger.warn('could\'nt get tunnel.', { err });
|
|
474
|
+
return {};
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
|
|
447
478
|
module.exports = {
|
|
448
479
|
getS3Artifact,
|
|
449
480
|
getTestPlan,
|
|
@@ -476,4 +507,7 @@ module.exports = {
|
|
|
476
507
|
loadTest,
|
|
477
508
|
isTestResultCompleted,
|
|
478
509
|
getApplitoolsIntegrationData,
|
|
510
|
+
getCloudflareTunnel,
|
|
511
|
+
forceUpdateCloudflareTunnelRoutes,
|
|
512
|
+
deleteCloudflareTunnel,
|
|
479
513
|
};
|
package/commons/testimTunnel.js
CHANGED
|
@@ -3,22 +3,29 @@
|
|
|
3
3
|
const ora = require('ora');
|
|
4
4
|
|
|
5
5
|
const LambdatestService = require('../services/lambdatestService');
|
|
6
|
+
const { registerExitHook } = require('../processHandler');
|
|
7
|
+
const testimCustomToken = require('./testimCustomToken');
|
|
6
8
|
const { gridTypes } = require('./constants');
|
|
7
9
|
const testimNgrok = require('./testimNgrok');
|
|
10
|
+
const testimCloudflare = require('./testimCloudflare');
|
|
8
11
|
const logger = require('./logger').getLogger('tunnel');
|
|
9
12
|
|
|
10
|
-
const shouldUseLambdatestTunnel = options => [gridTypes.LAMBDATEST, gridTypes.HYBRID].includes(options.gridData.type) && options.gridData.tunnel !== 'ngrok';
|
|
13
|
+
const shouldUseLambdatestTunnel = options => [gridTypes.LAMBDATEST, gridTypes.HYBRID].includes(options.gridData && options.gridData.type) && options.gridData.tunnel !== 'ngrok';
|
|
11
14
|
|
|
12
|
-
const connect = async (options
|
|
15
|
+
const connect = async (options) => {
|
|
13
16
|
if (!options.tunnel) {
|
|
14
17
|
return;
|
|
15
18
|
}
|
|
16
19
|
|
|
20
|
+
const authData = testimCustomToken.getTokenV3UserData();
|
|
17
21
|
let spinner;
|
|
18
22
|
try {
|
|
19
23
|
if (shouldUseLambdatestTunnel(options)) {
|
|
20
24
|
spinner = ora('Starting testim lambdatest tunnel...').start();
|
|
21
25
|
await LambdatestService.connectTunnel(options);
|
|
26
|
+
} else if (options.tunnelRoutes) {
|
|
27
|
+
spinner = ora('Starting testim cloudflare tunnel...').start();
|
|
28
|
+
await testimCloudflare.connectTunnel(options);
|
|
22
29
|
} else {
|
|
23
30
|
spinner = ora('Starting testim ngrok tunnel...').start();
|
|
24
31
|
await testimNgrok.connectTunnel(options, authData);
|
|
@@ -40,6 +47,8 @@ const disconnect = async (options) => {
|
|
|
40
47
|
try {
|
|
41
48
|
if (shouldUseLambdatestTunnel(options)) {
|
|
42
49
|
await LambdatestService.disconnectTunnel(options);
|
|
50
|
+
} else if (options.tunnelRoutes) {
|
|
51
|
+
await testimCloudflare.disconnectTunnel(options);
|
|
43
52
|
} else {
|
|
44
53
|
await testimNgrok.disconnectTunnel(options);
|
|
45
54
|
}
|
|
@@ -50,7 +59,14 @@ const disconnect = async (options) => {
|
|
|
50
59
|
}
|
|
51
60
|
};
|
|
52
61
|
|
|
62
|
+
const serveTunneling = async (options) => {
|
|
63
|
+
await connect(options);
|
|
64
|
+
registerExitHook(() => disconnect(options));
|
|
65
|
+
return await new Promise(() => { /* avoid exiting process */ });
|
|
66
|
+
};
|
|
67
|
+
|
|
53
68
|
module.exports = {
|
|
54
69
|
connect,
|
|
55
70
|
disconnect,
|
|
71
|
+
serveTunneling,
|
|
56
72
|
};
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@testim/testim-cli",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.233.0",
|
|
4
4
|
"lockfileVersion": 2,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@testim/testim-cli",
|
|
9
|
-
"version": "3.
|
|
9
|
+
"version": "3.233.0",
|
|
10
10
|
"license": "Proprietary",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@applitools/eyes-sdk-core": "13.2.0",
|
|
@@ -103,12 +103,13 @@
|
|
|
103
103
|
}
|
|
104
104
|
},
|
|
105
105
|
"node_modules/@ampproject/remapping": {
|
|
106
|
-
"version": "2.
|
|
107
|
-
"resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.
|
|
108
|
-
"integrity": "sha512-
|
|
106
|
+
"version": "2.2.0",
|
|
107
|
+
"resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
|
|
108
|
+
"integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
|
|
109
109
|
"dev": true,
|
|
110
110
|
"dependencies": {
|
|
111
|
-
"@jridgewell/
|
|
111
|
+
"@jridgewell/gen-mapping": "^0.1.0",
|
|
112
|
+
"@jridgewell/trace-mapping": "^0.3.9"
|
|
112
113
|
},
|
|
113
114
|
"engines": {
|
|
114
115
|
"node": ">=6.0.0"
|
|
@@ -475,30 +476,30 @@
|
|
|
475
476
|
}
|
|
476
477
|
},
|
|
477
478
|
"node_modules/@babel/compat-data": {
|
|
478
|
-
"version": "7.17.
|
|
479
|
-
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.
|
|
480
|
-
"integrity": "sha512-
|
|
479
|
+
"version": "7.17.10",
|
|
480
|
+
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.10.tgz",
|
|
481
|
+
"integrity": "sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw==",
|
|
481
482
|
"dev": true,
|
|
482
483
|
"engines": {
|
|
483
484
|
"node": ">=6.9.0"
|
|
484
485
|
}
|
|
485
486
|
},
|
|
486
487
|
"node_modules/@babel/core": {
|
|
487
|
-
"version": "7.17.
|
|
488
|
-
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.
|
|
489
|
-
"integrity": "sha512-
|
|
488
|
+
"version": "7.17.10",
|
|
489
|
+
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.10.tgz",
|
|
490
|
+
"integrity": "sha512-liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA==",
|
|
490
491
|
"dev": true,
|
|
491
492
|
"dependencies": {
|
|
492
493
|
"@ampproject/remapping": "^2.1.0",
|
|
493
494
|
"@babel/code-frame": "^7.16.7",
|
|
494
|
-
"@babel/generator": "^7.17.
|
|
495
|
-
"@babel/helper-compilation-targets": "^7.17.
|
|
495
|
+
"@babel/generator": "^7.17.10",
|
|
496
|
+
"@babel/helper-compilation-targets": "^7.17.10",
|
|
496
497
|
"@babel/helper-module-transforms": "^7.17.7",
|
|
497
498
|
"@babel/helpers": "^7.17.9",
|
|
498
|
-
"@babel/parser": "^7.17.
|
|
499
|
+
"@babel/parser": "^7.17.10",
|
|
499
500
|
"@babel/template": "^7.16.7",
|
|
500
|
-
"@babel/traverse": "^7.17.
|
|
501
|
-
"@babel/types": "^7.17.
|
|
501
|
+
"@babel/traverse": "^7.17.10",
|
|
502
|
+
"@babel/types": "^7.17.10",
|
|
502
503
|
"convert-source-map": "^1.7.0",
|
|
503
504
|
"debug": "^4.1.0",
|
|
504
505
|
"gensync": "^1.0.0-beta.2",
|
|
@@ -532,28 +533,28 @@
|
|
|
532
533
|
}
|
|
533
534
|
},
|
|
534
535
|
"node_modules/@babel/generator": {
|
|
535
|
-
"version": "7.17.
|
|
536
|
-
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.
|
|
537
|
-
"integrity": "sha512-
|
|
536
|
+
"version": "7.17.10",
|
|
537
|
+
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz",
|
|
538
|
+
"integrity": "sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==",
|
|
538
539
|
"dev": true,
|
|
539
540
|
"dependencies": {
|
|
540
|
-
"@babel/types": "^7.17.
|
|
541
|
-
"
|
|
542
|
-
"
|
|
541
|
+
"@babel/types": "^7.17.10",
|
|
542
|
+
"@jridgewell/gen-mapping": "^0.1.0",
|
|
543
|
+
"jsesc": "^2.5.1"
|
|
543
544
|
},
|
|
544
545
|
"engines": {
|
|
545
546
|
"node": ">=6.9.0"
|
|
546
547
|
}
|
|
547
548
|
},
|
|
548
549
|
"node_modules/@babel/helper-compilation-targets": {
|
|
549
|
-
"version": "7.17.
|
|
550
|
-
"resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.
|
|
551
|
-
"integrity": "sha512-
|
|
550
|
+
"version": "7.17.10",
|
|
551
|
+
"resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz",
|
|
552
|
+
"integrity": "sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ==",
|
|
552
553
|
"dev": true,
|
|
553
554
|
"dependencies": {
|
|
554
|
-
"@babel/compat-data": "^7.17.
|
|
555
|
+
"@babel/compat-data": "^7.17.10",
|
|
555
556
|
"@babel/helper-validator-option": "^7.16.7",
|
|
556
|
-
"browserslist": "^4.
|
|
557
|
+
"browserslist": "^4.20.2",
|
|
557
558
|
"semver": "^6.3.0"
|
|
558
559
|
},
|
|
559
560
|
"engines": {
|
|
@@ -773,9 +774,9 @@
|
|
|
773
774
|
}
|
|
774
775
|
},
|
|
775
776
|
"node_modules/@babel/parser": {
|
|
776
|
-
"version": "7.17.
|
|
777
|
-
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.
|
|
778
|
-
"integrity": "sha512-
|
|
777
|
+
"version": "7.17.10",
|
|
778
|
+
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.10.tgz",
|
|
779
|
+
"integrity": "sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ==",
|
|
779
780
|
"dev": true,
|
|
780
781
|
"bin": {
|
|
781
782
|
"parser": "bin/babel-parser.js"
|
|
@@ -810,19 +811,19 @@
|
|
|
810
811
|
}
|
|
811
812
|
},
|
|
812
813
|
"node_modules/@babel/traverse": {
|
|
813
|
-
"version": "7.17.
|
|
814
|
-
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.
|
|
815
|
-
"integrity": "sha512-
|
|
814
|
+
"version": "7.17.10",
|
|
815
|
+
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.10.tgz",
|
|
816
|
+
"integrity": "sha512-VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw==",
|
|
816
817
|
"dev": true,
|
|
817
818
|
"dependencies": {
|
|
818
819
|
"@babel/code-frame": "^7.16.7",
|
|
819
|
-
"@babel/generator": "^7.17.
|
|
820
|
+
"@babel/generator": "^7.17.10",
|
|
820
821
|
"@babel/helper-environment-visitor": "^7.16.7",
|
|
821
822
|
"@babel/helper-function-name": "^7.17.9",
|
|
822
823
|
"@babel/helper-hoist-variables": "^7.16.7",
|
|
823
824
|
"@babel/helper-split-export-declaration": "^7.16.7",
|
|
824
|
-
"@babel/parser": "^7.17.
|
|
825
|
-
"@babel/types": "^7.17.
|
|
825
|
+
"@babel/parser": "^7.17.10",
|
|
826
|
+
"@babel/types": "^7.17.10",
|
|
826
827
|
"debug": "^4.1.0",
|
|
827
828
|
"globals": "^11.1.0"
|
|
828
829
|
},
|
|
@@ -831,9 +832,9 @@
|
|
|
831
832
|
}
|
|
832
833
|
},
|
|
833
834
|
"node_modules/@babel/types": {
|
|
834
|
-
"version": "7.17.
|
|
835
|
-
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.
|
|
836
|
-
"integrity": "sha512-
|
|
835
|
+
"version": "7.17.10",
|
|
836
|
+
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.10.tgz",
|
|
837
|
+
"integrity": "sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A==",
|
|
837
838
|
"dev": true,
|
|
838
839
|
"dependencies": {
|
|
839
840
|
"@babel/helper-validator-identifier": "^7.16.7",
|
|
@@ -1413,6 +1414,19 @@
|
|
|
1413
1414
|
"regenerator-runtime": "^0.13.3"
|
|
1414
1415
|
}
|
|
1415
1416
|
},
|
|
1417
|
+
"node_modules/@jridgewell/gen-mapping": {
|
|
1418
|
+
"version": "0.1.1",
|
|
1419
|
+
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
|
|
1420
|
+
"integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==",
|
|
1421
|
+
"dev": true,
|
|
1422
|
+
"dependencies": {
|
|
1423
|
+
"@jridgewell/set-array": "^1.0.0",
|
|
1424
|
+
"@jridgewell/sourcemap-codec": "^1.4.10"
|
|
1425
|
+
},
|
|
1426
|
+
"engines": {
|
|
1427
|
+
"node": ">=6.0.0"
|
|
1428
|
+
}
|
|
1429
|
+
},
|
|
1416
1430
|
"node_modules/@jridgewell/resolve-uri": {
|
|
1417
1431
|
"version": "3.0.6",
|
|
1418
1432
|
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.6.tgz",
|
|
@@ -1422,6 +1436,15 @@
|
|
|
1422
1436
|
"node": ">=6.0.0"
|
|
1423
1437
|
}
|
|
1424
1438
|
},
|
|
1439
|
+
"node_modules/@jridgewell/set-array": {
|
|
1440
|
+
"version": "1.1.0",
|
|
1441
|
+
"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.0.tgz",
|
|
1442
|
+
"integrity": "sha512-SfJxIxNVYLTsKwzB3MoOQ1yxf4w/E6MdkvTgrgAt1bfxjSrLUoHMKrDOykwN14q65waezZIdqDneUIPh4/sKxg==",
|
|
1443
|
+
"dev": true,
|
|
1444
|
+
"engines": {
|
|
1445
|
+
"node": ">=6.0.0"
|
|
1446
|
+
}
|
|
1447
|
+
},
|
|
1425
1448
|
"node_modules/@jridgewell/sourcemap-codec": {
|
|
1426
1449
|
"version": "1.4.11",
|
|
1427
1450
|
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz",
|
|
@@ -1492,14 +1515,6 @@
|
|
|
1492
1515
|
"integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==",
|
|
1493
1516
|
"dev": true
|
|
1494
1517
|
},
|
|
1495
|
-
"node_modules/@socket.io/base64-arraybuffer": {
|
|
1496
|
-
"version": "1.0.2",
|
|
1497
|
-
"resolved": "https://registry.npmjs.org/@socket.io/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz",
|
|
1498
|
-
"integrity": "sha512-dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ==",
|
|
1499
|
-
"engines": {
|
|
1500
|
-
"node": ">= 0.6.0"
|
|
1501
|
-
}
|
|
1502
|
-
},
|
|
1503
1518
|
"node_modules/@socket.io/component-emitter": {
|
|
1504
1519
|
"version": "3.0.0",
|
|
1505
1520
|
"resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.0.0.tgz",
|
|
@@ -1824,9 +1839,9 @@
|
|
|
1824
1839
|
}
|
|
1825
1840
|
},
|
|
1826
1841
|
"node_modules/acorn": {
|
|
1827
|
-
"version": "8.7.
|
|
1828
|
-
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.
|
|
1829
|
-
"integrity": "sha512-
|
|
1842
|
+
"version": "8.7.1",
|
|
1843
|
+
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz",
|
|
1844
|
+
"integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==",
|
|
1830
1845
|
"bin": {
|
|
1831
1846
|
"acorn": "bin/acorn"
|
|
1832
1847
|
},
|
|
@@ -2673,9 +2688,9 @@
|
|
|
2673
2688
|
}
|
|
2674
2689
|
},
|
|
2675
2690
|
"node_modules/axios-retry": {
|
|
2676
|
-
"version": "3.2.
|
|
2677
|
-
"resolved": "https://registry.npmjs.org/axios-retry/-/axios-retry-3.2.
|
|
2678
|
-
"integrity": "sha512-
|
|
2691
|
+
"version": "3.2.5",
|
|
2692
|
+
"resolved": "https://registry.npmjs.org/axios-retry/-/axios-retry-3.2.5.tgz",
|
|
2693
|
+
"integrity": "sha512-a8umkKbfIkTiYJQLx3v3TzKM85TGKB8ZQYz4zwykt2fpO64TsRlUhjaPaAb3fqMWCXFm2YhWcd8V5FHDKO9bSA==",
|
|
2679
2694
|
"dependencies": {
|
|
2680
2695
|
"@babel/runtime": "^7.15.4",
|
|
2681
2696
|
"is-retry-allowed": "^2.2.0"
|
|
@@ -2904,9 +2919,9 @@
|
|
|
2904
2919
|
"dev": true
|
|
2905
2920
|
},
|
|
2906
2921
|
"node_modules/browserslist": {
|
|
2907
|
-
"version": "4.20.
|
|
2908
|
-
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.
|
|
2909
|
-
"integrity": "sha512-
|
|
2922
|
+
"version": "4.20.3",
|
|
2923
|
+
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz",
|
|
2924
|
+
"integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==",
|
|
2910
2925
|
"dev": true,
|
|
2911
2926
|
"funding": [
|
|
2912
2927
|
{
|
|
@@ -2919,10 +2934,10 @@
|
|
|
2919
2934
|
}
|
|
2920
2935
|
],
|
|
2921
2936
|
"dependencies": {
|
|
2922
|
-
"caniuse-lite": "^1.0.
|
|
2923
|
-
"electron-to-chromium": "^1.4.
|
|
2937
|
+
"caniuse-lite": "^1.0.30001332",
|
|
2938
|
+
"electron-to-chromium": "^1.4.118",
|
|
2924
2939
|
"escalade": "^3.1.1",
|
|
2925
|
-
"node-releases": "^2.0.
|
|
2940
|
+
"node-releases": "^2.0.3",
|
|
2926
2941
|
"picocolors": "^1.0.0"
|
|
2927
2942
|
},
|
|
2928
2943
|
"bin": {
|
|
@@ -3113,9 +3128,9 @@
|
|
|
3113
3128
|
}
|
|
3114
3129
|
},
|
|
3115
3130
|
"node_modules/caniuse-lite": {
|
|
3116
|
-
"version": "1.0.
|
|
3117
|
-
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.
|
|
3118
|
-
"integrity": "sha512-
|
|
3131
|
+
"version": "1.0.30001335",
|
|
3132
|
+
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001335.tgz",
|
|
3133
|
+
"integrity": "sha512-ddP1Tgm7z2iIxu6QTtbZUv6HJxSaV/PZeSrWFZtbY4JZ69tOeNhBCl3HyRQgeNZKE5AOn1kpV7fhljigy0Ty3w==",
|
|
3119
3134
|
"dev": true,
|
|
3120
3135
|
"funding": [
|
|
3121
3136
|
{
|
|
@@ -4315,13 +4330,25 @@
|
|
|
4315
4330
|
"integrity": "sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA=="
|
|
4316
4331
|
},
|
|
4317
4332
|
"node_modules/data-urls": {
|
|
4318
|
-
"version": "3.0.
|
|
4319
|
-
"resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.
|
|
4320
|
-
"integrity": "sha512-
|
|
4333
|
+
"version": "3.0.2",
|
|
4334
|
+
"resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz",
|
|
4335
|
+
"integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==",
|
|
4321
4336
|
"dependencies": {
|
|
4322
|
-
"abab": "^2.0.
|
|
4337
|
+
"abab": "^2.0.6",
|
|
4323
4338
|
"whatwg-mimetype": "^3.0.0",
|
|
4324
|
-
"whatwg-url": "^
|
|
4339
|
+
"whatwg-url": "^11.0.0"
|
|
4340
|
+
},
|
|
4341
|
+
"engines": {
|
|
4342
|
+
"node": ">=12"
|
|
4343
|
+
}
|
|
4344
|
+
},
|
|
4345
|
+
"node_modules/data-urls/node_modules/whatwg-url": {
|
|
4346
|
+
"version": "11.0.0",
|
|
4347
|
+
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
|
|
4348
|
+
"integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
|
|
4349
|
+
"dependencies": {
|
|
4350
|
+
"tr46": "^3.0.0",
|
|
4351
|
+
"webidl-conversions": "^7.0.0"
|
|
4325
4352
|
},
|
|
4326
4353
|
"engines": {
|
|
4327
4354
|
"node": ">=12"
|
|
@@ -4854,9 +4881,9 @@
|
|
|
4854
4881
|
}
|
|
4855
4882
|
},
|
|
4856
4883
|
"node_modules/electron-to-chromium": {
|
|
4857
|
-
"version": "1.4.
|
|
4858
|
-
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.
|
|
4859
|
-
"integrity": "sha512-
|
|
4884
|
+
"version": "1.4.129",
|
|
4885
|
+
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.129.tgz",
|
|
4886
|
+
"integrity": "sha512-GgtN6bsDtHdtXJtlMYZWGB/uOyjZWjmRDumXTas7dGBaB9zUyCjzHet1DY2KhyHN8R0GLbzZWqm4efeddqqyRQ==",
|
|
4860
4887
|
"dev": true
|
|
4861
4888
|
},
|
|
4862
4889
|
"node_modules/emoji-regex": {
|
|
@@ -4923,12 +4950,9 @@
|
|
|
4923
4950
|
}
|
|
4924
4951
|
},
|
|
4925
4952
|
"node_modules/engine.io-parser": {
|
|
4926
|
-
"version": "5.0.
|
|
4927
|
-
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.
|
|
4928
|
-
"integrity": "sha512
|
|
4929
|
-
"dependencies": {
|
|
4930
|
-
"@socket.io/base64-arraybuffer": "~1.0.2"
|
|
4931
|
-
},
|
|
4953
|
+
"version": "5.0.4",
|
|
4954
|
+
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz",
|
|
4955
|
+
"integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==",
|
|
4932
4956
|
"engines": {
|
|
4933
4957
|
"node": ">=10.0.0"
|
|
4934
4958
|
}
|
|
@@ -9213,9 +9237,9 @@
|
|
|
9213
9237
|
}
|
|
9214
9238
|
},
|
|
9215
9239
|
"node_modules/node-releases": {
|
|
9216
|
-
"version": "2.0.
|
|
9217
|
-
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.
|
|
9218
|
-
"integrity": "sha512-
|
|
9240
|
+
"version": "2.0.4",
|
|
9241
|
+
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.4.tgz",
|
|
9242
|
+
"integrity": "sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ==",
|
|
9219
9243
|
"dev": true
|
|
9220
9244
|
},
|
|
9221
9245
|
"node_modules/nopt": {
|
|
@@ -16412,12 +16436,13 @@
|
|
|
16412
16436
|
},
|
|
16413
16437
|
"dependencies": {
|
|
16414
16438
|
"@ampproject/remapping": {
|
|
16415
|
-
"version": "2.
|
|
16416
|
-
"resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.
|
|
16417
|
-
"integrity": "sha512-
|
|
16439
|
+
"version": "2.2.0",
|
|
16440
|
+
"resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
|
|
16441
|
+
"integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
|
|
16418
16442
|
"dev": true,
|
|
16419
16443
|
"requires": {
|
|
16420
|
-
"@jridgewell/
|
|
16444
|
+
"@jridgewell/gen-mapping": "^0.1.0",
|
|
16445
|
+
"@jridgewell/trace-mapping": "^0.3.9"
|
|
16421
16446
|
}
|
|
16422
16447
|
},
|
|
16423
16448
|
"@applitools/dom-capture": {
|
|
@@ -16706,27 +16731,27 @@
|
|
|
16706
16731
|
}
|
|
16707
16732
|
},
|
|
16708
16733
|
"@babel/compat-data": {
|
|
16709
|
-
"version": "7.17.
|
|
16710
|
-
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.
|
|
16711
|
-
"integrity": "sha512-
|
|
16734
|
+
"version": "7.17.10",
|
|
16735
|
+
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.10.tgz",
|
|
16736
|
+
"integrity": "sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw==",
|
|
16712
16737
|
"dev": true
|
|
16713
16738
|
},
|
|
16714
16739
|
"@babel/core": {
|
|
16715
|
-
"version": "7.17.
|
|
16716
|
-
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.
|
|
16717
|
-
"integrity": "sha512-
|
|
16740
|
+
"version": "7.17.10",
|
|
16741
|
+
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.10.tgz",
|
|
16742
|
+
"integrity": "sha512-liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA==",
|
|
16718
16743
|
"dev": true,
|
|
16719
16744
|
"requires": {
|
|
16720
16745
|
"@ampproject/remapping": "^2.1.0",
|
|
16721
16746
|
"@babel/code-frame": "^7.16.7",
|
|
16722
|
-
"@babel/generator": "^7.17.
|
|
16723
|
-
"@babel/helper-compilation-targets": "^7.17.
|
|
16747
|
+
"@babel/generator": "^7.17.10",
|
|
16748
|
+
"@babel/helper-compilation-targets": "^7.17.10",
|
|
16724
16749
|
"@babel/helper-module-transforms": "^7.17.7",
|
|
16725
16750
|
"@babel/helpers": "^7.17.9",
|
|
16726
|
-
"@babel/parser": "^7.17.
|
|
16751
|
+
"@babel/parser": "^7.17.10",
|
|
16727
16752
|
"@babel/template": "^7.16.7",
|
|
16728
|
-
"@babel/traverse": "^7.17.
|
|
16729
|
-
"@babel/types": "^7.17.
|
|
16753
|
+
"@babel/traverse": "^7.17.10",
|
|
16754
|
+
"@babel/types": "^7.17.10",
|
|
16730
16755
|
"convert-source-map": "^1.7.0",
|
|
16731
16756
|
"debug": "^4.1.0",
|
|
16732
16757
|
"gensync": "^1.0.0-beta.2",
|
|
@@ -16752,25 +16777,25 @@
|
|
|
16752
16777
|
}
|
|
16753
16778
|
},
|
|
16754
16779
|
"@babel/generator": {
|
|
16755
|
-
"version": "7.17.
|
|
16756
|
-
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.
|
|
16757
|
-
"integrity": "sha512-
|
|
16780
|
+
"version": "7.17.10",
|
|
16781
|
+
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz",
|
|
16782
|
+
"integrity": "sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==",
|
|
16758
16783
|
"dev": true,
|
|
16759
16784
|
"requires": {
|
|
16760
|
-
"@babel/types": "^7.17.
|
|
16761
|
-
"
|
|
16762
|
-
"
|
|
16785
|
+
"@babel/types": "^7.17.10",
|
|
16786
|
+
"@jridgewell/gen-mapping": "^0.1.0",
|
|
16787
|
+
"jsesc": "^2.5.1"
|
|
16763
16788
|
}
|
|
16764
16789
|
},
|
|
16765
16790
|
"@babel/helper-compilation-targets": {
|
|
16766
|
-
"version": "7.17.
|
|
16767
|
-
"resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.
|
|
16768
|
-
"integrity": "sha512-
|
|
16791
|
+
"version": "7.17.10",
|
|
16792
|
+
"resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz",
|
|
16793
|
+
"integrity": "sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ==",
|
|
16769
16794
|
"dev": true,
|
|
16770
16795
|
"requires": {
|
|
16771
|
-
"@babel/compat-data": "^7.17.
|
|
16796
|
+
"@babel/compat-data": "^7.17.10",
|
|
16772
16797
|
"@babel/helper-validator-option": "^7.16.7",
|
|
16773
|
-
"browserslist": "^4.
|
|
16798
|
+
"browserslist": "^4.20.2",
|
|
16774
16799
|
"semver": "^6.3.0"
|
|
16775
16800
|
},
|
|
16776
16801
|
"dependencies": {
|
|
@@ -16937,9 +16962,9 @@
|
|
|
16937
16962
|
}
|
|
16938
16963
|
},
|
|
16939
16964
|
"@babel/parser": {
|
|
16940
|
-
"version": "7.17.
|
|
16941
|
-
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.
|
|
16942
|
-
"integrity": "sha512-
|
|
16965
|
+
"version": "7.17.10",
|
|
16966
|
+
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.10.tgz",
|
|
16967
|
+
"integrity": "sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ==",
|
|
16943
16968
|
"dev": true
|
|
16944
16969
|
},
|
|
16945
16970
|
"@babel/runtime": {
|
|
@@ -16962,27 +16987,27 @@
|
|
|
16962
16987
|
}
|
|
16963
16988
|
},
|
|
16964
16989
|
"@babel/traverse": {
|
|
16965
|
-
"version": "7.17.
|
|
16966
|
-
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.
|
|
16967
|
-
"integrity": "sha512-
|
|
16990
|
+
"version": "7.17.10",
|
|
16991
|
+
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.10.tgz",
|
|
16992
|
+
"integrity": "sha512-VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw==",
|
|
16968
16993
|
"dev": true,
|
|
16969
16994
|
"requires": {
|
|
16970
16995
|
"@babel/code-frame": "^7.16.7",
|
|
16971
|
-
"@babel/generator": "^7.17.
|
|
16996
|
+
"@babel/generator": "^7.17.10",
|
|
16972
16997
|
"@babel/helper-environment-visitor": "^7.16.7",
|
|
16973
16998
|
"@babel/helper-function-name": "^7.17.9",
|
|
16974
16999
|
"@babel/helper-hoist-variables": "^7.16.7",
|
|
16975
17000
|
"@babel/helper-split-export-declaration": "^7.16.7",
|
|
16976
|
-
"@babel/parser": "^7.17.
|
|
16977
|
-
"@babel/types": "^7.17.
|
|
17001
|
+
"@babel/parser": "^7.17.10",
|
|
17002
|
+
"@babel/types": "^7.17.10",
|
|
16978
17003
|
"debug": "^4.1.0",
|
|
16979
17004
|
"globals": "^11.1.0"
|
|
16980
17005
|
}
|
|
16981
17006
|
},
|
|
16982
17007
|
"@babel/types": {
|
|
16983
|
-
"version": "7.17.
|
|
16984
|
-
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.
|
|
16985
|
-
"integrity": "sha512-
|
|
17008
|
+
"version": "7.17.10",
|
|
17009
|
+
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.10.tgz",
|
|
17010
|
+
"integrity": "sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A==",
|
|
16986
17011
|
"dev": true,
|
|
16987
17012
|
"requires": {
|
|
16988
17013
|
"@babel/helper-validator-identifier": "^7.16.7",
|
|
@@ -17427,12 +17452,28 @@
|
|
|
17427
17452
|
"regenerator-runtime": "^0.13.3"
|
|
17428
17453
|
}
|
|
17429
17454
|
},
|
|
17455
|
+
"@jridgewell/gen-mapping": {
|
|
17456
|
+
"version": "0.1.1",
|
|
17457
|
+
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
|
|
17458
|
+
"integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==",
|
|
17459
|
+
"dev": true,
|
|
17460
|
+
"requires": {
|
|
17461
|
+
"@jridgewell/set-array": "^1.0.0",
|
|
17462
|
+
"@jridgewell/sourcemap-codec": "^1.4.10"
|
|
17463
|
+
}
|
|
17464
|
+
},
|
|
17430
17465
|
"@jridgewell/resolve-uri": {
|
|
17431
17466
|
"version": "3.0.6",
|
|
17432
17467
|
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.6.tgz",
|
|
17433
17468
|
"integrity": "sha512-R7xHtBSNm+9SyvpJkdQl+qrM3Hm2fea3Ef197M3mUug+v+yR+Rhfbs7PBtcBUVnIWJ4JcAdjvij+c8hXS9p5aw==",
|
|
17434
17469
|
"dev": true
|
|
17435
17470
|
},
|
|
17471
|
+
"@jridgewell/set-array": {
|
|
17472
|
+
"version": "1.1.0",
|
|
17473
|
+
"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.0.tgz",
|
|
17474
|
+
"integrity": "sha512-SfJxIxNVYLTsKwzB3MoOQ1yxf4w/E6MdkvTgrgAt1bfxjSrLUoHMKrDOykwN14q65waezZIdqDneUIPh4/sKxg==",
|
|
17475
|
+
"dev": true
|
|
17476
|
+
},
|
|
17436
17477
|
"@jridgewell/sourcemap-codec": {
|
|
17437
17478
|
"version": "1.4.11",
|
|
17438
17479
|
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz",
|
|
@@ -17503,11 +17544,6 @@
|
|
|
17503
17544
|
"integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==",
|
|
17504
17545
|
"dev": true
|
|
17505
17546
|
},
|
|
17506
|
-
"@socket.io/base64-arraybuffer": {
|
|
17507
|
-
"version": "1.0.2",
|
|
17508
|
-
"resolved": "https://registry.npmjs.org/@socket.io/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz",
|
|
17509
|
-
"integrity": "sha512-dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ=="
|
|
17510
|
-
},
|
|
17511
17547
|
"@socket.io/component-emitter": {
|
|
17512
17548
|
"version": "3.0.0",
|
|
17513
17549
|
"resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.0.0.tgz",
|
|
@@ -17788,9 +17824,9 @@
|
|
|
17788
17824
|
}
|
|
17789
17825
|
},
|
|
17790
17826
|
"acorn": {
|
|
17791
|
-
"version": "8.7.
|
|
17792
|
-
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.
|
|
17793
|
-
"integrity": "sha512-
|
|
17827
|
+
"version": "8.7.1",
|
|
17828
|
+
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz",
|
|
17829
|
+
"integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A=="
|
|
17794
17830
|
},
|
|
17795
17831
|
"acorn-globals": {
|
|
17796
17832
|
"version": "6.0.0",
|
|
@@ -18455,9 +18491,9 @@
|
|
|
18455
18491
|
}
|
|
18456
18492
|
},
|
|
18457
18493
|
"axios-retry": {
|
|
18458
|
-
"version": "3.2.
|
|
18459
|
-
"resolved": "https://registry.npmjs.org/axios-retry/-/axios-retry-3.2.
|
|
18460
|
-
"integrity": "sha512-
|
|
18494
|
+
"version": "3.2.5",
|
|
18495
|
+
"resolved": "https://registry.npmjs.org/axios-retry/-/axios-retry-3.2.5.tgz",
|
|
18496
|
+
"integrity": "sha512-a8umkKbfIkTiYJQLx3v3TzKM85TGKB8ZQYz4zwykt2fpO64TsRlUhjaPaAb3fqMWCXFm2YhWcd8V5FHDKO9bSA==",
|
|
18461
18497
|
"requires": {
|
|
18462
18498
|
"@babel/runtime": "^7.15.4",
|
|
18463
18499
|
"is-retry-allowed": "^2.2.0"
|
|
@@ -18658,15 +18694,15 @@
|
|
|
18658
18694
|
"dev": true
|
|
18659
18695
|
},
|
|
18660
18696
|
"browserslist": {
|
|
18661
|
-
"version": "4.20.
|
|
18662
|
-
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.
|
|
18663
|
-
"integrity": "sha512-
|
|
18697
|
+
"version": "4.20.3",
|
|
18698
|
+
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz",
|
|
18699
|
+
"integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==",
|
|
18664
18700
|
"dev": true,
|
|
18665
18701
|
"requires": {
|
|
18666
|
-
"caniuse-lite": "^1.0.
|
|
18667
|
-
"electron-to-chromium": "^1.4.
|
|
18702
|
+
"caniuse-lite": "^1.0.30001332",
|
|
18703
|
+
"electron-to-chromium": "^1.4.118",
|
|
18668
18704
|
"escalade": "^3.1.1",
|
|
18669
|
-
"node-releases": "^2.0.
|
|
18705
|
+
"node-releases": "^2.0.3",
|
|
18670
18706
|
"picocolors": "^1.0.0"
|
|
18671
18707
|
}
|
|
18672
18708
|
},
|
|
@@ -18803,9 +18839,9 @@
|
|
|
18803
18839
|
"dev": true
|
|
18804
18840
|
},
|
|
18805
18841
|
"caniuse-lite": {
|
|
18806
|
-
"version": "1.0.
|
|
18807
|
-
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.
|
|
18808
|
-
"integrity": "sha512-
|
|
18842
|
+
"version": "1.0.30001335",
|
|
18843
|
+
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001335.tgz",
|
|
18844
|
+
"integrity": "sha512-ddP1Tgm7z2iIxu6QTtbZUv6HJxSaV/PZeSrWFZtbY4JZ69tOeNhBCl3HyRQgeNZKE5AOn1kpV7fhljigy0Ty3w==",
|
|
18809
18845
|
"dev": true
|
|
18810
18846
|
},
|
|
18811
18847
|
"caseless": {
|
|
@@ -19780,13 +19816,24 @@
|
|
|
19780
19816
|
"integrity": "sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA=="
|
|
19781
19817
|
},
|
|
19782
19818
|
"data-urls": {
|
|
19783
|
-
"version": "3.0.
|
|
19784
|
-
"resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.
|
|
19785
|
-
"integrity": "sha512-
|
|
19819
|
+
"version": "3.0.2",
|
|
19820
|
+
"resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz",
|
|
19821
|
+
"integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==",
|
|
19786
19822
|
"requires": {
|
|
19787
|
-
"abab": "^2.0.
|
|
19823
|
+
"abab": "^2.0.6",
|
|
19788
19824
|
"whatwg-mimetype": "^3.0.0",
|
|
19789
|
-
"whatwg-url": "^
|
|
19825
|
+
"whatwg-url": "^11.0.0"
|
|
19826
|
+
},
|
|
19827
|
+
"dependencies": {
|
|
19828
|
+
"whatwg-url": {
|
|
19829
|
+
"version": "11.0.0",
|
|
19830
|
+
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz",
|
|
19831
|
+
"integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==",
|
|
19832
|
+
"requires": {
|
|
19833
|
+
"tr46": "^3.0.0",
|
|
19834
|
+
"webidl-conversions": "^7.0.0"
|
|
19835
|
+
}
|
|
19836
|
+
}
|
|
19790
19837
|
}
|
|
19791
19838
|
},
|
|
19792
19839
|
"dateformat": {
|
|
@@ -20213,9 +20260,9 @@
|
|
|
20213
20260
|
}
|
|
20214
20261
|
},
|
|
20215
20262
|
"electron-to-chromium": {
|
|
20216
|
-
"version": "1.4.
|
|
20217
|
-
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.
|
|
20218
|
-
"integrity": "sha512-
|
|
20263
|
+
"version": "1.4.129",
|
|
20264
|
+
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.129.tgz",
|
|
20265
|
+
"integrity": "sha512-GgtN6bsDtHdtXJtlMYZWGB/uOyjZWjmRDumXTas7dGBaB9zUyCjzHet1DY2KhyHN8R0GLbzZWqm4efeddqqyRQ==",
|
|
20219
20266
|
"dev": true
|
|
20220
20267
|
},
|
|
20221
20268
|
"emoji-regex": {
|
|
@@ -20267,12 +20314,9 @@
|
|
|
20267
20314
|
}
|
|
20268
20315
|
},
|
|
20269
20316
|
"engine.io-parser": {
|
|
20270
|
-
"version": "5.0.
|
|
20271
|
-
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.
|
|
20272
|
-
"integrity": "sha512
|
|
20273
|
-
"requires": {
|
|
20274
|
-
"@socket.io/base64-arraybuffer": "~1.0.2"
|
|
20275
|
-
}
|
|
20317
|
+
"version": "5.0.4",
|
|
20318
|
+
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz",
|
|
20319
|
+
"integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg=="
|
|
20276
20320
|
},
|
|
20277
20321
|
"errno": {
|
|
20278
20322
|
"version": "0.1.8",
|
|
@@ -23656,9 +23700,9 @@
|
|
|
23656
23700
|
}
|
|
23657
23701
|
},
|
|
23658
23702
|
"node-releases": {
|
|
23659
|
-
"version": "2.0.
|
|
23660
|
-
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.
|
|
23661
|
-
"integrity": "sha512-
|
|
23703
|
+
"version": "2.0.4",
|
|
23704
|
+
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.4.tgz",
|
|
23705
|
+
"integrity": "sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ==",
|
|
23662
23706
|
"dev": true
|
|
23663
23707
|
},
|
|
23664
23708
|
"nopt": {
|
package/package.json
CHANGED
|
@@ -154,7 +154,7 @@ class WebDriverHttpRequest {
|
|
|
154
154
|
httpDeleteRequest(path) {
|
|
155
155
|
const requestId = utils.guid();
|
|
156
156
|
logger.info("DELETE REQUEST", {requestId, path, testResultId: this.testResultId});
|
|
157
|
-
return httpRequest.deleteFullRes(`${this.gridUrl}${path}`, this.headers, this.connectionRetryTimeout)
|
|
157
|
+
return httpRequest.deleteFullRes(`${this.gridUrl}${path}`, undefined, this.headers, this.connectionRetryTimeout)
|
|
158
158
|
.tap((response) => logger.info("DELETE RESPONSE", {
|
|
159
159
|
requestId,
|
|
160
160
|
path,
|
package/runOptions.js
CHANGED
|
@@ -295,7 +295,9 @@ program
|
|
|
295
295
|
.option('--require-credentials', 'Log in to Testim if not already logged in')
|
|
296
296
|
|
|
297
297
|
// Tunnel
|
|
298
|
+
.option('tunneld', 'run a tunnel daemon only')
|
|
298
299
|
.option('--tunnel [tunnel]', 'enable tunnel')
|
|
300
|
+
.option('--tunnel-routes [routes]', 'tunnel routes for cloudflare tunnels')
|
|
299
301
|
.option('--tunnel-port [tunnel-port]', 'tunnel port address')
|
|
300
302
|
.option('--tunnel-host-header [tunnel-host-header]', 'tunnel host header')
|
|
301
303
|
.option('--tunnel-region [tunnel-region]', 'ngrok tunnel region')
|
|
@@ -522,6 +524,23 @@ module.exports = {
|
|
|
522
524
|
throw err;
|
|
523
525
|
}
|
|
524
526
|
|
|
527
|
+
if (program.tunneld) {
|
|
528
|
+
return {
|
|
529
|
+
tunnel: true,
|
|
530
|
+
tunnelPort: program.tunnelPort,
|
|
531
|
+
tunnelRoutes: program.tunnelRoutes,
|
|
532
|
+
tunnelRoutesOutput: program.tunnelRoutesOutput,
|
|
533
|
+
tunnelHostHeader: program.tunnelHostHeader,
|
|
534
|
+
tunnelRegion: program.tunnelRegion,
|
|
535
|
+
tunnelDiagnostics: program.tunnelDiagnostics,
|
|
536
|
+
tunnelUseHttpAddress: program.tunnelUseHttpAddress,
|
|
537
|
+
tunnelOnlyMode: true,
|
|
538
|
+
token: program.token,
|
|
539
|
+
project: program.project,
|
|
540
|
+
};
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
|
|
525
544
|
const isTestConfigSpecified = (program.testConfig && program.testConfig.length) || (program.testConfigId && program.testConfigId.length);
|
|
526
545
|
const isTestPlanSpecified = (program.testPlan && program.testPlan.length) || (program.testPlanId && program.testPlanId.length);
|
|
527
546
|
const isSuiteSpecified = (program.suite && program.suite.length) || (program.suiteId && program.suiteId.length);
|
|
@@ -1108,6 +1127,8 @@ module.exports = {
|
|
|
1108
1127
|
// Tunnel
|
|
1109
1128
|
tunnel: program.tunnel,
|
|
1110
1129
|
tunnelPort: program.tunnelPort,
|
|
1130
|
+
tunnelRoutes: program.tunnelRoutes,
|
|
1131
|
+
tunnelRoutesOutput: program.tunnelRoutesOutput,
|
|
1111
1132
|
tunnelHostHeader: program.tunnelHostHeader,
|
|
1112
1133
|
tunnelRegion: program.tunnelRegion,
|
|
1113
1134
|
tunnelDiagnostics: program.tunnelDiagnostics,
|
package/runner.js
CHANGED
|
@@ -213,7 +213,7 @@ function runRunner(options, customExtensionLocalLocation) {
|
|
|
213
213
|
|
|
214
214
|
return validateCliAccount(options)
|
|
215
215
|
.log('in runRunner before tunnel.connect')
|
|
216
|
-
.then(() => tunnel.connect(options
|
|
216
|
+
.then(() => tunnel.connect(options))
|
|
217
217
|
.log('in runRunner after tunnel.connect')
|
|
218
218
|
.then(() => new TestPlanRunner(customExtensionLocalLocation).run(options))
|
|
219
219
|
.log('before tunnel.disconnect')
|
|
@@ -88,22 +88,25 @@ class TestPlanRunner {
|
|
|
88
88
|
await EyeSdkBuilder.closeBatch(executionId);
|
|
89
89
|
return;
|
|
90
90
|
}
|
|
91
|
+
/** @type {Awaited<ReturnType<typeof testimServicesApi['getApplitoolsIntegrationData']>>} */
|
|
92
|
+
let applitoolsIntegrationData;
|
|
91
93
|
try {
|
|
92
94
|
if (!tpOptions.company || !tpOptions.company.activePlan || !tpOptions.company.activePlan.premiumFeatures || !tpOptions.company.activePlan.premiumFeatures.applitools) {
|
|
93
95
|
return;
|
|
94
96
|
}
|
|
95
|
-
|
|
96
|
-
if (_.isEmpty(applitoolsIntegrationData)) {
|
|
97
|
+
applitoolsIntegrationData = await testimServicesApi.getApplitoolsIntegrationData(tpOptions.project);
|
|
98
|
+
if (_.isEmpty(applitoolsIntegrationData) || !executionId) {
|
|
97
99
|
return;
|
|
98
100
|
}
|
|
99
101
|
const { runKey: apiKey, url: serverUrl } = applitoolsIntegrationData;
|
|
100
102
|
const tmpSDK = require('@applitools/eyes-sdk-core').makeSDK({ name: 'Testim.io', version: '4.0.0', spec: {} });
|
|
101
103
|
await tmpSDK.closeBatches({ batchIds: [executionId], serverUrl, apiKey });
|
|
102
104
|
} catch (err) {
|
|
103
|
-
|
|
105
|
+
// If a batch with this name did not exist, do not log an error.
|
|
106
|
+
if (err.message && (err.message.startsWith('Request failed with status code 404') || err.message.startsWith('no batchIds were set'))) {
|
|
104
107
|
return;
|
|
105
108
|
}
|
|
106
|
-
logger.error('Failed closing batch in extension mode', { err, projectId: tpOptions.project });
|
|
109
|
+
logger.error('Failed closing batch in extension mode', { err, projectId: tpOptions.project, applitoolsIntegrationData, batchIds: [executionId] });
|
|
107
110
|
}
|
|
108
111
|
});
|
|
109
112
|
}
|
package/services/gridService.js
CHANGED
|
@@ -258,7 +258,7 @@ async function getGridData(options) {
|
|
|
258
258
|
if (grid) {
|
|
259
259
|
return getGridDataByGridName(companyId, grid, allGrids);
|
|
260
260
|
}
|
|
261
|
-
if (hasTestPlanFlag(options)) {
|
|
261
|
+
if (hasTestPlanFlag(options) || options.tunnelOnlyMode) {
|
|
262
262
|
logger.info('skipping getting grid, as it is set on test plan', { companyId });
|
|
263
263
|
return undefined;
|
|
264
264
|
}
|