appium 3.0.0-rc.1 → 3.0.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/README.md +10 -0
- package/build/lib/bidi-commands.js +2 -2
- package/build/lib/bidi-commands.js.map +1 -1
- package/build/lib/cli/extension-command.d.ts.map +1 -1
- package/build/lib/cli/extension-command.js +31 -4
- package/build/lib/cli/extension-command.js.map +1 -1
- package/build/lib/extension/driver-config.d.ts.map +1 -1
- package/build/lib/extension/driver-config.js +12 -14
- package/build/lib/extension/driver-config.js.map +1 -1
- package/build/lib/extension/extension-config.d.ts.map +1 -1
- package/build/lib/extension/extension-config.js +4 -6
- package/build/lib/extension/extension-config.js.map +1 -1
- package/build/lib/extension/manifest.d.ts.map +1 -1
- package/build/lib/extension/manifest.js +5 -7
- package/build/lib/extension/manifest.js.map +1 -1
- package/build/lib/logsink.d.ts +10 -0
- package/build/lib/logsink.d.ts.map +1 -1
- package/build/lib/logsink.js +17 -18
- package/build/lib/logsink.js.map +1 -1
- package/build/lib/utils.d.ts +11 -1
- package/build/lib/utils.d.ts.map +1 -1
- package/build/lib/utils.js +27 -9
- package/build/lib/utils.js.map +1 -1
- package/lib/bidi-commands.ts +2 -2
- package/lib/cli/extension-command.js +35 -5
- package/lib/extension/driver-config.js +11 -13
- package/lib/extension/extension-config.js +10 -13
- package/lib/extension/manifest.js +10 -12
- package/lib/logsink.js +17 -18
- package/lib/utils.js +26 -8
- package/package.json +17 -18
package/build/lib/logsink.js
CHANGED
|
@@ -63,6 +63,8 @@ async function init(args) {
|
|
|
63
63
|
log = (0, winston_1.createLogger)({
|
|
64
64
|
transports,
|
|
65
65
|
levels: LEVELS_MAP,
|
|
66
|
+
handleExceptions: true,
|
|
67
|
+
exitOnError: false
|
|
66
68
|
});
|
|
67
69
|
const reportedLoggerErrors = new Set();
|
|
68
70
|
// Capture logs emitted via npmlog and pass them through winston
|
|
@@ -127,16 +129,14 @@ const stripColorFormat = (0, winston_1.format)(function stripColor(info) {
|
|
|
127
129
|
* @returns {transports.ConsoleTransportInstance}
|
|
128
130
|
*/
|
|
129
131
|
function createConsoleTransport(args, logLvl) {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
+
/** @type {AppiumConsoleTransportOptions} */
|
|
133
|
+
const opt = {
|
|
132
134
|
name: 'console',
|
|
133
|
-
handleExceptions: true,
|
|
134
|
-
exitOnError: false,
|
|
135
|
-
json: false,
|
|
136
135
|
level: logLvl,
|
|
137
136
|
stderrLevels: ['error'],
|
|
138
137
|
format: winston_1.format.combine(formatTimestamp(args), isLogColorEnabled(args) ? colorizeFormat : stripColorFormat, formatLog(args, true)),
|
|
139
|
-
}
|
|
138
|
+
};
|
|
139
|
+
return new winston_1.transports.Console(opt);
|
|
140
140
|
}
|
|
141
141
|
/**
|
|
142
142
|
*
|
|
@@ -145,17 +145,15 @@ function createConsoleTransport(args, logLvl) {
|
|
|
145
145
|
* @returns {transports.FileTransportInstance}
|
|
146
146
|
*/
|
|
147
147
|
function createFileTransport(args, logLvl) {
|
|
148
|
-
|
|
149
|
-
|
|
148
|
+
/** @type {AppiumFileTransportOptions} */
|
|
149
|
+
const opt = {
|
|
150
150
|
name: 'file',
|
|
151
151
|
filename: args.logFile,
|
|
152
152
|
maxFiles: 1,
|
|
153
|
-
handleExceptions: true,
|
|
154
|
-
exitOnError: false,
|
|
155
|
-
json: false,
|
|
156
153
|
level: logLvl,
|
|
157
154
|
format: winston_1.format.combine(stripColorFormat, formatTimestamp(args), formatLog(args, false)),
|
|
158
|
-
}
|
|
155
|
+
};
|
|
156
|
+
return new winston_1.transports.File(opt);
|
|
159
157
|
}
|
|
160
158
|
/**
|
|
161
159
|
*
|
|
@@ -171,18 +169,16 @@ function createHttpTransport(args, logLvl) {
|
|
|
171
169
|
host = hostAndPort[0];
|
|
172
170
|
port = parseInt(hostAndPort[1], 10);
|
|
173
171
|
}
|
|
174
|
-
|
|
175
|
-
|
|
172
|
+
/** @type {AppiumHttpTransportOptions} */
|
|
173
|
+
const opt = {
|
|
176
174
|
name: 'http',
|
|
177
175
|
host,
|
|
178
176
|
port,
|
|
179
177
|
path: '/',
|
|
180
|
-
handleExceptions: true,
|
|
181
|
-
exitOnError: false,
|
|
182
|
-
json: false,
|
|
183
178
|
level: logLvl,
|
|
184
179
|
format: winston_1.format.combine(stripColorFormat, formatLog(args, false)),
|
|
185
|
-
}
|
|
180
|
+
};
|
|
181
|
+
return new winston_1.transports.Http(opt);
|
|
186
182
|
}
|
|
187
183
|
/**
|
|
188
184
|
*
|
|
@@ -321,5 +317,8 @@ exports.default = init;
|
|
|
321
317
|
/**
|
|
322
318
|
* @typedef {import('appium/types').ParsedArgs} ParsedArgs
|
|
323
319
|
* @typedef {import('@appium/logger').MessageObject} MessageObject
|
|
320
|
+
* @typedef {transports.ConsoleTransportOptions & {name: string}} AppiumConsoleTransportOptions
|
|
321
|
+
* @typedef {transports.FileTransportOptions & {name: string}} AppiumFileTransportOptions
|
|
322
|
+
* @typedef {transports.HttpTransportOptions & {name: string}} AppiumHttpTransportOptions
|
|
324
323
|
*/
|
|
325
324
|
//# sourceMappingURL=logsink.js.map
|
package/build/lib/logsink.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logsink.js","sourceRoot":"","sources":["../../lib/logsink.js"],"names":[],"mappings":";;;;;AAoDA,
|
|
1
|
+
{"version":3,"file":"logsink.js","sourceRoot":"","sources":["../../lib/logsink.js"],"names":[],"mappings":"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"}
|
package/build/lib/utils.d.ts
CHANGED
|
@@ -36,9 +36,11 @@ export function removeAppiumPrefixes<C extends Constraints = {}>(caps: NSCapabil
|
|
|
36
36
|
export function getPackageVersion(pkgName: string): string | undefined;
|
|
37
37
|
/**
|
|
38
38
|
* Adjusts NODE_PATH environment variable,
|
|
39
|
-
* so drivers and plugins could load their peer dependencies.
|
|
39
|
+
* so CJS drivers and plugins could load their peer dependencies.
|
|
40
40
|
* Read https://nodejs.org/api/modules.html#loading-from-the-global-folders
|
|
41
41
|
* for more details.
|
|
42
|
+
*
|
|
43
|
+
* Unfortunately this hack does not work with ESM modules,
|
|
42
44
|
* @returns {void}
|
|
43
45
|
*/
|
|
44
46
|
export function adjustNodePath(): void;
|
|
@@ -133,6 +135,13 @@ export const npmPackage: import("read-pkg").NormalizedPackageJson;
|
|
|
133
135
|
* @todo May want to force color to be `false` if {@link isStdoutTTY} is `false`.
|
|
134
136
|
*/
|
|
135
137
|
export const inspect: (t1: any) => void;
|
|
138
|
+
/**
|
|
139
|
+
* Returns the root directory of the Appium module.
|
|
140
|
+
*
|
|
141
|
+
* @returns {string} - The absolute path to the Appium module root directory.
|
|
142
|
+
* @throws {Error} - If the Appium module root cannot be determined.
|
|
143
|
+
*/
|
|
144
|
+
export const getAppiumModuleRoot: (() => string) & _.MemoizedFunction;
|
|
136
145
|
export type StringRecord = import("@appium/types").StringRecord;
|
|
137
146
|
export type BaseDriverCapConstraints = import("@appium/types").BaseDriverCapConstraints;
|
|
138
147
|
export type ParsedDriverCaps<C extends Constraints = {
|
|
@@ -261,4 +270,5 @@ export type SetupCommand = import("appium/types").CliCommandSetup;
|
|
|
261
270
|
export type Args<Cmd extends CliCommand = "server", SubCmd extends CliExtensionSubcommand | CliCommandSetupSubcommand | void = void> = import("appium/types").Args<Cmd, SubCmd>;
|
|
262
271
|
export type ParsedArgs<Cmd extends CliCommand = "server", SubCmd extends CliExtensionSubcommand | CliCommandSetupSubcommand | void = void> = import("appium/types").ParsedArgs<Cmd, SubCmd>;
|
|
263
272
|
import os from 'node:os';
|
|
273
|
+
import _ from 'lodash';
|
|
264
274
|
//# sourceMappingURL=utils.d.ts.map
|
package/build/lib/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.js"],"names":[],"mappings":"AA6BA;;;;GAIG;AACH,uCAFa,KAAK,CAOjB;AAiBD;;;;;;;;;GASG;AACH,wCAN2B,CAAC,SAAd,WAAY,mBACf,eAAe,CAAC,CAAC,CAAC,gBAClB,CAAC,wBACD,cAAc,CAAC,CAAC,CAAC,GACf,gBAAgB,CAAC,CAAC,CAAC,GAAC,WAAW,CAAC,CAAC,CAAC,CAiF9C;AAED;;;;;GAKG;AACH,qCAJ4B,CAAC,SAAf,WAAY,aACf,YAAY,CAAC,CAAC,CAAC,GACb,cAAc,CAAC,CAAC,CAAC,CAU7B;AAED;;;;GAIG;AACH,qCAJ4B,CAAC,SAAf,WAAY,aACf,cAAc,CAAC,CAAC,CAAC,GACf,YAAY,CAAC,CAAC,CAAC,CAI3B;AAWD;;;;GAIG;AACH,2CAHW,MAAM,GACJ,MAAM,GAAC,SAAS,CAK5B;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.js"],"names":[],"mappings":"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"}
|
package/build/lib/utils.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.inspect = exports.npmPackage = exports.V6_BROADCAST_IP = exports.V4_BROADCAST_IP = void 0;
|
|
6
|
+
exports.getAppiumModuleRoot = exports.inspect = exports.npmPackage = exports.V6_BROADCAST_IP = exports.V4_BROADCAST_IP = void 0;
|
|
7
7
|
exports.makeNonW3cCapsError = makeNonW3cCapsError;
|
|
8
8
|
exports.parseCapsForInnerDriver = parseCapsForInnerDriver;
|
|
9
9
|
exports.insertAppiumPrefixes = insertAppiumPrefixes;
|
|
@@ -170,19 +170,37 @@ function getPackageVersion(pkgName) {
|
|
|
170
170
|
const pkgInfo = require(`${pkgName}/package.json`) || {};
|
|
171
171
|
return pkgInfo.version;
|
|
172
172
|
}
|
|
173
|
+
/**
|
|
174
|
+
* Returns the root directory of the Appium module.
|
|
175
|
+
*
|
|
176
|
+
* @returns {string} - The absolute path to the Appium module root directory.
|
|
177
|
+
* @throws {Error} - If the Appium module root cannot be determined.
|
|
178
|
+
*/
|
|
179
|
+
exports.getAppiumModuleRoot = lodash_1.default.memoize(function getAppiumModuleRoot() {
|
|
180
|
+
const selfRoot = support_1.node.getModuleRootSync('appium', __filename);
|
|
181
|
+
if (!selfRoot) {
|
|
182
|
+
throw new Error('Cannot find the appium module root. This is likely a bug in Appium.');
|
|
183
|
+
}
|
|
184
|
+
return selfRoot;
|
|
185
|
+
});
|
|
173
186
|
/**
|
|
174
187
|
* Adjusts NODE_PATH environment variable,
|
|
175
|
-
* so drivers and plugins could load their peer dependencies.
|
|
188
|
+
* so CJS drivers and plugins could load their peer dependencies.
|
|
176
189
|
* Read https://nodejs.org/api/modules.html#loading-from-the-global-folders
|
|
177
190
|
* for more details.
|
|
191
|
+
*
|
|
192
|
+
* Unfortunately this hack does not work with ESM modules,
|
|
178
193
|
* @returns {void}
|
|
179
194
|
*/
|
|
180
195
|
function adjustNodePath() {
|
|
181
|
-
|
|
182
|
-
|
|
196
|
+
let appiumModuleSearchRoot;
|
|
197
|
+
try {
|
|
198
|
+
appiumModuleSearchRoot = path_1.default.dirname((0, exports.getAppiumModuleRoot)());
|
|
199
|
+
}
|
|
200
|
+
catch (error) {
|
|
201
|
+
logger_1.default.warn(error.message);
|
|
183
202
|
return;
|
|
184
203
|
}
|
|
185
|
-
const nodeModulesRoot = path_1.default.dirname(selfRoot);
|
|
186
204
|
const refreshRequirePaths = () => {
|
|
187
205
|
try {
|
|
188
206
|
// ! This hack allows us to avoid modification of import
|
|
@@ -198,7 +216,7 @@ function adjustNodePath() {
|
|
|
198
216
|
}
|
|
199
217
|
};
|
|
200
218
|
if (!process.env.NODE_PATH) {
|
|
201
|
-
process.env.NODE_PATH =
|
|
219
|
+
process.env.NODE_PATH = appiumModuleSearchRoot;
|
|
202
220
|
if (refreshRequirePaths()) {
|
|
203
221
|
process.env.APPIUM_OMIT_PEER_DEPS = '1';
|
|
204
222
|
}
|
|
@@ -208,17 +226,17 @@ function adjustNodePath() {
|
|
|
208
226
|
return;
|
|
209
227
|
}
|
|
210
228
|
const nodePathParts = process.env.NODE_PATH.split(path_1.default.delimiter);
|
|
211
|
-
if (nodePathParts.includes(
|
|
229
|
+
if (nodePathParts.includes(appiumModuleSearchRoot)) {
|
|
212
230
|
process.env.APPIUM_OMIT_PEER_DEPS = '1';
|
|
213
231
|
return;
|
|
214
232
|
}
|
|
215
|
-
nodePathParts.push(
|
|
233
|
+
nodePathParts.push(appiumModuleSearchRoot);
|
|
216
234
|
process.env.NODE_PATH = nodePathParts.join(path_1.default.delimiter);
|
|
217
235
|
if (refreshRequirePaths()) {
|
|
218
236
|
process.env.APPIUM_OMIT_PEER_DEPS = '1';
|
|
219
237
|
}
|
|
220
238
|
else {
|
|
221
|
-
process.env.NODE_PATH = lodash_1.default.without(nodePathParts,
|
|
239
|
+
process.env.NODE_PATH = lodash_1.default.without(nodePathParts, appiumModuleSearchRoot).join(path_1.default.delimiter);
|
|
222
240
|
}
|
|
223
241
|
}
|
|
224
242
|
/**
|
package/build/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.js"],"names":[],"mappings":";;;;;;AAkCA,kDAKC;AA2BD,0DA+EC;AAQD,oDAQC;AAOD,oDAEC;AAgBD,8CAGC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.js"],"names":[],"mappings":"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"}
|
package/lib/bidi-commands.ts
CHANGED
|
@@ -189,7 +189,7 @@ export function cleanupBidiSockets(this: AppiumDriver, sessionId: string): void
|
|
|
189
189
|
this.log.debug(`Closing bidi socket(s) associated with session ${sessionId}`);
|
|
190
190
|
for (const ws of this.bidiSockets[sessionId]) {
|
|
191
191
|
// 1001 means server is going away
|
|
192
|
-
ws.close(1001
|
|
192
|
+
ws.close(1001);
|
|
193
193
|
}
|
|
194
194
|
} catch {}
|
|
195
195
|
delete this.bidiSockets[sessionId];
|
|
@@ -481,7 +481,7 @@ function initBidiEventListeners(
|
|
|
481
481
|
if (method in eventLogCounts) {
|
|
482
482
|
++eventLogCounts[method];
|
|
483
483
|
} else {
|
|
484
|
-
ext.log?.
|
|
484
|
+
ext.log?.debug( // some old plugins might not have the `log` property
|
|
485
485
|
`<-- BIDI EVENT ${method} (context: '${context}', ` +
|
|
486
486
|
`params: ${_.truncate(JSON.stringify(params), {length: MAX_LOGGED_DATA_LENGTH})}). ` +
|
|
487
487
|
`All further similar events won't be logged.`,
|
|
@@ -16,7 +16,7 @@ import {spawn} from 'child_process';
|
|
|
16
16
|
import {inspect} from 'node:util';
|
|
17
17
|
import {pathToFileURL} from 'url';
|
|
18
18
|
import {Doctor, EXIT_CODE as DOCTOR_EXIT_CODE} from '../doctor/doctor';
|
|
19
|
-
import {npmPackage} from '../utils';
|
|
19
|
+
import {getAppiumModuleRoot, npmPackage} from '../utils';
|
|
20
20
|
import * as semver from 'semver';
|
|
21
21
|
|
|
22
22
|
const UPDATE_ALL = 'installed';
|
|
@@ -443,19 +443,24 @@ class ExtensionCliCommand {
|
|
|
443
443
|
// the string used for installation is either <name>@<ver> in the case of a standard NPM
|
|
444
444
|
// package, or whatever the user sent in otherwise.
|
|
445
445
|
const installStr = installType === INSTALL_TYPE_NPM ? `${pkgName}${pkgVer ? `@${pkgVer}` : ''}` : installSpec;
|
|
446
|
+
const appiumHome = this.config.appiumHome;
|
|
446
447
|
try {
|
|
447
|
-
const {pkg,
|
|
448
|
-
const {pkg, installPath
|
|
448
|
+
const {pkg, installPath} = await spinWith(this.isJsonOutput, msg, async () => {
|
|
449
|
+
const {pkg, installPath} = await npm.installPackage(appiumHome, installStr, {
|
|
449
450
|
pkgName,
|
|
450
451
|
installType,
|
|
451
452
|
});
|
|
452
453
|
this.validatePackageJson(pkg, installSpec);
|
|
453
|
-
return {pkg,
|
|
454
|
+
return {pkg, installPath};
|
|
454
455
|
});
|
|
455
456
|
|
|
457
|
+
// After the extension is installed, we try to inject the appium module symlink
|
|
458
|
+
// into the extension's node_modules folder if it is not there yet.
|
|
459
|
+
await injectAppiumSymlink.bind(this)(path.join(installPath, 'node_modules'));
|
|
460
|
+
|
|
456
461
|
return this.getInstallationReceipt({
|
|
457
462
|
pkg,
|
|
458
|
-
installPath
|
|
463
|
+
installPath,
|
|
459
464
|
installType,
|
|
460
465
|
installSpec,
|
|
461
466
|
});
|
|
@@ -953,6 +958,31 @@ class ExtensionCliCommand {
|
|
|
953
958
|
}
|
|
954
959
|
}
|
|
955
960
|
|
|
961
|
+
/**
|
|
962
|
+
* This is needed to ensure proper module resolution for installed extensions,
|
|
963
|
+
* especially ESM ones.
|
|
964
|
+
*
|
|
965
|
+
* @this {ExtensionCliCommand}
|
|
966
|
+
* @param {string} dstFolder The destination folder where the symlink should be created
|
|
967
|
+
* @returns {Promise<void>}
|
|
968
|
+
*/
|
|
969
|
+
async function injectAppiumSymlink(dstFolder) {
|
|
970
|
+
let appiumModuleRoot;
|
|
971
|
+
try {
|
|
972
|
+
appiumModuleRoot = getAppiumModuleRoot();
|
|
973
|
+
const symlinkPath = path.join(dstFolder, path.basename(appiumModuleRoot));
|
|
974
|
+
if (await fs.exists(dstFolder) && !(await fs.exists(symlinkPath))) {
|
|
975
|
+
await fs.symlink(appiumModuleRoot, symlinkPath, system.isWindows() ? 'junction' : 'dir');
|
|
976
|
+
}
|
|
977
|
+
} catch (error) {
|
|
978
|
+
// This error is not fatal, we may still doing just fine if the module being loaded is a CJS one
|
|
979
|
+
this.log.info(
|
|
980
|
+
`Cannot create a symlink to the appium module '${appiumModuleRoot}' in '${dstFolder}'. ` +
|
|
981
|
+
`Original error: ${error.message}`
|
|
982
|
+
);
|
|
983
|
+
}
|
|
984
|
+
}
|
|
985
|
+
|
|
956
986
|
export default ExtensionCliCommand;
|
|
957
987
|
export {ExtensionCliCommand as ExtensionCommand};
|
|
958
988
|
|
|
@@ -84,20 +84,18 @@ export class DriverConfig extends ExtensionConfig {
|
|
|
84
84
|
err: 'Missing or incorrect supported platformNames list.',
|
|
85
85
|
val: platformNames,
|
|
86
86
|
});
|
|
87
|
+
} else if (_.isEmpty(platformNames)) {
|
|
88
|
+
problems.push({
|
|
89
|
+
err: 'Empty platformNames list.',
|
|
90
|
+
val: platformNames,
|
|
91
|
+
});
|
|
87
92
|
} else {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
for (const pName of platformNames) {
|
|
95
|
-
if (!_.isString(pName)) {
|
|
96
|
-
problems.push({
|
|
97
|
-
err: 'Incorrectly formatted platformName.',
|
|
98
|
-
val: pName,
|
|
99
|
-
});
|
|
100
|
-
}
|
|
93
|
+
for (const pName of platformNames) {
|
|
94
|
+
if (!_.isString(pName)) {
|
|
95
|
+
problems.push({
|
|
96
|
+
err: 'Incorrectly formatted platformName.',
|
|
97
|
+
val: pName,
|
|
98
|
+
});
|
|
101
99
|
}
|
|
102
100
|
}
|
|
103
101
|
}
|
|
@@ -240,20 +240,17 @@ export class ExtensionConfig {
|
|
|
240
240
|
for (const summary of errorSummaries) {
|
|
241
241
|
log.error(summary);
|
|
242
242
|
}
|
|
243
|
-
} else {
|
|
243
|
+
} else if (!_.isEmpty(warningSummaries)) {
|
|
244
244
|
// only display warnings if there are no errors!
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
);
|
|
254
|
-
for (const summary of warningSummaries) {
|
|
255
|
-
log.warn(summary);
|
|
256
|
-
}
|
|
245
|
+
log.warn(
|
|
246
|
+
`Appium encountered ${util.pluralize(
|
|
247
|
+
'warning',
|
|
248
|
+
warningMap.size,
|
|
249
|
+
true
|
|
250
|
+
)} while validating ${this.extensionType}s found in manifest ${this.manifestPath}`
|
|
251
|
+
);
|
|
252
|
+
for (const summary of warningSummaries) {
|
|
253
|
+
log.warn(summary);
|
|
257
254
|
}
|
|
258
255
|
}
|
|
259
256
|
return exts;
|
|
@@ -390,19 +390,17 @@ export class Manifest {
|
|
|
390
390
|
if (err.code === 'ENOENT') {
|
|
391
391
|
data = _.cloneDeep(INITIAL_MANIFEST_DATA);
|
|
392
392
|
shouldWrite = true;
|
|
393
|
+
} else if (this.#manifestPath) {
|
|
394
|
+
throw new Error(
|
|
395
|
+
`Appium had trouble loading the extension installation ` +
|
|
396
|
+
`cache file (${this.#manifestPath}). It may be invalid YAML. Specific error: ${
|
|
397
|
+
err.message
|
|
398
|
+
}`
|
|
399
|
+
);
|
|
393
400
|
} else {
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
`cache file (${this.#manifestPath}). It may be invalid YAML. Specific error: ${
|
|
398
|
-
err.message
|
|
399
|
-
}`
|
|
400
|
-
);
|
|
401
|
-
} else {
|
|
402
|
-
throw new Error(
|
|
403
|
-
`Appium encountered an unknown problem. Specific error: ${err.message}`
|
|
404
|
-
);
|
|
405
|
-
}
|
|
401
|
+
throw new Error(
|
|
402
|
+
`Appium encountered an unknown problem. Specific error: ${err.message}`
|
|
403
|
+
);
|
|
406
404
|
}
|
|
407
405
|
}
|
|
408
406
|
|
package/lib/logsink.js
CHANGED
|
@@ -61,6 +61,8 @@ export async function init(args) {
|
|
|
61
61
|
log = createLogger({
|
|
62
62
|
transports,
|
|
63
63
|
levels: LEVELS_MAP,
|
|
64
|
+
handleExceptions: true,
|
|
65
|
+
exitOnError: false
|
|
64
66
|
});
|
|
65
67
|
|
|
66
68
|
const reportedLoggerErrors = new Set();
|
|
@@ -131,12 +133,9 @@ const stripColorFormat = format(function stripColor(info) {
|
|
|
131
133
|
* @returns {transports.ConsoleTransportInstance}
|
|
132
134
|
*/
|
|
133
135
|
function createConsoleTransport(args, logLvl) {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
+
/** @type {AppiumConsoleTransportOptions} */
|
|
137
|
+
const opt = {
|
|
136
138
|
name: 'console',
|
|
137
|
-
handleExceptions: true,
|
|
138
|
-
exitOnError: false,
|
|
139
|
-
json: false,
|
|
140
139
|
level: logLvl,
|
|
141
140
|
stderrLevels: ['error'],
|
|
142
141
|
format: format.combine(
|
|
@@ -144,7 +143,8 @@ function createConsoleTransport(args, logLvl) {
|
|
|
144
143
|
isLogColorEnabled(args) ? colorizeFormat : stripColorFormat,
|
|
145
144
|
formatLog(args, true),
|
|
146
145
|
),
|
|
147
|
-
}
|
|
146
|
+
};
|
|
147
|
+
return new transports.Console(opt);
|
|
148
148
|
}
|
|
149
149
|
|
|
150
150
|
/**
|
|
@@ -154,21 +154,19 @@ function createConsoleTransport(args, logLvl) {
|
|
|
154
154
|
* @returns {transports.FileTransportInstance}
|
|
155
155
|
*/
|
|
156
156
|
function createFileTransport(args, logLvl) {
|
|
157
|
-
|
|
158
|
-
|
|
157
|
+
/** @type {AppiumFileTransportOptions} */
|
|
158
|
+
const opt = {
|
|
159
159
|
name: 'file',
|
|
160
160
|
filename: args.logFile,
|
|
161
161
|
maxFiles: 1,
|
|
162
|
-
handleExceptions: true,
|
|
163
|
-
exitOnError: false,
|
|
164
|
-
json: false,
|
|
165
162
|
level: logLvl,
|
|
166
163
|
format: format.combine(
|
|
167
164
|
stripColorFormat,
|
|
168
165
|
formatTimestamp(args),
|
|
169
166
|
formatLog(args, false),
|
|
170
167
|
),
|
|
171
|
-
}
|
|
168
|
+
};
|
|
169
|
+
return new transports.File(opt);
|
|
172
170
|
}
|
|
173
171
|
|
|
174
172
|
/**
|
|
@@ -187,21 +185,19 @@ function createHttpTransport(args, logLvl) {
|
|
|
187
185
|
port = parseInt(hostAndPort[1], 10);
|
|
188
186
|
}
|
|
189
187
|
|
|
190
|
-
|
|
191
|
-
|
|
188
|
+
/** @type {AppiumHttpTransportOptions} */
|
|
189
|
+
const opt = {
|
|
192
190
|
name: 'http',
|
|
193
191
|
host,
|
|
194
192
|
port,
|
|
195
193
|
path: '/',
|
|
196
|
-
handleExceptions: true,
|
|
197
|
-
exitOnError: false,
|
|
198
|
-
json: false,
|
|
199
194
|
level: logLvl,
|
|
200
195
|
format: format.combine(
|
|
201
196
|
stripColorFormat,
|
|
202
197
|
formatLog(args, false),
|
|
203
198
|
),
|
|
204
|
-
}
|
|
199
|
+
};
|
|
200
|
+
return new transports.Http(opt);
|
|
205
201
|
}
|
|
206
202
|
|
|
207
203
|
/**
|
|
@@ -362,4 +358,7 @@ export default init;
|
|
|
362
358
|
/**
|
|
363
359
|
* @typedef {import('appium/types').ParsedArgs} ParsedArgs
|
|
364
360
|
* @typedef {import('@appium/logger').MessageObject} MessageObject
|
|
361
|
+
* @typedef {transports.ConsoleTransportOptions & {name: string}} AppiumConsoleTransportOptions
|
|
362
|
+
* @typedef {transports.FileTransportOptions & {name: string}} AppiumFileTransportOptions
|
|
363
|
+
* @typedef {transports.HttpTransportOptions & {name: string}} AppiumHttpTransportOptions
|
|
365
364
|
*/
|
package/lib/utils.js
CHANGED
|
@@ -189,19 +189,37 @@ export function getPackageVersion(pkgName) {
|
|
|
189
189
|
return pkgInfo.version;
|
|
190
190
|
}
|
|
191
191
|
|
|
192
|
+
/**
|
|
193
|
+
* Returns the root directory of the Appium module.
|
|
194
|
+
*
|
|
195
|
+
* @returns {string} - The absolute path to the Appium module root directory.
|
|
196
|
+
* @throws {Error} - If the Appium module root cannot be determined.
|
|
197
|
+
*/
|
|
198
|
+
export const getAppiumModuleRoot = _.memoize(function getAppiumModuleRoot() {
|
|
199
|
+
const selfRoot = node.getModuleRootSync('appium', __filename);
|
|
200
|
+
if (!selfRoot) {
|
|
201
|
+
throw new Error('Cannot find the appium module root. This is likely a bug in Appium.');
|
|
202
|
+
}
|
|
203
|
+
return selfRoot;
|
|
204
|
+
});
|
|
205
|
+
|
|
192
206
|
/**
|
|
193
207
|
* Adjusts NODE_PATH environment variable,
|
|
194
|
-
* so drivers and plugins could load their peer dependencies.
|
|
208
|
+
* so CJS drivers and plugins could load their peer dependencies.
|
|
195
209
|
* Read https://nodejs.org/api/modules.html#loading-from-the-global-folders
|
|
196
210
|
* for more details.
|
|
211
|
+
*
|
|
212
|
+
* Unfortunately this hack does not work with ESM modules,
|
|
197
213
|
* @returns {void}
|
|
198
214
|
*/
|
|
199
215
|
export function adjustNodePath() {
|
|
200
|
-
|
|
201
|
-
|
|
216
|
+
let appiumModuleSearchRoot;
|
|
217
|
+
try {
|
|
218
|
+
appiumModuleSearchRoot = path.dirname(getAppiumModuleRoot());
|
|
219
|
+
} catch (error) {
|
|
220
|
+
logger.warn(error.message);
|
|
202
221
|
return;
|
|
203
222
|
}
|
|
204
|
-
const nodeModulesRoot = path.dirname(selfRoot);
|
|
205
223
|
|
|
206
224
|
const refreshRequirePaths = () => {
|
|
207
225
|
try {
|
|
@@ -219,7 +237,7 @@ export function adjustNodePath() {
|
|
|
219
237
|
};
|
|
220
238
|
|
|
221
239
|
if (!process.env.NODE_PATH) {
|
|
222
|
-
process.env.NODE_PATH =
|
|
240
|
+
process.env.NODE_PATH = appiumModuleSearchRoot;
|
|
223
241
|
if (refreshRequirePaths()) {
|
|
224
242
|
process.env.APPIUM_OMIT_PEER_DEPS = '1';
|
|
225
243
|
} else {
|
|
@@ -229,17 +247,17 @@ export function adjustNodePath() {
|
|
|
229
247
|
}
|
|
230
248
|
|
|
231
249
|
const nodePathParts = process.env.NODE_PATH.split(path.delimiter);
|
|
232
|
-
if (nodePathParts.includes(
|
|
250
|
+
if (nodePathParts.includes(appiumModuleSearchRoot)) {
|
|
233
251
|
process.env.APPIUM_OMIT_PEER_DEPS = '1';
|
|
234
252
|
return;
|
|
235
253
|
}
|
|
236
254
|
|
|
237
|
-
nodePathParts.push(
|
|
255
|
+
nodePathParts.push(appiumModuleSearchRoot);
|
|
238
256
|
process.env.NODE_PATH = nodePathParts.join(path.delimiter);
|
|
239
257
|
if (refreshRequirePaths()) {
|
|
240
258
|
process.env.APPIUM_OMIT_PEER_DEPS = '1';
|
|
241
259
|
} else {
|
|
242
|
-
process.env.NODE_PATH = _.without(nodePathParts,
|
|
260
|
+
process.env.NODE_PATH = _.without(nodePathParts, appiumModuleSearchRoot).join(path.delimiter);
|
|
243
261
|
}
|
|
244
262
|
}
|
|
245
263
|
|