appium 2.0.0-beta.5 → 2.0.0-beta.52
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/README.md +156 -63
- package/build/lib/appium.d.ts +226 -0
- package/build/lib/appium.d.ts.map +1 -0
- package/build/lib/appium.js +694 -439
- package/build/lib/appium.js.map +1 -0
- package/build/lib/cli/args.d.ts +17 -0
- package/build/lib/cli/args.d.ts.map +1 -0
- package/build/lib/cli/args.js +253 -319
- package/build/lib/cli/args.js.map +1 -0
- package/build/lib/cli/driver-command.d.ts +102 -0
- package/build/lib/cli/driver-command.d.ts.map +1 -0
- package/build/lib/cli/driver-command.js +126 -81
- package/build/lib/cli/driver-command.js.map +1 -0
- package/build/lib/cli/extension-command.d.ts +385 -0
- package/build/lib/cli/extension-command.d.ts.map +1 -0
- package/build/lib/cli/extension-command.js +731 -383
- package/build/lib/cli/extension-command.js.map +1 -0
- package/build/lib/cli/extension.d.ts +23 -0
- package/build/lib/cli/extension.d.ts.map +1 -0
- package/build/lib/cli/extension.js +71 -54
- package/build/lib/cli/extension.js.map +1 -0
- package/build/lib/cli/parser.d.ts +84 -0
- package/build/lib/cli/parser.d.ts.map +1 -0
- package/build/lib/cli/parser.js +240 -128
- package/build/lib/cli/parser.js.map +1 -0
- package/build/lib/cli/plugin-command.d.ts +99 -0
- package/build/lib/cli/plugin-command.d.ts.map +1 -0
- package/build/lib/cli/plugin-command.js +120 -81
- package/build/lib/cli/plugin-command.js.map +1 -0
- package/build/lib/cli/utils.d.ts +29 -0
- package/build/lib/cli/utils.d.ts.map +1 -0
- package/build/lib/cli/utils.js +72 -51
- package/build/lib/cli/utils.js.map +1 -0
- package/build/lib/config-file.d.ts +100 -0
- package/build/lib/config-file.d.ts.map +1 -0
- package/build/lib/config-file.js +207 -0
- package/build/lib/config-file.js.map +1 -0
- package/build/lib/config.d.ts +49 -0
- package/build/lib/config.d.ts.map +1 -0
- package/build/lib/config.js +265 -201
- package/build/lib/config.js.map +1 -0
- package/build/lib/constants.d.ts +49 -0
- package/build/lib/constants.d.ts.map +1 -0
- package/build/lib/constants.js +66 -0
- package/build/lib/constants.js.map +1 -0
- package/build/lib/extension/driver-config.d.ts +82 -0
- package/build/lib/extension/driver-config.d.ts.map +1 -0
- package/build/lib/extension/driver-config.js +212 -0
- package/build/lib/extension/driver-config.js.map +1 -0
- package/build/lib/extension/extension-config.d.ts +249 -0
- package/build/lib/extension/extension-config.d.ts.map +1 -0
- package/build/lib/extension/extension-config.js +581 -0
- package/build/lib/extension/extension-config.js.map +1 -0
- package/build/lib/extension/index.d.ts +48 -0
- package/build/lib/extension/index.d.ts.map +1 -0
- package/build/lib/extension/index.js +105 -0
- package/build/lib/extension/index.js.map +1 -0
- package/build/lib/extension/manifest-migrations.d.ts +27 -0
- package/build/lib/extension/manifest-migrations.d.ts.map +1 -0
- package/build/lib/extension/manifest-migrations.js +118 -0
- package/build/lib/extension/manifest-migrations.js.map +1 -0
- package/build/lib/extension/manifest.d.ts +145 -0
- package/build/lib/extension/manifest.d.ts.map +1 -0
- package/build/lib/extension/manifest.js +521 -0
- package/build/lib/extension/manifest.js.map +1 -0
- package/build/lib/extension/package-changed.d.ts +11 -0
- package/build/lib/extension/package-changed.d.ts.map +1 -0
- package/build/lib/extension/package-changed.js +62 -0
- package/build/lib/extension/package-changed.js.map +1 -0
- package/build/lib/extension/plugin-config.d.ts +56 -0
- package/build/lib/extension/plugin-config.d.ts.map +1 -0
- package/build/lib/extension/plugin-config.js +102 -0
- package/build/lib/extension/plugin-config.js.map +1 -0
- package/build/lib/grid-register.d.ts +10 -0
- package/build/lib/grid-register.d.ts.map +1 -0
- package/build/lib/grid-register.js +122 -144
- package/build/lib/grid-register.js.map +1 -0
- package/build/lib/logger.d.ts +3 -0
- package/build/lib/logger.d.ts.map +1 -0
- package/build/lib/logger.js +5 -17
- package/build/lib/logger.js.map +1 -0
- package/build/lib/logsink.d.ts +4 -0
- package/build/lib/logsink.d.ts.map +1 -0
- package/build/lib/logsink.js +190 -187
- package/build/lib/logsink.js.map +1 -0
- package/build/lib/main.d.ts +62 -0
- package/build/lib/main.d.ts.map +1 -0
- package/build/lib/main.js +348 -228
- package/build/lib/main.js.map +1 -0
- package/build/lib/schema/arg-spec.d.ts +143 -0
- package/build/lib/schema/arg-spec.d.ts.map +1 -0
- package/build/lib/schema/arg-spec.js +164 -0
- package/build/lib/schema/arg-spec.js.map +1 -0
- package/build/lib/schema/cli-args.d.ts +19 -0
- package/build/lib/schema/cli-args.d.ts.map +1 -0
- package/build/lib/schema/cli-args.js +217 -0
- package/build/lib/schema/cli-args.js.map +1 -0
- package/build/lib/schema/cli-transformers.d.ts +5 -0
- package/build/lib/schema/cli-transformers.d.ts.map +1 -0
- package/build/lib/schema/cli-transformers.js +124 -0
- package/build/lib/schema/cli-transformers.js.map +1 -0
- package/build/lib/schema/index.d.ts +3 -0
- package/build/lib/schema/index.d.ts.map +1 -0
- package/build/lib/schema/index.js +19 -0
- package/build/lib/schema/index.js.map +1 -0
- package/build/lib/schema/keywords.d.ts +24 -0
- package/build/lib/schema/keywords.d.ts.map +1 -0
- package/build/lib/schema/keywords.js +128 -0
- package/build/lib/schema/keywords.js.map +1 -0
- package/build/lib/schema/schema.d.ts +259 -0
- package/build/lib/schema/schema.d.ts.map +1 -0
- package/build/lib/schema/schema.js +615 -0
- package/build/lib/schema/schema.js.map +1 -0
- package/build/lib/utils.d.ts +121 -0
- package/build/lib/utils.d.ts.map +1 -0
- package/build/lib/utils.js +351 -273
- package/build/lib/utils.js.map +1 -0
- package/build/tsconfig.tsbuildinfo +1 -0
- package/build/types/cli.d.ts +134 -0
- package/build/types/cli.d.ts.map +1 -0
- package/build/types/cli.js +3 -0
- package/build/types/cli.js.map +1 -0
- package/build/types/index.d.ts +15 -0
- package/build/types/index.d.ts.map +1 -0
- package/build/types/index.js +19 -0
- package/build/types/index.js.map +1 -0
- package/build/types/manifest/base.d.ts +135 -0
- package/build/types/manifest/base.d.ts.map +1 -0
- package/build/types/manifest/base.js +3 -0
- package/build/types/manifest/base.js.map +1 -0
- package/build/types/manifest/index.d.ts +19 -0
- package/build/types/manifest/index.d.ts.map +1 -0
- package/build/types/manifest/index.js +40 -0
- package/build/types/manifest/index.js.map +1 -0
- package/build/types/manifest/v3.d.ts +139 -0
- package/build/types/manifest/v3.d.ts.map +1 -0
- package/build/types/manifest/v3.js +3 -0
- package/build/types/manifest/v3.js.map +1 -0
- package/driver.d.ts +1 -0
- package/driver.js +14 -0
- package/index.js +11 -0
- package/lib/appium.js +535 -186
- package/lib/cli/args.js +267 -422
- package/lib/cli/driver-command.js +126 -23
- package/lib/cli/extension-command.js +679 -271
- package/lib/cli/extension.js +48 -17
- package/lib/cli/parser.js +263 -83
- package/lib/cli/plugin-command.js +115 -20
- package/lib/cli/utils.js +24 -10
- package/lib/config-file.js +220 -0
- package/lib/config.js +244 -110
- package/lib/constants.js +71 -0
- package/lib/extension/driver-config.js +250 -0
- package/lib/extension/extension-config.js +682 -0
- package/lib/extension/index.js +116 -0
- package/lib/extension/manifest-migrations.js +120 -0
- package/lib/extension/manifest.js +573 -0
- package/lib/extension/package-changed.js +64 -0
- package/lib/extension/plugin-config.js +112 -0
- package/lib/grid-register.js +49 -35
- package/lib/logger.js +1 -2
- package/lib/logsink.js +64 -38
- package/lib/main.js +321 -101
- package/lib/schema/arg-spec.js +229 -0
- package/lib/schema/cli-args.js +238 -0
- package/lib/schema/cli-transformers.js +119 -0
- package/lib/schema/index.js +2 -0
- package/lib/schema/keywords.js +136 -0
- package/lib/schema/schema.js +722 -0
- package/lib/utils.js +291 -167
- package/package.json +83 -84
- package/plugin.d.ts +1 -0
- package/plugin.js +13 -0
- package/scripts/autoinstall-extensions.js +237 -0
- package/support.d.ts +1 -0
- package/support.js +13 -0
- package/tsconfig.json +25 -0
- package/types/cli.ts +189 -0
- package/types/index.ts +20 -0
- package/types/manifest/README.md +30 -0
- package/types/manifest/base.ts +158 -0
- package/types/manifest/index.ts +27 -0
- package/types/manifest/v3.ts +161 -0
- package/CHANGELOG.md +0 -3515
- package/bin/ios-webkit-debug-proxy-launcher.js +0 -71
- package/build/lib/cli/npm.js +0 -208
- package/build/lib/cli/parser-helpers.js +0 -82
- package/build/lib/driver-config.js +0 -77
- package/build/lib/drivers.js +0 -96
- package/build/lib/extension-config.js +0 -253
- package/build/lib/plugin-config.js +0 -59
- package/build/lib/plugins.js +0 -14
- package/lib/cli/npm.js +0 -184
- package/lib/cli/parser-helpers.js +0 -79
- package/lib/driver-config.js +0 -46
- package/lib/drivers.js +0 -81
- package/lib/extension-config.js +0 -209
- package/lib/plugin-config.js +0 -34
- package/lib/plugins.js +0 -10
package/build/lib/config.js
CHANGED
|
@@ -1,230 +1,294 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
exports.checkValidPort = checkValidPort;
|
|
17
|
-
exports.updateBuildInfo = updateBuildInfo;
|
|
18
|
-
exports.APPIUM_VER = void 0;
|
|
19
|
-
|
|
20
|
-
require("source-map-support/register");
|
|
21
|
-
|
|
22
|
-
var _lodash = _interopRequireDefault(require("lodash"));
|
|
23
|
-
|
|
24
|
-
var _path = _interopRequireDefault(require("path"));
|
|
25
|
-
|
|
26
|
-
var _appiumSupport = require("appium-support");
|
|
27
|
-
|
|
28
|
-
var _axios = _interopRequireDefault(require("axios"));
|
|
29
|
-
|
|
30
|
-
var _teen_process = require("teen_process");
|
|
31
|
-
|
|
32
|
-
var _utils = require("./utils");
|
|
33
|
-
|
|
34
|
-
var _logger = _interopRequireDefault(require("./logger"));
|
|
35
|
-
|
|
36
|
-
var _semver = _interopRequireDefault(require("semver"));
|
|
37
|
-
|
|
38
|
-
const npmPackage = require(_path.default.resolve(_utils.rootDir, 'package.json'));
|
|
39
|
-
|
|
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.rootDir = exports.showConfig = exports.updateBuildInfo = exports.APPIUM_VER = exports.getGitRev = exports.getNonDefaultServerArgs = exports.validateTmpDir = exports.warnNodeDeprecations = exports.showBuildInfo = exports.checkNodeOk = exports.getBuildInfo = exports.checkNpmOk = void 0;
|
|
7
|
+
/* eslint-disable no-console */
|
|
8
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
9
|
+
const support_1 = require("@appium/support");
|
|
10
|
+
const axios_1 = __importDefault(require("axios"));
|
|
11
|
+
const teen_process_1 = require("teen_process");
|
|
12
|
+
const semver_1 = __importDefault(require("semver"));
|
|
13
|
+
const find_up_1 = __importDefault(require("find-up"));
|
|
14
|
+
const schema_1 = require("./schema/schema");
|
|
15
|
+
const npmPackage = support_1.fs.readPackageJsonFrom(__dirname);
|
|
40
16
|
const APPIUM_VER = npmPackage.version;
|
|
41
17
|
exports.APPIUM_VER = APPIUM_VER;
|
|
42
18
|
const MIN_NODE_VERSION = npmPackage.engines.node;
|
|
19
|
+
const MIN_NPM_VERSION = npmPackage.engines.npm;
|
|
43
20
|
const GIT_META_ROOT = '.git';
|
|
44
|
-
const GIT_BINARY = `git${
|
|
21
|
+
const GIT_BINARY = `git${support_1.system.isWindows() ? '.exe' : ''}`;
|
|
45
22
|
const GITHUB_API = 'https://api.github.com/repos/appium/appium';
|
|
23
|
+
/**
|
|
24
|
+
* @type {import('appium/types').BuildInfo}
|
|
25
|
+
*/
|
|
46
26
|
const BUILD_INFO = {
|
|
47
|
-
|
|
27
|
+
version: APPIUM_VER,
|
|
48
28
|
};
|
|
49
|
-
|
|
50
29
|
function getNodeVersion() {
|
|
51
|
-
|
|
30
|
+
return /** @type {import('semver').SemVer} */ (semver_1.default.coerce(process.version));
|
|
52
31
|
}
|
|
53
|
-
|
|
32
|
+
/**
|
|
33
|
+
* Returns version of `npm`
|
|
34
|
+
* @returns {Promise<string>}
|
|
35
|
+
*/
|
|
36
|
+
async function getNpmVersion() {
|
|
37
|
+
const { stdout } = await (0, teen_process_1.exec)(support_1.system.isWindows() ? 'npm.cmd' : 'npm', ['--version']);
|
|
38
|
+
return stdout.trim();
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* @param {boolean} [useGithubApiFallback]
|
|
42
|
+
*/
|
|
54
43
|
async function updateBuildInfo(useGithubApiFallback = false) {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
44
|
+
const sha = await getGitRev(useGithubApiFallback);
|
|
45
|
+
if (!sha) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
BUILD_INFO['git-sha'] = sha;
|
|
49
|
+
const buildTimestamp = await getGitTimestamp(sha, useGithubApiFallback);
|
|
50
|
+
if (buildTimestamp) {
|
|
51
|
+
BUILD_INFO.built = buildTimestamp;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
exports.updateBuildInfo = updateBuildInfo;
|
|
55
|
+
/**
|
|
56
|
+
* Finds the Git metadata dir (see `GIT_META_ROOT`)
|
|
57
|
+
*
|
|
58
|
+
* This is needed because Appium cannot assume `package.json` and `.git` are in the same
|
|
59
|
+
* directory. Monorepos, see?
|
|
60
|
+
* @returns {Promise<string|undefined>} Path to dir or `undefined` if not found
|
|
61
|
+
*/
|
|
62
|
+
async function findGitRoot() {
|
|
63
|
+
return await (0, find_up_1.default)(GIT_META_ROOT, { cwd: rootDir, type: 'directory' });
|
|
67
64
|
}
|
|
68
|
-
|
|
65
|
+
/**
|
|
66
|
+
* @param {boolean} [useGithubApiFallback]
|
|
67
|
+
* @returns {Promise<string?>}
|
|
68
|
+
*/
|
|
69
69
|
async function getGitRev(useGithubApiFallback = false) {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
return stdout.trim();
|
|
78
|
-
} catch (ign) {}
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
if (!useGithubApiFallback) {
|
|
82
|
-
return null;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
try {
|
|
86
|
-
const resBodyObj = (await _axios.default.get(`${GITHUB_API}/tags`, {
|
|
87
|
-
headers: {
|
|
88
|
-
'User-Agent': `Appium ${APPIUM_VER}`
|
|
89
|
-
}
|
|
90
|
-
})).data;
|
|
91
|
-
|
|
92
|
-
if (_lodash.default.isArray(resBodyObj)) {
|
|
93
|
-
for (const {
|
|
94
|
-
name,
|
|
95
|
-
commit
|
|
96
|
-
} of resBodyObj) {
|
|
97
|
-
if (name === `v${APPIUM_VER}` && commit && commit.sha) {
|
|
98
|
-
return commit.sha;
|
|
70
|
+
const gitRoot = await findGitRoot();
|
|
71
|
+
if (gitRoot) {
|
|
72
|
+
try {
|
|
73
|
+
const { stdout } = await (0, teen_process_1.exec)(GIT_BINARY, ['rev-parse', 'HEAD'], {
|
|
74
|
+
cwd: gitRoot,
|
|
75
|
+
});
|
|
76
|
+
return stdout.trim();
|
|
99
77
|
}
|
|
100
|
-
|
|
78
|
+
catch (ign) { }
|
|
101
79
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
80
|
+
if (!useGithubApiFallback) {
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
// If the package folder is not a valid git repository
|
|
84
|
+
// then fetch the corresponding tag info from GitHub
|
|
85
|
+
try {
|
|
86
|
+
return (await axios_1.default.get(`${GITHUB_API}/git/refs/tags/appium@${APPIUM_VER}`, {
|
|
87
|
+
headers: {
|
|
88
|
+
'User-Agent': `Appium ${APPIUM_VER}`,
|
|
89
|
+
},
|
|
90
|
+
})).data?.object?.sha;
|
|
91
|
+
}
|
|
92
|
+
catch (ign) { }
|
|
93
|
+
return null;
|
|
105
94
|
}
|
|
106
|
-
|
|
95
|
+
exports.getGitRev = getGitRev;
|
|
96
|
+
/**
|
|
97
|
+
* @param {string} commitSha
|
|
98
|
+
* @param {boolean} [useGithubApiFallback]
|
|
99
|
+
* @returns {Promise<string?>}
|
|
100
|
+
*/
|
|
107
101
|
async function getGitTimestamp(commitSha, useGithubApiFallback = false) {
|
|
108
|
-
|
|
102
|
+
const gitRoot = await findGitRoot();
|
|
103
|
+
if (gitRoot) {
|
|
104
|
+
try {
|
|
105
|
+
const { stdout } = await (0, teen_process_1.exec)(GIT_BINARY, ['show', '-s', '--format=%ci', commitSha], {
|
|
106
|
+
cwd: gitRoot,
|
|
107
|
+
});
|
|
108
|
+
return stdout.trim();
|
|
109
|
+
}
|
|
110
|
+
catch (ign) { }
|
|
111
|
+
}
|
|
112
|
+
if (!useGithubApiFallback) {
|
|
113
|
+
return null;
|
|
114
|
+
}
|
|
109
115
|
try {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
if (!useGithubApiFallback) {
|
|
116
|
+
return (await axios_1.default.get(`${GITHUB_API}/git/tags/${commitSha}`, {
|
|
117
|
+
headers: {
|
|
118
|
+
'User-Agent': `Appium ${APPIUM_VER}`,
|
|
119
|
+
},
|
|
120
|
+
})).data?.tagger?.date;
|
|
121
|
+
}
|
|
122
|
+
catch (ign) { }
|
|
120
123
|
return null;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
try {
|
|
124
|
-
const resBodyObj = (await _axios.default.get(`${GITHUB_API}/commits/${commitSha}`, {
|
|
125
|
-
headers: {
|
|
126
|
-
'User-Agent': `Appium ${APPIUM_VER}`
|
|
127
|
-
}
|
|
128
|
-
})).data;
|
|
129
|
-
|
|
130
|
-
if (resBodyObj && resBodyObj.commit) {
|
|
131
|
-
if (resBodyObj.commit.committer && resBodyObj.commit.committer.date) {
|
|
132
|
-
return resBodyObj.commit.committer.date;
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
if (resBodyObj.commit.author && resBodyObj.commit.author.date) {
|
|
136
|
-
return resBodyObj.commit.author.date;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
} catch (ign) {}
|
|
140
|
-
|
|
141
|
-
return null;
|
|
142
124
|
}
|
|
143
|
-
|
|
125
|
+
/**
|
|
126
|
+
* Mutable object containing Appium build information. By default it
|
|
127
|
+
* only contains the Appium version, but is updated with the build timestamp
|
|
128
|
+
* and git commit hash asynchronously as soon as `updateBuildInfo` is called
|
|
129
|
+
* and succeeds.
|
|
130
|
+
* @returns {import('appium/types').BuildInfo}
|
|
131
|
+
*/
|
|
144
132
|
function getBuildInfo() {
|
|
145
|
-
|
|
133
|
+
return BUILD_INFO;
|
|
146
134
|
}
|
|
147
|
-
|
|
135
|
+
exports.getBuildInfo = getBuildInfo;
|
|
148
136
|
function checkNodeOk() {
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
}
|
|
137
|
+
const version = getNodeVersion();
|
|
138
|
+
if (!semver_1.default.satisfies(version, MIN_NODE_VERSION)) {
|
|
139
|
+
throw new Error(`Node version must be at least ${MIN_NODE_VERSION}; current is ${version.version}`);
|
|
140
|
+
}
|
|
154
141
|
}
|
|
155
|
-
|
|
156
|
-
function
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
142
|
+
exports.checkNodeOk = checkNodeOk;
|
|
143
|
+
async function checkNpmOk() {
|
|
144
|
+
const npmVersion = await getNpmVersion();
|
|
145
|
+
if (!semver_1.default.satisfies(npmVersion, MIN_NPM_VERSION)) {
|
|
146
|
+
throw new Error(`npm version must be at least ${MIN_NPM_VERSION}; current is ${npmVersion}. Run "npm install -g npm" to upgrade.`);
|
|
147
|
+
}
|
|
161
148
|
}
|
|
162
|
-
|
|
163
|
-
function
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
if (
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
149
|
+
exports.checkNpmOk = checkNpmOk;
|
|
150
|
+
function warnNodeDeprecations() {
|
|
151
|
+
/**
|
|
152
|
+
* Uncomment this section to get node version deprecation warnings
|
|
153
|
+
* Also add test cases to config-specs.js to cover the cases added
|
|
154
|
+
**/
|
|
155
|
+
// const version = getNodeVersion();
|
|
156
|
+
// if (version.major < 8) {
|
|
157
|
+
// logger.warn(`Appium support for versions of node < ${version.major} has been ` +
|
|
158
|
+
// 'deprecated and will be removed in a future version. Please ' +
|
|
159
|
+
// 'upgrade!');
|
|
160
|
+
// }
|
|
161
|
+
}
|
|
162
|
+
exports.warnNodeDeprecations = warnNodeDeprecations;
|
|
163
|
+
async function showBuildInfo() {
|
|
164
|
+
await updateBuildInfo(true);
|
|
165
|
+
console.log(JSON.stringify(getBuildInfo())); // eslint-disable-line no-console
|
|
175
166
|
}
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
167
|
+
exports.showBuildInfo = showBuildInfo;
|
|
168
|
+
/**
|
|
169
|
+
* Returns k/v pairs of server arguments which are _not_ the defaults.
|
|
170
|
+
* @param {Args} parsedArgs
|
|
171
|
+
* @returns {Args}
|
|
172
|
+
*/
|
|
173
|
+
function getNonDefaultServerArgs(parsedArgs) {
|
|
174
|
+
/**
|
|
175
|
+
* Flattens parsed args into a single level object for comparison with
|
|
176
|
+
* flattened defaults across server args and extension args.
|
|
177
|
+
* @param {Args} args
|
|
178
|
+
* @returns {Record<string, { value: any, argSpec: ArgSpec }>}
|
|
179
|
+
*/
|
|
180
|
+
const flatten = (args) => {
|
|
181
|
+
const argSpecs = (0, schema_1.getAllArgSpecs)();
|
|
182
|
+
const flattened = lodash_1.default.reduce([...argSpecs.values()], (acc, argSpec) => {
|
|
183
|
+
if (lodash_1.default.has(args, argSpec.dest)) {
|
|
184
|
+
acc[argSpec.dest] = { value: lodash_1.default.get(args, argSpec.dest), argSpec };
|
|
185
|
+
}
|
|
186
|
+
return acc;
|
|
187
|
+
},
|
|
188
|
+
/** @type {Record<string, { value: any, argSpec: ArgSpec }>} */ ({}));
|
|
189
|
+
return flattened;
|
|
190
|
+
};
|
|
191
|
+
const args = flatten(parsedArgs);
|
|
192
|
+
// hopefully these function names are descriptive enough
|
|
193
|
+
const typesDiffer = /** @param {string} dest */ (dest) => typeof args[dest].value !== typeof defaultsFromSchema[dest];
|
|
194
|
+
const defaultValueIsArray = /** @param {string} dest */ (dest) => lodash_1.default.isArray(defaultsFromSchema[dest]);
|
|
195
|
+
const argsValueIsArray = /** @param {string} dest */ (dest) => lodash_1.default.isArray(args[dest].value);
|
|
196
|
+
const arraysDiffer = /** @param {string} dest */ (dest) => lodash_1.default.gt(lodash_1.default.size(lodash_1.default.difference(args[dest].value, defaultsFromSchema[dest])), 0);
|
|
197
|
+
const valuesDiffer = /** @param {string} dest */ (dest) => args[dest].value !== defaultsFromSchema[dest];
|
|
198
|
+
const defaultIsDefined = /** @param {string} dest */ (dest) => !lodash_1.default.isUndefined(defaultsFromSchema[dest]);
|
|
199
|
+
// note that `_.overEvery` is like an "AND", and `_.overSome` is like an "OR"
|
|
200
|
+
const argValueNotArrayOrArraysDiffer = lodash_1.default.overSome([lodash_1.default.negate(argsValueIsArray), arraysDiffer]);
|
|
201
|
+
const defaultValueNotArrayAndValuesDiffer = lodash_1.default.overEvery([
|
|
202
|
+
lodash_1.default.negate(defaultValueIsArray),
|
|
203
|
+
valuesDiffer,
|
|
204
|
+
]);
|
|
205
|
+
/**
|
|
206
|
+
* This used to be a hideous conditional, but it's broken up into a hideous function instead.
|
|
207
|
+
* hopefully this makes things a little more understandable.
|
|
208
|
+
* - checks if the default value is defined
|
|
209
|
+
* - if so, and the default is not an array:
|
|
210
|
+
* - ensures the types are the same
|
|
211
|
+
* - ensures the values are equal
|
|
212
|
+
* - if so, and the default is an array:
|
|
213
|
+
* - ensures the args value is an array
|
|
214
|
+
* - ensures the args values do not differ from the default values
|
|
215
|
+
* @type {(dest: string) => boolean}
|
|
216
|
+
*/
|
|
217
|
+
const isNotDefault = lodash_1.default.overEvery([
|
|
218
|
+
defaultIsDefined,
|
|
219
|
+
lodash_1.default.overSome([
|
|
220
|
+
typesDiffer,
|
|
221
|
+
lodash_1.default.overEvery([defaultValueIsArray, argValueNotArrayOrArraysDiffer]),
|
|
222
|
+
defaultValueNotArrayAndValuesDiffer,
|
|
223
|
+
]),
|
|
224
|
+
]);
|
|
225
|
+
const defaultsFromSchema = (0, schema_1.getDefaultsForSchema)(true);
|
|
226
|
+
return lodash_1.default.reduce(lodash_1.default.pickBy(args, (__, key) => isNotDefault(key)),
|
|
227
|
+
// explodes the flattened object back into nested one
|
|
228
|
+
(acc, { value, argSpec }) => lodash_1.default.set(acc, argSpec.dest, value),
|
|
229
|
+
/** @type {Args} */ ({}));
|
|
183
230
|
}
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
231
|
+
exports.getNonDefaultServerArgs = getNonDefaultServerArgs;
|
|
232
|
+
/**
|
|
233
|
+
* Compacts an object for {@link showConfig}:
|
|
234
|
+
* 1. Removes `subcommand` key/value
|
|
235
|
+
* 2. Removes `undefined` values
|
|
236
|
+
* 3. Removes empty objects (but not `false` values)
|
|
237
|
+
* Does not operate recursively.
|
|
238
|
+
*/
|
|
239
|
+
const compactConfig = lodash_1.default.partial(lodash_1.default.omitBy, lodash_1.default, (value, key) => key === 'subcommand' || lodash_1.default.isUndefined(value) || (lodash_1.default.isObject(value) && lodash_1.default.isEmpty(value)));
|
|
240
|
+
/**
|
|
241
|
+
* Shows a breakdown of the current config after CLI params, config file loaded & defaults applied.
|
|
242
|
+
*
|
|
243
|
+
* The actual shape of `preConfigParsedArgs` and `defaults` does not matter for the purposes of this function,
|
|
244
|
+
* but it's intended to be called with values of type {@link ParsedArgs} and `DefaultValues<true>`, respectively.
|
|
245
|
+
*
|
|
246
|
+
* @param {Partial<ParsedArgs>} nonDefaultPreConfigParsedArgs - Parsed CLI args (or param to `init()`) before config & defaults applied
|
|
247
|
+
* @param {import('./config-file').ReadConfigFileResult} configResult - Result of attempting to load a config file. _Must_ be normalized
|
|
248
|
+
* @param {Partial<ParsedArgs>} defaults - Configuration defaults from schemas
|
|
249
|
+
* @param {ParsedArgs} parsedArgs - Entire parsed args object
|
|
250
|
+
*/
|
|
251
|
+
function showConfig(nonDefaultPreConfigParsedArgs, configResult, defaults, parsedArgs) {
|
|
252
|
+
console.log('Appium Configuration\n');
|
|
253
|
+
console.log('from defaults:\n');
|
|
254
|
+
console.dir(compactConfig(defaults));
|
|
255
|
+
if (configResult.config) {
|
|
256
|
+
console.log(`\nfrom config file at ${configResult.filepath}:\n`);
|
|
257
|
+
console.dir(compactConfig(configResult.config));
|
|
258
|
+
}
|
|
259
|
+
else {
|
|
260
|
+
console.log(`\n(no configuration file loaded)`);
|
|
261
|
+
}
|
|
262
|
+
const compactedNonDefaultPreConfigArgs = compactConfig(nonDefaultPreConfigParsedArgs);
|
|
263
|
+
if (lodash_1.default.isEmpty(compactedNonDefaultPreConfigArgs)) {
|
|
264
|
+
console.log(`\n(no CLI parameters provided)`);
|
|
265
|
+
}
|
|
266
|
+
else {
|
|
267
|
+
console.log('\nvia CLI or function call:\n');
|
|
268
|
+
console.dir(compactedNonDefaultPreConfigArgs);
|
|
269
|
+
}
|
|
270
|
+
console.log('\nfinal configuration:\n');
|
|
271
|
+
console.dir(compactConfig(parsedArgs));
|
|
219
272
|
}
|
|
220
|
-
|
|
273
|
+
exports.showConfig = showConfig;
|
|
274
|
+
/**
|
|
275
|
+
* @param {string} tmpDir
|
|
276
|
+
*/
|
|
221
277
|
async function validateTmpDir(tmpDir) {
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9jb25maWcuanMiXSwibmFtZXMiOlsibnBtUGFja2FnZSIsInJlcXVpcmUiLCJwYXRoIiwicmVzb2x2ZSIsInJvb3REaXIiLCJBUFBJVU1fVkVSIiwidmVyc2lvbiIsIk1JTl9OT0RFX1ZFUlNJT04iLCJlbmdpbmVzIiwibm9kZSIsIkdJVF9NRVRBX1JPT1QiLCJHSVRfQklOQVJZIiwic3lzdGVtIiwiaXNXaW5kb3dzIiwiR0lUSFVCX0FQSSIsIkJVSUxEX0lORk8iLCJnZXROb2RlVmVyc2lvbiIsInNlbXZlciIsImNvZXJjZSIsInByb2Nlc3MiLCJ1cGRhdGVCdWlsZEluZm8iLCJ1c2VHaXRodWJBcGlGYWxsYmFjayIsInNoYSIsImdldEdpdFJldiIsImJ1aWx0IiwiZ2V0R2l0VGltZXN0YW1wIiwiXyIsImlzRW1wdHkiLCJmcyIsImV4aXN0cyIsInN0ZG91dCIsImN3ZCIsInRyaW0iLCJpZ24iLCJyZXNCb2R5T2JqIiwiYXhpb3MiLCJnZXQiLCJoZWFkZXJzIiwiZGF0YSIsImlzQXJyYXkiLCJuYW1lIiwiY29tbWl0IiwiY29tbWl0U2hhIiwiY29tbWl0dGVyIiwiZGF0ZSIsImF1dGhvciIsImdldEJ1aWxkSW5mbyIsImNoZWNrTm9kZU9rIiwic2F0aXNmaWVzIiwibG9nZ2VyIiwiZXJyb3JBbmRUaHJvdyIsIndhcm5Ob2RlRGVwcmVjYXRpb25zIiwic2hvd0NvbmZpZyIsImNvbnNvbGUiLCJsb2ciLCJKU09OIiwic3RyaW5naWZ5IiwiZ2V0Tm9uRGVmYXVsdEFyZ3MiLCJwYXJzZXIiLCJhcmdzIiwibm9uRGVmYXVsdHMiLCJyYXdBcmciLCJyYXdBcmdzIiwiYXJnIiwiZGVzdCIsImRlZmF1bHRWYWx1ZSIsImNoZWNrVmFsaWRQb3J0IiwicG9ydCIsInBvcnROYW1lIiwiZXJyb3IiLCJ2YWxpZGF0ZVNlcnZlckFyZ3MiLCJleGNsdXNpdmVzIiwiZXhTZXQiLCJudW1Gb3VuZEluQXJncyIsIm9wdCIsImhhcyIsIkVycm9yIiwidmFsaWRhdGlvbnMiLCJjYWxsYmFja1BvcnQiLCJib290c3RyYXBQb3J0IiwiY2hyb21lZHJpdmVyUG9ydCIsInJvYm90UG9ydCIsImJhY2tlbmRSZXRyaWVzIiwiciIsIm5vbkRlZmF1bHRBcmdzIiwidmFsaWRhdG9yIiwidG9QYWlycyIsInZhbGlkYXRlVG1wRGlyIiwidG1wRGlyIiwiZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBR0EsTUFBTUEsVUFBVSxHQUFHQyxPQUFPLENBQUNDLGNBQUtDLE9BQUwsQ0FBYUMsY0FBYixFQUFzQixjQUF0QixDQUFELENBQTFCOztBQUNBLE1BQU1DLFVBQVUsR0FBR0wsVUFBVSxDQUFDTSxPQUE5Qjs7QUFDQSxNQUFNQyxnQkFBZ0IsR0FBR1AsVUFBVSxDQUFDUSxPQUFYLENBQW1CQyxJQUE1QztBQUVBLE1BQU1DLGFBQWEsR0FBRyxNQUF0QjtBQUNBLE1BQU1DLFVBQVUsR0FBSSxNQUFLQyxzQkFBT0MsU0FBUCxLQUFxQixNQUFyQixHQUE4QixFQUFHLEVBQTFEO0FBQ0EsTUFBTUMsVUFBVSxHQUFHLDRDQUFuQjtBQUVBLE1BQU1DLFVBQVUsR0FBRztBQUNqQlQsRUFBQUEsT0FBTyxFQUFFRDtBQURRLENBQW5COztBQUlBLFNBQVNXLGNBQVQsR0FBMkI7QUFDekIsU0FBT0MsZ0JBQU9DLE1BQVAsQ0FBY0MsT0FBTyxDQUFDYixPQUF0QixDQUFQO0FBQ0Q7O0FBRUQsZUFBZWMsZUFBZixDQUFnQ0Msb0JBQW9CLEdBQUcsS0FBdkQsRUFBOEQ7QUFDNUQsUUFBTUMsR0FBRyxHQUFHLE1BQU1DLFNBQVMsQ0FBQ0Ysb0JBQUQsQ0FBM0I7O0FBQ0EsTUFBSSxDQUFDQyxHQUFMLEVBQVU7QUFDUjtBQUNEOztBQUNEUCxFQUFBQSxVQUFVLENBQUMsU0FBRCxDQUFWLEdBQXdCTyxHQUF4QjtBQUNBLFFBQU1FLEtBQUssR0FBRyxNQUFNQyxlQUFlLENBQUNILEdBQUQsRUFBTUQsb0JBQU4sQ0FBbkM7O0FBQ0EsTUFBSSxDQUFDSyxnQkFBRUMsT0FBRixDQUFVSCxLQUFWLENBQUwsRUFBdUI7QUFDckJULElBQUFBLFVBQVUsQ0FBQ1MsS0FBWCxHQUFtQkEsS0FBbkI7QUFDRDtBQUNGOztBQUVELGVBQWVELFNBQWYsQ0FBMEJGLG9CQUFvQixHQUFHLEtBQWpELEVBQXdEO0FBQ3RELE1BQUksTUFBTU8sa0JBQUdDLE1BQUgsQ0FBVTNCLGNBQUtDLE9BQUwsQ0FBYUMsY0FBYixFQUFzQk0sYUFBdEIsQ0FBVixDQUFWLEVBQTJEO0FBQ3pELFFBQUk7QUFDRixZQUFNO0FBQUNvQixRQUFBQTtBQUFELFVBQVcsTUFBTSx3QkFBS25CLFVBQUwsRUFBaUIsQ0FBQyxXQUFELEVBQWMsTUFBZCxDQUFqQixFQUF3QztBQUM3RG9CLFFBQUFBLEdBQUcsRUFBRTNCO0FBRHdELE9BQXhDLENBQXZCO0FBR0EsYUFBTzBCLE1BQU0sQ0FBQ0UsSUFBUCxFQUFQO0FBQ0QsS0FMRCxDQUtFLE9BQU9DLEdBQVAsRUFBWSxDQUFFO0FBQ2pCOztBQUVELE1BQUksQ0FBQ1osb0JBQUwsRUFBMkI7QUFDekIsV0FBTyxJQUFQO0FBQ0Q7O0FBRUQsTUFBSTtBQUNGLFVBQU1hLFVBQVUsR0FBRyxDQUFDLE1BQU1DLGVBQU1DLEdBQU4sQ0FBVyxHQUFFdEIsVUFBVyxPQUF4QixFQUFnQztBQUN4RHVCLE1BQUFBLE9BQU8sRUFBRTtBQUNQLHNCQUFlLFVBQVNoQyxVQUFXO0FBRDVCO0FBRCtDLEtBQWhDLENBQVAsRUFJZmlDLElBSko7O0FBS0EsUUFBSVosZ0JBQUVhLE9BQUYsQ0FBVUwsVUFBVixDQUFKLEVBQTJCO0FBQ3pCLFdBQUssTUFBTTtBQUFDTSxRQUFBQSxJQUFEO0FBQU9DLFFBQUFBO0FBQVAsT0FBWCxJQUE2QlAsVUFBN0IsRUFBeUM7QUFDdkMsWUFBSU0sSUFBSSxLQUFNLElBQUduQyxVQUFXLEVBQXhCLElBQTZCb0MsTUFBN0IsSUFBdUNBLE1BQU0sQ0FBQ25CLEdBQWxELEVBQXVEO0FBQ3JELGlCQUFPbUIsTUFBTSxDQUFDbkIsR0FBZDtBQUNEO0FBQ0Y7QUFDRjtBQUNGLEdBYkQsQ0FhRSxPQUFPVyxHQUFQLEVBQVksQ0FBRTs7QUFDaEIsU0FBTyxJQUFQO0FBQ0Q7O0FBRUQsZUFBZVIsZUFBZixDQUFnQ2lCLFNBQWhDLEVBQTJDckIsb0JBQW9CLEdBQUcsS0FBbEUsRUFBeUU7QUFDdkUsTUFBSSxNQUFNTyxrQkFBR0MsTUFBSCxDQUFVM0IsY0FBS0MsT0FBTCxDQUFhQyxjQUFiLEVBQXNCTSxhQUF0QixDQUFWLENBQVYsRUFBMkQ7QUFDekQsUUFBSTtBQUNGLFlBQU07QUFBQ29CLFFBQUFBO0FBQUQsVUFBVyxNQUFNLHdCQUFLbkIsVUFBTCxFQUFpQixDQUFDLE1BQUQsRUFBUyxJQUFULEVBQWUsY0FBZixFQUErQitCLFNBQS9CLENBQWpCLEVBQTREO0FBQ2pGWCxRQUFBQSxHQUFHLEVBQUUzQjtBQUQ0RSxPQUE1RCxDQUF2QjtBQUdBLGFBQU8wQixNQUFNLENBQUNFLElBQVAsRUFBUDtBQUNELEtBTEQsQ0FLRSxPQUFPQyxHQUFQLEVBQVksQ0FBRTtBQUNqQjs7QUFFRCxNQUFJLENBQUNaLG9CQUFMLEVBQTJCO0FBQ3pCLFdBQU8sSUFBUDtBQUNEOztBQUVELE1BQUk7QUFDRixVQUFNYSxVQUFVLEdBQUcsQ0FBQyxNQUFNQyxlQUFNQyxHQUFOLENBQVcsR0FBRXRCLFVBQVcsWUFBVzRCLFNBQVUsRUFBN0MsRUFBZ0Q7QUFDeEVMLE1BQUFBLE9BQU8sRUFBRTtBQUNQLHNCQUFlLFVBQVNoQyxVQUFXO0FBRDVCO0FBRCtELEtBQWhELENBQVAsRUFJZmlDLElBSko7O0FBS0EsUUFBSUosVUFBVSxJQUFJQSxVQUFVLENBQUNPLE1BQTdCLEVBQXFDO0FBQ25DLFVBQUlQLFVBQVUsQ0FBQ08sTUFBWCxDQUFrQkUsU0FBbEIsSUFBK0JULFVBQVUsQ0FBQ08sTUFBWCxDQUFrQkUsU0FBbEIsQ0FBNEJDLElBQS9ELEVBQXFFO0FBQ25FLGVBQU9WLFVBQVUsQ0FBQ08sTUFBWCxDQUFrQkUsU0FBbEIsQ0FBNEJDLElBQW5DO0FBQ0Q7O0FBQ0QsVUFBSVYsVUFBVSxDQUFDTyxNQUFYLENBQWtCSSxNQUFsQixJQUE0QlgsVUFBVSxDQUFDTyxNQUFYLENBQWtCSSxNQUFsQixDQUF5QkQsSUFBekQsRUFBK0Q7QUFDN0QsZUFBT1YsVUFBVSxDQUFDTyxNQUFYLENBQWtCSSxNQUFsQixDQUF5QkQsSUFBaEM7QUFDRDtBQUNGO0FBQ0YsR0FkRCxDQWNFLE9BQU9YLEdBQVAsRUFBWSxDQUFFOztBQUNoQixTQUFPLElBQVA7QUFDRDs7QUFRRCxTQUFTYSxZQUFULEdBQXlCO0FBQ3ZCLFNBQU8vQixVQUFQO0FBQ0Q7O0FBRUQsU0FBU2dDLFdBQVQsR0FBd0I7QUFDdEIsUUFBTXpDLE9BQU8sR0FBR1UsY0FBYyxFQUE5Qjs7QUFDQSxNQUFJLENBQUNDLGdCQUFPK0IsU0FBUCxDQUFpQjFDLE9BQWpCLEVBQTBCQyxnQkFBMUIsQ0FBTCxFQUFrRDtBQUNoRDBDLG9CQUFPQyxhQUFQLENBQXNCLHdCQUF1QjNDLGdCQUFpQixlQUFjRCxPQUFPLENBQUNBLE9BQVEsRUFBNUY7QUFDRDtBQUNGOztBQUVELFNBQVM2QyxvQkFBVCxHQUFpQyxDQVloQzs7QUFFRCxlQUFlQyxVQUFmLEdBQTZCO0FBQzNCLFFBQU1oQyxlQUFlLENBQUMsSUFBRCxDQUFyQjtBQUNBaUMsRUFBQUEsT0FBTyxDQUFDQyxHQUFSLENBQVlDLElBQUksQ0FBQ0MsU0FBTCxDQUFlVixZQUFZLEVBQTNCLENBQVo7QUFDRDs7QUFFRCxTQUFTVyxpQkFBVCxDQUE0QkMsTUFBNUIsRUFBb0NDLElBQXBDLEVBQTBDO0FBQ3hDLE1BQUlDLFdBQVcsR0FBRyxFQUFsQjs7QUFDQSxPQUFLLElBQUlDLE1BQVQsSUFBbUJILE1BQU0sQ0FBQ0ksT0FBMUIsRUFBbUM7QUFDakMsUUFBSUMsR0FBRyxHQUFHRixNQUFNLENBQUMsQ0FBRCxDQUFOLENBQVVHLElBQXBCOztBQUNBLFFBQUlMLElBQUksQ0FBQ0ksR0FBRCxDQUFKLElBQWFKLElBQUksQ0FBQ0ksR0FBRCxDQUFKLEtBQWNGLE1BQU0sQ0FBQyxDQUFELENBQU4sQ0FBVUksWUFBekMsRUFBdUQ7QUFDckRMLE1BQUFBLFdBQVcsQ0FBQ0csR0FBRCxDQUFYLEdBQW1CSixJQUFJLENBQUNJLEdBQUQsQ0FBdkI7QUFDRDtBQUNGOztBQUNELFNBQU9ILFdBQVA7QUFDRDs7QUFFRCxTQUFTTSxjQUFULENBQXlCQyxJQUF6QixFQUErQkMsUUFBL0IsRUFBeUM7QUFDdkMsTUFBSUQsSUFBSSxHQUFHLENBQVAsSUFBWUEsSUFBSSxHQUFHLEtBQXZCLEVBQThCLE9BQU8sSUFBUDs7QUFDOUJsQixrQkFBT29CLEtBQVAsQ0FBYyxTQUFRRCxRQUFTLDJEQUEwREQsSUFBSyxFQUE5Rjs7QUFDQSxTQUFPLEtBQVA7QUFDRDs7QUFFRCxTQUFTRyxrQkFBVCxDQUE2QlosTUFBN0IsRUFBcUNDLElBQXJDLEVBQTJDO0FBRXpDLE1BQUlZLFVBQVUsR0FBRyxDQUNmLENBQUMsU0FBRCxFQUFZLFdBQVosQ0FEZSxFQUVmLENBQUMsS0FBRCxFQUFRLFFBQVIsQ0FGZSxFQUdmLENBQUMsS0FBRCxFQUFRLFFBQVIsQ0FIZSxFQUlmLENBQUMsYUFBRCxFQUFnQixXQUFoQixDQUplLEVBS2YsQ0FBQyxZQUFELEVBQWUsZUFBZixDQUxlLENBQWpCOztBQVFBLE9BQUssSUFBSUMsS0FBVCxJQUFrQkQsVUFBbEIsRUFBOEI7QUFDNUIsUUFBSUUsY0FBYyxHQUFHLENBQXJCOztBQUNBLFNBQUssSUFBSUMsR0FBVCxJQUFnQkYsS0FBaEIsRUFBdUI7QUFDckIsVUFBSTlDLGdCQUFFaUQsR0FBRixDQUFNaEIsSUFBTixFQUFZZSxHQUFaLEtBQW9CZixJQUFJLENBQUNlLEdBQUQsQ0FBNUIsRUFBbUM7QUFDakNELFFBQUFBLGNBQWM7QUFDZjtBQUNGOztBQUNELFFBQUlBLGNBQWMsR0FBRyxDQUFyQixFQUF3QjtBQUN0QixZQUFNLElBQUlHLEtBQUosQ0FBVyxvREFBRCxHQUNDLE9BQU1yQixJQUFJLENBQUNDLFNBQUwsQ0FBZWdCLEtBQWYsQ0FBc0IsbUJBRDdCLEdBRUMsb0JBRlgsQ0FBTjtBQUdEO0FBQ0Y7O0FBRUQsUUFBTUssV0FBVyxHQUFHO0FBQ2xCVixJQUFBQSxJQUFJLEVBQUVELGNBRFk7QUFFbEJZLElBQUFBLFlBQVksRUFBRVosY0FGSTtBQUdsQmEsSUFBQUEsYUFBYSxFQUFFYixjQUhHO0FBSWxCYyxJQUFBQSxnQkFBZ0IsRUFBRWQsY0FKQTtBQUtsQmUsSUFBQUEsU0FBUyxFQUFFZixjQUxPO0FBTWxCZ0IsSUFBQUEsY0FBYyxFQUFHQyxDQUFELElBQU9BLENBQUMsSUFBSTtBQU5WLEdBQXBCO0FBU0EsUUFBTUMsY0FBYyxHQUFHM0IsaUJBQWlCLENBQUNDLE1BQUQsRUFBU0MsSUFBVCxDQUF4Qzs7QUFFQSxPQUFLLElBQUksQ0FBQ0ksR0FBRCxFQUFNc0IsU0FBTixDQUFULElBQTZCM0QsZ0JBQUU0RCxPQUFGLENBQVVULFdBQVYsQ0FBN0IsRUFBcUQ7QUFDbkQsUUFBSW5ELGdCQUFFaUQsR0FBRixDQUFNUyxjQUFOLEVBQXNCckIsR0FBdEIsQ0FBSixFQUFnQztBQUM5QixVQUFJLENBQUNzQixTQUFTLENBQUMxQixJQUFJLENBQUNJLEdBQUQsQ0FBTCxFQUFZQSxHQUFaLENBQWQsRUFBZ0M7QUFDOUIsY0FBTSxJQUFJYSxLQUFKLENBQVcsOEJBQTZCYixHQUFJLEtBQUlKLElBQUksQ0FBQ0ksR0FBRCxDQUFNLEVBQTFELENBQU47QUFDRDtBQUNGO0FBQ0Y7QUFDRjs7QUFFRCxlQUFld0IsY0FBZixDQUErQkMsTUFBL0IsRUFBdUM7QUFDckMsTUFBSTtBQUNGLFVBQU0sMkJBQU9BLE1BQVAsQ0FBTjtBQUNELEdBRkQsQ0FFRSxPQUFPQyxDQUFQLEVBQVU7QUFDVixVQUFNLElBQUliLEtBQUosQ0FBVyxzREFBRCxHQUNDLElBQUdZLE1BQU8sNENBRHJCLENBQU47QUFFRDtBQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgbWtkaXJwLCBmcywgc3lzdGVtIH0gZnJvbSAnYXBwaXVtLXN1cHBvcnQnO1xuaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCB7IGV4ZWMgfSBmcm9tICd0ZWVuX3Byb2Nlc3MnO1xuaW1wb3J0IHsgcm9vdERpciB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IGxvZ2dlciBmcm9tICcuL2xvZ2dlcic7XG5pbXBvcnQgc2VtdmVyIGZyb20gJ3NlbXZlcic7XG5cblxuY29uc3QgbnBtUGFja2FnZSA9IHJlcXVpcmUocGF0aC5yZXNvbHZlKHJvb3REaXIsICdwYWNrYWdlLmpzb24nKSk7XG5jb25zdCBBUFBJVU1fVkVSID0gbnBtUGFja2FnZS52ZXJzaW9uO1xuY29uc3QgTUlOX05PREVfVkVSU0lPTiA9IG5wbVBhY2thZ2UuZW5naW5lcy5ub2RlO1xuXG5jb25zdCBHSVRfTUVUQV9ST09UID0gJy5naXQnO1xuY29uc3QgR0lUX0JJTkFSWSA9IGBnaXQke3N5c3RlbS5pc1dpbmRvd3MoKSA/ICcuZXhlJyA6ICcnfWA7XG5jb25zdCBHSVRIVUJfQVBJID0gJ2h0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvYXBwaXVtL2FwcGl1bSc7XG5cbmNvbnN0IEJVSUxEX0lORk8gPSB7XG4gIHZlcnNpb246IEFQUElVTV9WRVIsXG59O1xuXG5mdW5jdGlvbiBnZXROb2RlVmVyc2lvbiAoKSB7XG4gIHJldHVybiBzZW12ZXIuY29lcmNlKHByb2Nlc3MudmVyc2lvbik7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHVwZGF0ZUJ1aWxkSW5mbyAodXNlR2l0aHViQXBpRmFsbGJhY2sgPSBmYWxzZSkge1xuICBjb25zdCBzaGEgPSBhd2FpdCBnZXRHaXRSZXYodXNlR2l0aHViQXBpRmFsbGJhY2spO1xuICBpZiAoIXNoYSkge1xuICAgIHJldHVybjtcbiAgfVxuICBCVUlMRF9JTkZPWydnaXQtc2hhJ10gPSBzaGE7XG4gIGNvbnN0IGJ1aWx0ID0gYXdhaXQgZ2V0R2l0VGltZXN0YW1wKHNoYSwgdXNlR2l0aHViQXBpRmFsbGJhY2spO1xuICBpZiAoIV8uaXNFbXB0eShidWlsdCkpIHtcbiAgICBCVUlMRF9JTkZPLmJ1aWx0ID0gYnVpbHQ7XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0R2l0UmV2ICh1c2VHaXRodWJBcGlGYWxsYmFjayA9IGZhbHNlKSB7XG4gIGlmIChhd2FpdCBmcy5leGlzdHMocGF0aC5yZXNvbHZlKHJvb3REaXIsIEdJVF9NRVRBX1JPT1QpKSkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7c3Rkb3V0fSA9IGF3YWl0IGV4ZWMoR0lUX0JJTkFSWSwgWydyZXYtcGFyc2UnLCAnSEVBRCddLCB7XG4gICAgICAgIGN3ZDogcm9vdERpclxuICAgICAgfSk7XG4gICAgICByZXR1cm4gc3Rkb3V0LnRyaW0oKTtcbiAgICB9IGNhdGNoIChpZ24pIHt9XG4gIH1cblxuICBpZiAoIXVzZUdpdGh1YkFwaUZhbGxiYWNrKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB0cnkge1xuICAgIGNvbnN0IHJlc0JvZHlPYmogPSAoYXdhaXQgYXhpb3MuZ2V0KGAke0dJVEhVQl9BUEl9L3RhZ3NgLCB7XG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgICdVc2VyLUFnZW50JzogYEFwcGl1bSAke0FQUElVTV9WRVJ9YFxuICAgICAgfVxuICAgIH0pKS5kYXRhO1xuICAgIGlmIChfLmlzQXJyYXkocmVzQm9keU9iaikpIHtcbiAgICAgIGZvciAoY29uc3Qge25hbWUsIGNvbW1pdH0gb2YgcmVzQm9keU9iaikge1xuICAgICAgICBpZiAobmFtZSA9PT0gYHYke0FQUElVTV9WRVJ9YCAmJiBjb21taXQgJiYgY29tbWl0LnNoYSkge1xuICAgICAgICAgIHJldHVybiBjb21taXQuc2hhO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9IGNhdGNoIChpZ24pIHt9XG4gIHJldHVybiBudWxsO1xufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRHaXRUaW1lc3RhbXAgKGNvbW1pdFNoYSwgdXNlR2l0aHViQXBpRmFsbGJhY2sgPSBmYWxzZSkge1xuICBpZiAoYXdhaXQgZnMuZXhpc3RzKHBhdGgucmVzb2x2ZShyb290RGlyLCBHSVRfTUVUQV9ST09UKSkpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3Qge3N0ZG91dH0gPSBhd2FpdCBleGVjKEdJVF9CSU5BUlksIFsnc2hvdycsICctcycsICctLWZvcm1hdD0lY2knLCBjb21taXRTaGFdLCB7XG4gICAgICAgIGN3ZDogcm9vdERpclxuICAgICAgfSk7XG4gICAgICByZXR1cm4gc3Rkb3V0LnRyaW0oKTtcbiAgICB9IGNhdGNoIChpZ24pIHt9XG4gIH1cblxuICBpZiAoIXVzZUdpdGh1YkFwaUZhbGxiYWNrKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICB0cnkge1xuICAgIGNvbnN0IHJlc0JvZHlPYmogPSAoYXdhaXQgYXhpb3MuZ2V0KGAke0dJVEhVQl9BUEl9L2NvbW1pdHMvJHtjb21taXRTaGF9YCwge1xuICAgICAgaGVhZGVyczoge1xuICAgICAgICAnVXNlci1BZ2VudCc6IGBBcHBpdW0gJHtBUFBJVU1fVkVSfWBcbiAgICAgIH1cbiAgICB9KSkuZGF0YTtcbiAgICBpZiAocmVzQm9keU9iaiAmJiByZXNCb2R5T2JqLmNvbW1pdCkge1xuICAgICAgaWYgKHJlc0JvZHlPYmouY29tbWl0LmNvbW1pdHRlciAmJiByZXNCb2R5T2JqLmNvbW1pdC5jb21taXR0ZXIuZGF0ZSkge1xuICAgICAgICByZXR1cm4gcmVzQm9keU9iai5jb21taXQuY29tbWl0dGVyLmRhdGU7XG4gICAgICB9XG4gICAgICBpZiAocmVzQm9keU9iai5jb21taXQuYXV0aG9yICYmIHJlc0JvZHlPYmouY29tbWl0LmF1dGhvci5kYXRlKSB7XG4gICAgICAgIHJldHVybiByZXNCb2R5T2JqLmNvbW1pdC5hdXRob3IuZGF0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH0gY2F0Y2ggKGlnbikge31cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8qKlxuICogQHJldHVybiBNdXRhYmxlIG9iamVjdCBjb250YWluaW5nIEFwcGl1bSBidWlsZCBpbmZvcm1hdGlvbi4gQnkgZGVmYXVsdCBpdFxuICogb25seSBjb250YWlucyB0aGUgQXBwaXVtIHZlcnNpb24sIGJ1dCBpcyB1cGRhdGVkIHdpdGggdGhlIGJ1aWxkIHRpbWVzdGFtcFxuICogYW5kIGdpdCBjb21taXQgaGFzaCBhc3luY2hyb25vdXNseSBhcyBzb29uIGFzIGB1cGRhdGVCdWlsZEluZm9gIGlzIGNhbGxlZFxuICogYW5kIHN1Y2NlZWRzLlxuICovXG5mdW5jdGlvbiBnZXRCdWlsZEluZm8gKCkge1xuICByZXR1cm4gQlVJTERfSU5GTztcbn1cblxuZnVuY3Rpb24gY2hlY2tOb2RlT2sgKCkge1xuICBjb25zdCB2ZXJzaW9uID0gZ2V0Tm9kZVZlcnNpb24oKTtcbiAgaWYgKCFzZW12ZXIuc2F0aXNmaWVzKHZlcnNpb24sIE1JTl9OT0RFX1ZFUlNJT04pKSB7XG4gICAgbG9nZ2VyLmVycm9yQW5kVGhyb3coYE5vZGUgdmVyc2lvbiBtdXN0IGJlICR7TUlOX05PREVfVkVSU0lPTn0uIEN1cnJlbnRseSAke3ZlcnNpb24udmVyc2lvbn1gKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB3YXJuTm9kZURlcHJlY2F0aW9ucyAoKSB7XG4gIC8qKlxuICAgKiBVbmNvbW1lbnQgdGhpcyBzZWN0aW9uIHRvIGdldCBub2RlIHZlcnNpb24gZGVwcmVjYXRpb24gd2FybmluZ3NcbiAgICogQWxzbyBhZGQgdGVzdCBjYXNlcyB0byBjb25maWctc3BlY3MuanMgdG8gY292ZXIgdGhlIGNhc2VzIGFkZGVkXG4gICAqKi9cblxuICAvLyBjb25zdCB2ZXJzaW9uID0gZ2V0Tm9kZVZlcnNpb24oKTtcbiAgLy8gaWYgKHZlcnNpb24ubWFqb3IgPCA4KSB7XG4gIC8vICAgbG9nZ2VyLndhcm4oYEFwcGl1bSBzdXBwb3J0IGZvciB2ZXJzaW9ucyBvZiBub2RlIDwgJHt2ZXJzaW9uLm1ham9yfSBoYXMgYmVlbiBgICtcbiAgLy8gICAgICAgICAgICAgICAnZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHZlcnNpb24uIFBsZWFzZSAnICtcbiAgLy8gICAgICAgICAgICAgICAndXBncmFkZSEnKTtcbiAgLy8gfVxufVxuXG5hc3luYyBmdW5jdGlvbiBzaG93Q29uZmlnICgpIHtcbiAgYXdhaXQgdXBkYXRlQnVpbGRJbmZvKHRydWUpO1xuICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShnZXRCdWlsZEluZm8oKSkpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLWNvbnNvbGVcbn1cblxuZnVuY3Rpb24gZ2V0Tm9uRGVmYXVsdEFyZ3MgKHBhcnNlciwgYXJncykge1xuICBsZXQgbm9uRGVmYXVsdHMgPSB7fTtcbiAgZm9yIChsZXQgcmF3QXJnIG9mIHBhcnNlci5yYXdBcmdzKSB7XG4gICAgbGV0IGFyZyA9IHJhd0FyZ1sxXS5kZXN0O1xuICAgIGlmIChhcmdzW2FyZ10gJiYgYXJnc1thcmddICE9PSByYXdBcmdbMV0uZGVmYXVsdFZhbHVlKSB7XG4gICAgICBub25EZWZhdWx0c1thcmddID0gYXJnc1thcmddO1xuICAgIH1cbiAgfVxuICByZXR1cm4gbm9uRGVmYXVsdHM7XG59XG5cbmZ1bmN0aW9uIGNoZWNrVmFsaWRQb3J0IChwb3J0LCBwb3J0TmFtZSkge1xuICBpZiAocG9ydCA+IDAgJiYgcG9ydCA8IDY1NTM2KSByZXR1cm4gdHJ1ZTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBjdXJseVxuICBsb2dnZXIuZXJyb3IoYFBvcnQgJyR7cG9ydE5hbWV9JyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAwIGFuZCBsZXNzIHRoYW4gNjU1MzYuIEN1cnJlbnRseSAke3BvcnR9YCk7XG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVTZXJ2ZXJBcmdzIChwYXJzZXIsIGFyZ3MpIHtcbiAgLy8gYXJndW1lbnRzIHRoYXQgY2Fubm90IGJvdGggYmUgc2V0XG4gIGxldCBleGNsdXNpdmVzID0gW1xuICAgIFsnbm9SZXNldCcsICdmdWxsUmVzZXQnXSxcbiAgICBbJ2lwYScsICdzYWZhcmknXSxcbiAgICBbJ2FwcCcsICdzYWZhcmknXSxcbiAgICBbJ2ZvcmNlSXBob25lJywgJ2ZvcmNlSXBhZCddLFxuICAgIFsnZGV2aWNlTmFtZScsICdkZWZhdWx0RGV2aWNlJ11cbiAgXTtcblxuICBmb3IgKGxldCBleFNldCBvZiBleGNsdXNpdmVzKSB7XG4gICAgbGV0IG51bUZvdW5kSW5BcmdzID0gMDtcbiAgICBmb3IgKGxldCBvcHQgb2YgZXhTZXQpIHtcbiAgICAgIGlmIChfLmhhcyhhcmdzLCBvcHQpICYmIGFyZ3Nbb3B0XSkge1xuICAgICAgICBudW1Gb3VuZEluQXJncysrO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAobnVtRm91bmRJbkFyZ3MgPiAxKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFlvdSBjYW4ndCBwYXNzIGluIG1vcmUgdGhhbiBvbmUgYXJndW1lbnQgZnJvbSB0aGUgYCArXG4gICAgICAgICAgICAgICAgICAgICAgYHNldCAke0pTT04uc3RyaW5naWZ5KGV4U2V0KX0sIHNpbmNlIHRoZXkgYXJlIGAgK1xuICAgICAgICAgICAgICAgICAgICAgIGBtdXR1YWxseSBleGNsdXNpdmVgKTtcbiAgICB9XG4gIH1cblxuICBjb25zdCB2YWxpZGF0aW9ucyA9IHtcbiAgICBwb3J0OiBjaGVja1ZhbGlkUG9ydCxcbiAgICBjYWxsYmFja1BvcnQ6IGNoZWNrVmFsaWRQb3J0LFxuICAgIGJvb3RzdHJhcFBvcnQ6IGNoZWNrVmFsaWRQb3J0LFxuICAgIGNocm9tZWRyaXZlclBvcnQ6IGNoZWNrVmFsaWRQb3J0LFxuICAgIHJvYm90UG9ydDogY2hlY2tWYWxpZFBvcnQsXG4gICAgYmFja2VuZFJldHJpZXM6IChyKSA9PiByID49IDBcbiAgfTtcblxuICBjb25zdCBub25EZWZhdWx0QXJncyA9IGdldE5vbkRlZmF1bHRBcmdzKHBhcnNlciwgYXJncyk7XG5cbiAgZm9yIChsZXQgW2FyZywgdmFsaWRhdG9yXSBvZiBfLnRvUGFpcnModmFsaWRhdGlvbnMpKSB7XG4gICAgaWYgKF8uaGFzKG5vbkRlZmF1bHRBcmdzLCBhcmcpKSB7XG4gICAgICBpZiAoIXZhbGlkYXRvcihhcmdzW2FyZ10sIGFyZykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFyZ3VtZW50IGZvciBwYXJhbSAke2FyZ306ICR7YXJnc1thcmddfWApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiB2YWxpZGF0ZVRtcERpciAodG1wRGlyKSB7XG4gIHRyeSB7XG4gICAgYXdhaXQgbWtkaXJwKHRtcERpcik7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFdlIGNvdWxkIG5vdCBlbnN1cmUgdGhhdCB0aGUgdGVtcCBkaXIgeW91IHNwZWNpZmllZCBgICtcbiAgICAgICAgICAgICAgICAgICAgYCgke3RtcERpcn0pIGV4aXN0cy4gUGxlYXNlIG1ha2Ugc3VyZSBpdCdzIHdyaXRlYWJsZS5gKTtcbiAgfVxufVxuXG5leHBvcnQge1xuICBnZXRCdWlsZEluZm8sIHZhbGlkYXRlU2VydmVyQXJncywgY2hlY2tOb2RlT2ssIHNob3dDb25maWcsXG4gIHdhcm5Ob2RlRGVwcmVjYXRpb25zLCB2YWxpZGF0ZVRtcERpciwgZ2V0Tm9uRGVmYXVsdEFyZ3MsXG4gIGdldEdpdFJldiwgY2hlY2tWYWxpZFBvcnQsIEFQUElVTV9WRVIsIHVwZGF0ZUJ1aWxkSW5mbyxcbn07XG4iXSwiZmlsZSI6ImxpYi9jb25maWcuanMiLCJzb3VyY2VSb290IjoiLi4vLi4ifQ==
|
|
278
|
+
try {
|
|
279
|
+
await support_1.fs.mkdirp(tmpDir);
|
|
280
|
+
}
|
|
281
|
+
catch (e) {
|
|
282
|
+
throw new Error(`We could not ensure that the temp dir you specified ` +
|
|
283
|
+
`(${tmpDir}) exists. Please make sure it's writeable.`);
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
exports.validateTmpDir = validateTmpDir;
|
|
287
|
+
const rootDir = support_1.fs.findRoot(__dirname);
|
|
288
|
+
exports.rootDir = rootDir;
|
|
289
|
+
/**
|
|
290
|
+
* @typedef {import('appium/types').ParsedArgs} ParsedArgs
|
|
291
|
+
* @typedef {import('appium/types').Args} Args
|
|
292
|
+
* @typedef {import('./schema/arg-spec').ArgSpec} ArgSpec
|
|
293
|
+
*/
|
|
294
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../lib/config.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The name of the extension type for drivers
|
|
3
|
+
*/
|
|
4
|
+
export const DRIVER_TYPE: "driver";
|
|
5
|
+
/**
|
|
6
|
+
* The name of the extension type for plugins
|
|
7
|
+
*/
|
|
8
|
+
export const PLUGIN_TYPE: "plugin";
|
|
9
|
+
/**
|
|
10
|
+
* The `server` command of the `appium` CLI
|
|
11
|
+
*/
|
|
12
|
+
export const SERVER_SUBCOMMAND: "server";
|
|
13
|
+
/**
|
|
14
|
+
* The value of `--use-plugins` if _all_ plugins should be loaded
|
|
15
|
+
*/
|
|
16
|
+
export const USE_ALL_PLUGINS: "all";
|
|
17
|
+
export const KNOWN_PLUGINS: Readonly<{
|
|
18
|
+
readonly images: "@appium/images-plugin";
|
|
19
|
+
readonly 'execute-driver': "@appium/execute-driver-plugin";
|
|
20
|
+
readonly 'relaxed-caps': "@appium/relaxed-caps-plugin";
|
|
21
|
+
readonly 'universal-xml': "@appium/universal-xml-plugin";
|
|
22
|
+
}>;
|
|
23
|
+
export const KNOWN_DRIVERS: Readonly<{
|
|
24
|
+
readonly uiautomator2: "appium-uiautomator2-driver";
|
|
25
|
+
readonly xcuitest: "appium-xcuitest-driver";
|
|
26
|
+
readonly mac2: "appium-mac2-driver";
|
|
27
|
+
readonly espresso: "appium-espresso-driver";
|
|
28
|
+
readonly safari: "appium-safari-driver";
|
|
29
|
+
readonly gecko: "appium-geckodriver";
|
|
30
|
+
readonly chromium: "appium-chromium-driver";
|
|
31
|
+
}>;
|
|
32
|
+
/**
|
|
33
|
+
* Relative path to directory containing any Appium internal files
|
|
34
|
+
*/
|
|
35
|
+
export const CACHE_DIR_RELATIVE_PATH: string;
|
|
36
|
+
/**
|
|
37
|
+
* Relative path to hashfile (from `APPIUM_HOME`) of consuming project's `package.json` (if it exists)
|
|
38
|
+
*/
|
|
39
|
+
export const PKG_HASHFILE_RELATIVE_PATH: string;
|
|
40
|
+
export const EXT_SUBCOMMAND_LIST: "list";
|
|
41
|
+
export const EXT_SUBCOMMAND_INSTALL: "install";
|
|
42
|
+
export const EXT_SUBCOMMAND_UNINSTALL: "uninstall";
|
|
43
|
+
export const EXT_SUBCOMMAND_UPDATE: "update";
|
|
44
|
+
export const EXT_SUBCOMMAND_RUN: "run";
|
|
45
|
+
/**
|
|
46
|
+
* Current revision of the manifest (`extensions.yaml`) schema
|
|
47
|
+
*/
|
|
48
|
+
export const CURRENT_SCHEMA_REV: 3;
|
|
49
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../lib/constants.js"],"names":[],"mappings":"AAEA;;GAEG;AACH,mCAAoC;AAEpC;;GAEG;AACH,mCAAoC;AAEpC;;GAEG;AACH,yCAA0C;AAE1C;;GAEG;AACH,oCAAqC;AAMrC;;;;;GAOE;AAMF;;;;;;;;GAUE;AAEF;;GAEG;AACH,6CAAqF;AAErF;;GAEG;AACH,gDAA6F;AAE7F,yCAA0C;AAC1C,+CAAgD;AAChD,mDAAoD;AACpD,6CAA8C;AAC9C,uCAAwC;AAExC;;GAEG;AACH,mCAAoC"}
|