appium-xcuitest-driver
Version:
Appium driver for iOS using XCUITest for backend
55 lines • 2.21 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getDriverInfo = void 0;
exports.printUser = printUser;
const support_1 = require("appium/support");
const utils_1 = require("../../utils");
const node_path_1 = __importDefault(require("node:path"));
const teen_process_1 = require("teen_process");
const logger_1 = require("../../logger");
const MODULE_NAME = 'appium-xcuitest-driver';
const getModuleManifest = (0, utils_1.memoize)(async function getModuleManifest() {
let currentDir = node_path_1.default.resolve(__dirname);
let isAtFsRoot = false;
while (!isAtFsRoot) {
const manifestPath = node_path_1.default.join(currentDir, 'package.json');
try {
if (await support_1.fs.exists(manifestPath)) {
const manifest = JSON.parse(await support_1.fs.readFile(manifestPath, 'utf8'));
if (manifest.name === MODULE_NAME) {
return manifest;
}
}
}
catch { }
const parentDir = node_path_1.default.dirname(currentDir);
isAtFsRoot = currentDir.length <= parentDir.length;
currentDir = parentDir;
}
throw new Error(`Cannot find the package manifest of the ${MODULE_NAME} Node.js module`);
});
/** Gets driver build/version metadata from package manifest. */
exports.getDriverInfo = (0, utils_1.memoize)(async function getDriverInfo() {
const [stat, manifest] = await Promise.all([
support_1.fs.stat(node_path_1.default.resolve(__dirname, '../..')),
getModuleManifest(),
]);
return {
built: stat.mtime.toString(),
version: manifest.version,
};
});
/** Logs effective OS user running the current process. */
async function printUser() {
try {
const { stdout } = await (0, teen_process_1.exec)('whoami');
logger_1.log.debug(`Current user: '${stdout.trim()}'`);
}
catch (err) {
logger_1.log.debug(`Unable to get username running server: ${err.message}`);
}
}
//# sourceMappingURL=runtime.js.map