@appium/support 2.61.1 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lib/console.d.ts +1 -1
- package/build/lib/console.js +169 -105
- package/build/lib/console.js.map +1 -1
- package/build/lib/env.d.ts.map +1 -1
- package/build/lib/env.js +144 -117
- package/build/lib/env.js.map +1 -1
- package/build/lib/fs.d.ts +9 -2
- package/build/lib/fs.d.ts.map +1 -1
- package/build/lib/fs.js +358 -246
- package/build/lib/fs.js.map +1 -1
- package/build/lib/image-util.js +139 -124
- package/build/lib/image-util.js.map +1 -1
- package/build/lib/index.js +64 -103
- package/build/lib/index.js.map +1 -1
- package/build/lib/log-internal.d.ts +4 -27
- package/build/lib/log-internal.d.ts.map +1 -1
- package/build/lib/log-internal.js +141 -123
- package/build/lib/log-internal.js.map +1 -1
- package/build/lib/logger.d.ts +1 -1
- package/build/lib/logger.d.ts.map +1 -1
- package/build/lib/logger.js +5 -14
- package/build/lib/logger.js.map +1 -1
- package/build/lib/logging.d.ts +3 -4
- package/build/lib/logging.d.ts.map +1 -1
- package/build/lib/logging.js +139 -110
- package/build/lib/logging.js.map +1 -1
- package/build/lib/mjpeg.js +169 -141
- package/build/lib/mjpeg.js.map +1 -1
- package/build/lib/mkdirp.js +7 -13
- package/build/lib/mkdirp.js.map +1 -1
- package/build/lib/net.d.ts.map +1 -1
- package/build/lib/net.js +278 -254
- package/build/lib/net.js.map +1 -1
- package/build/lib/node.js +203 -192
- package/build/lib/node.js.map +1 -1
- package/build/lib/npm.d.ts +19 -4
- package/build/lib/npm.d.ts.map +1 -1
- package/build/lib/npm.js +277 -228
- package/build/lib/npm.js.map +1 -1
- package/build/lib/plist.js +145 -136
- package/build/lib/plist.js.map +1 -1
- package/build/lib/process.js +41 -42
- package/build/lib/process.js.map +1 -1
- package/build/lib/system.js +39 -56
- package/build/lib/system.js.map +1 -1
- package/build/lib/tempdir.js +112 -73
- package/build/lib/tempdir.js.map +1 -1
- package/build/lib/timing.js +99 -84
- package/build/lib/timing.js.map +1 -1
- package/build/lib/util.js +454 -356
- package/build/lib/util.js.map +1 -1
- package/build/lib/zip.js +469 -423
- package/build/lib/zip.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/lib/env.js +6 -4
- package/lib/fs.js +15 -1
- package/lib/log-internal.js +12 -16
- package/lib/logging.js +2 -3
- package/lib/net.js +15 -6
- package/lib/npm.js +28 -18
- package/package.json +20 -19
package/build/lib/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","names":["W3C_WEB_ELEMENT_IDENTIFIER","KiB","MiB","GiB","hasContent","val","_","isString","hasValue","isNumber","isNaN","isUndefined","isNull","escapeSpace","str","split","join","escapeSpecialChars","quoteEscape","replace","re","RegExp","localIp","ip","chain","os","networkInterfaces","values","flatten","filter","family","internal","map","first","value","cancellableDelay","ms","timer","resolve","reject","delay","B","Promise","_resolve","_reject","setTimeout","cancel","clearTimeout","CancellationError","multiResolve","roots","args","root","path","safeJsonParse","obj","JSON","parse","ign","jsonStringify","replacer","space","isFunction","k","v","bufferToJSON","Buffer","prototype","toJSON","stringify","key","updatedValue","isBuffer","toString","unwrapElement","el","propName","has","wrapElement","elementId","ELEMENT","filterObject","predicate","newObj","clone","valuePredicate","Object","keys","toReadableSizeString","bytes","intBytes","parseInt","String","Error","toFixed","isSubPath","originalPath","forcePosix","pathObj","posix","p","isAbsolute","normalizedRoot","normalize","normalizedPath","startsWith","isSameDestination","path1","path2","pathN","allPaths","reduce","a","b","fs","exists","areAllItemsEqual","arr","NaN","mapCb","x","stat","bigint","ino","coerceVersion","ver","strict","result","semver","valid","coerce","SUPPORTED_OPERATORS","compareVersions","ver1","operator","ver2","includes","semverOperator","satisfies","quote","shellQuote","castArray","unleakString","s","substr","pluralize","word","count","options","inclusive","isBoolean","pluralizeLib","toInMemoryBase64","srcPath","opts","isDirectory","maxSize","resultBuffers","resultBuffersSize","resultWriteStream","stream","Writable","write","buffer","encoding","next","push","length","emit","readerStream","createReadStream","base64EncoderStream","Base64Encode","resultWriteStreamPromise","once","e","unpipe","destroy","readStreamPromise","message","pipe","all","concat","getLockFileGuard","lockFile","timeout","tryRecovery","lock","promisify","_lockfile","check","unlock","guard","behavior","triedRecovery","checkSync","wait","lockSync","unlockSync"],"sources":["../../lib/util.js"],"sourcesContent":["import B from 'bluebird';\nimport _ from 'lodash';\nimport os from 'os';\nimport path from 'path';\nimport fs from './fs';\nimport semver from 'semver';\nimport {\n // https://www.npmjs.com/package/shell-quote\n quote as shellQuote,\n parse as shellParse,\n} from 'shell-quote';\nimport pluralizeLib from 'pluralize';\nimport stream from 'stream';\nimport {Base64Encode} from 'base64-stream';\nimport {\n // https://www.npmjs.com/package/uuid\n v1 as uuidV1,\n v3 as uuidV3,\n v4 as uuidV4,\n v5 as uuidV5,\n} from 'uuid';\nimport _lockfile from 'lockfile';\n\nconst W3C_WEB_ELEMENT_IDENTIFIER = 'element-6066-11e4-a52e-4f735466cecf';\nconst KiB = 1024;\nconst MiB = KiB * 1024;\nconst GiB = MiB * 1024;\n\n/**\n * @template {string} T\n * @param {T} val\n * @returns {val is NonEmptyString<T>}\n */\nexport function hasContent(val) {\n return _.isString(val) && val !== '';\n}\n\n/**\n * return true if the the value is not `undefined`, `null`, or `NaN`.\n *\n * XXX: `NaN` is not expressible in TypeScript.\n * @template T\n * @param {T} val\n * @returns {val is NonNullable<T>}\n */\nfunction hasValue(val) {\n // avoid incorrectly evaluating `0` as false\n if (_.isNumber(val)) {\n return !_.isNaN(val);\n }\n return !_.isUndefined(val) && !_.isNull(val);\n}\n\n// escape spaces in string, for commandline calls\nfunction escapeSpace(str) {\n return str.split(/ /).join('\\\\ ');\n}\n\nfunction escapeSpecialChars(str, quoteEscape) {\n if (typeof str !== 'string') {\n return str;\n }\n if (typeof quoteEscape === 'undefined') {\n quoteEscape = false;\n }\n str = str\n .replace(/[\\\\]/g, '\\\\\\\\')\n .replace(/[\\/]/g, '\\\\/') // eslint-disable-line no-useless-escape\n .replace(/[\\b]/g, '\\\\b')\n .replace(/[\\f]/g, '\\\\f')\n .replace(/[\\n]/g, '\\\\n')\n .replace(/[\\r]/g, '\\\\r')\n .replace(/[\\t]/g, '\\\\t')\n .replace(/[\\\"]/g, '\\\\\"') // eslint-disable-line no-useless-escape\n .replace(/\\\\'/g, \"\\\\'\");\n if (quoteEscape) {\n let re = new RegExp(quoteEscape, 'g');\n str = str.replace(re, `\\\\${quoteEscape}`);\n }\n return str;\n}\n\nfunction localIp() {\n let ip = _.chain(os.networkInterfaces())\n .values()\n .flatten()\n // @ts-ignore\n .filter(function (val) {\n return val.family === 'IPv4' && val.internal === false;\n })\n .map('address')\n .first()\n .value();\n return ip;\n}\n\n/*\n * Creates a promise that is cancellable, and will timeout\n * after `ms` delay\n */\nfunction cancellableDelay(ms) {\n let timer;\n let resolve;\n let reject;\n\n const delay = new B.Promise((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n timer = setTimeout(function () {\n resolve();\n }, ms);\n });\n\n // override Bluebird's `cancel`, which does not work when using `await` on\n // a promise, since `resolve`/`reject` are never called\n delay.cancel = function () {\n clearTimeout(timer);\n reject(new B.CancellationError());\n };\n return delay;\n}\n\nfunction multiResolve(roots, ...args) {\n return roots.map((root) => path.resolve(root, ...args));\n}\n\n/*\n * Parses an object if possible. Otherwise returns the object without parsing.\n */\nfunction safeJsonParse(obj) {\n try {\n return JSON.parse(obj);\n } catch (ign) {\n // ignore: this is not json parsable\n return obj;\n }\n}\n\n/*\n * Stringifies the object passed in, converting Buffers into Strings for better\n * display. This mimics JSON.stringify (see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify)\n * except the `replacer` argument can only be a function.\n *\n * @param {object} obj - the object to be serialized\n * @param {?function} replacer - function to transform the properties added to the\n * serialized object\n * @param {?number|string} space - used to insert white space into the output JSON\n * string for readability purposes. Defaults to 2\n * returns {string} - the JSON object serialized as a string\n */\nfunction jsonStringify(obj, replacer, space = 2) {\n // if no replacer is passed, or it is not a function, just use a pass-through\n if (!_.isFunction(replacer)) {\n replacer = (k, v) => v;\n }\n\n // Buffers cannot be serialized in a readable way\n const bufferToJSON = Buffer.prototype.toJSON;\n delete Buffer.prototype.toJSON;\n try {\n return JSON.stringify(\n obj,\n (key, value) => {\n const updatedValue = Buffer.isBuffer(value) ? value.toString('utf8') : value;\n return replacer(key, updatedValue);\n },\n space\n );\n } finally {\n // restore the function, so as to not break further serialization\n Buffer.prototype.toJSON = bufferToJSON;\n }\n}\n\n/*\n * Removes the wrapper from element, if it exists.\n * { ELEMENT: 4 } becomes 4\n * { element-6066-11e4-a52e-4f735466cecf: 5 } becomes 5\n */\nfunction unwrapElement(el) {\n for (const propName of [W3C_WEB_ELEMENT_IDENTIFIER, 'ELEMENT']) {\n if (_.has(el, propName)) {\n return el[propName];\n }\n }\n return el;\n}\n\nfunction wrapElement(elementId) {\n return {\n ELEMENT: elementId,\n [W3C_WEB_ELEMENT_IDENTIFIER]: elementId,\n };\n}\n\n/*\n * Returns object consisting of all properties in the original element\n * which were truthy given the predicate.\n * If the predicate is\n * * missing - it will remove all properties whose values are `undefined`\n * * a scalar - it will test all properties' values against that value\n * * a function - it will pass each value and the original object into the function\n */\nfunction filterObject(obj, predicate) {\n let newObj = _.clone(obj);\n if (_.isUndefined(predicate)) {\n // remove any element from the object whose value is undefined\n predicate = (v) => !_.isUndefined(v);\n } else if (!_.isFunction(predicate)) {\n // make predicate into a function\n const valuePredicate = predicate;\n predicate = (v) => v === valuePredicate;\n }\n for (const key of Object.keys(obj)) {\n if (!predicate(obj[key], obj)) {\n delete newObj[key];\n }\n }\n return newObj;\n}\n\n/**\n * Converts number of bytes to a readable size string.\n *\n * @param {number|string} bytes - The actual number of bytes.\n * @returns {string} The actual string representation, for example\n * '1.00 KB' for '1024 B'\n * @throws {Error} If bytes count cannot be converted to an integer or\n * if it is less than zero.\n */\nfunction toReadableSizeString(bytes) {\n const intBytes = parseInt(String(bytes), 10);\n if (isNaN(intBytes) || intBytes < 0) {\n throw new Error(`Cannot convert '${bytes}' to a readable size format`);\n }\n if (intBytes >= GiB) {\n return `${(intBytes / (GiB * 1.0)).toFixed(2)} GB`;\n } else if (intBytes >= MiB) {\n return `${(intBytes / (MiB * 1.0)).toFixed(2)} MB`;\n } else if (intBytes >= KiB) {\n return `${(intBytes / (KiB * 1.0)).toFixed(2)} KB`;\n }\n return `${intBytes} B`;\n}\n\n/**\n * Checks whether the given path is a subpath of the\n * particular root folder. Both paths can include .. and . specifiers\n *\n * @param {string} originalPath The absolute file/folder path\n * @param {string} root The absolute root folder path\n * @param {?boolean} forcePosix Set it to true if paths must be interpreted in POSIX format\n * @returns {boolean} true if the given original path is the subpath of the root folder\n * @throws {Error} if any of the given paths is not absolute\n */\nfunction isSubPath(originalPath, root, forcePosix = null) {\n const pathObj = forcePosix ? path.posix : path;\n for (const p of [originalPath, root]) {\n if (!pathObj.isAbsolute(p)) {\n throw new Error(`'${p}' is expected to be an absolute path`);\n }\n }\n const normalizedRoot = pathObj.normalize(root);\n const normalizedPath = pathObj.normalize(originalPath);\n return normalizedPath.startsWith(normalizedRoot);\n}\n\n/**\n * Checks whether the given paths are pointing to the same file system\n * destination.\n *\n * @param {string} path1 - Absolute or relative path to a file/folder\n * @param {string} path2 - Absolute or relative path to a file/folder\n * @param {...string} pathN - Zero or more absolute or relative paths to files/folders\n * @returns {Promise<boolean>} true if all paths are pointing to the same file system item\n */\nasync function isSameDestination(path1, path2, ...pathN) {\n const allPaths = [path1, path2, ...pathN];\n if (!(await B.reduce(allPaths, async (a, b) => a && (await fs.exists(b)), true))) {\n return false;\n }\n\n const areAllItemsEqual = (arr) => !!arr.reduce((a, b) => (a === b ? a : NaN));\n if (areAllItemsEqual(allPaths)) {\n return true;\n }\n\n let mapCb = async (x) =>\n (\n await fs.stat(x, {\n bigint: true,\n })\n ).ino;\n return areAllItemsEqual(await B.map(allPaths, mapCb));\n}\n\n/**\n * Coerces the given number/string to a valid version string\n *\n * @template {boolean} [Strict=true]\n * @param {string} ver - Version string to coerce\n * @param {Strict} [strict] - If `true` then an exception will be thrown\n * if `ver` cannot be coerced\n * @returns {Strict extends true ? string : string|null} Coerced version number or null if the string cannot be\n * coerced and strict mode is disabled\n * @throws {Error} if strict mode is enabled and `ver` cannot be coerced\n */\nfunction coerceVersion(ver, strict = /** @type {Strict} */ (true)) {\n const result = semver.valid(semver.coerce(`${ver}`));\n if (strict && !result) {\n throw new Error(`'${ver}' cannot be coerced to a valid version number`);\n }\n return /** @type {Strict extends true ? string : string?} */ (result);\n}\n\nconst SUPPORTED_OPERATORS = ['==', '!=', '>', '<', '>=', '<=', '='];\n\n/**\n * Compares two version strings\n *\n * @param {string} ver1 - The first version number to compare. Should be a valid\n * version number supported by semver parser.\n * @param {string} ver2 - The second version number to compare. Should be a valid\n * version number supported by semver parser.\n * @param {string} operator - One of supported version number operators:\n * ==, !=, >, <, <=, >=, =\n * @returns {boolean} true or false depending on the actual comparison result\n * @throws {Error} if an unsupported operator is supplied or any of the supplied\n * version strings cannot be coerced\n */\nfunction compareVersions(ver1, operator, ver2) {\n if (!SUPPORTED_OPERATORS.includes(operator)) {\n throw new Error(\n `The '${operator}' comparison operator is not supported. ` +\n `Only '${JSON.stringify(SUPPORTED_OPERATORS)}' operators are supported`\n );\n }\n\n const semverOperator = ['==', '!='].includes(operator) ? '=' : operator;\n const result = semver.satisfies(coerceVersion(ver1), `${semverOperator}${coerceVersion(ver2)}`);\n return operator === '!=' ? !result : result;\n}\n\n/**\n * Add appropriate quotes to command arguments. See https://github.com/substack/node-shell-quote\n * for more details\n *\n * @param {string|string[]} args - The arguments that will be parsed\n * @returns {string} - The arguments, quoted\n */\nfunction quote(args) {\n return shellQuote(_.castArray(args));\n}\n\n/**\n * This function is necessary to workaround unexpected memory leaks\n * caused by NodeJS string interning\n * behavior described in https://bugs.chromium.org/p/v8/issues/detail?id=2869\n *\n * @param {*} s - The string to unleak\n * @return {string} Either the unleaked string or the original object converted to string\n */\nfunction unleakString(s) {\n return ` ${s}`.substr(1);\n}\n\n/**\n * @typedef PluralizeOptions\n * @property {boolean} [inclusive=false] - Whether to prefix with the number (e.g., 3 ducks)\n */\n\n/**\n * Get the form of a word appropriate to the count\n *\n * @param {string} word - The word to pluralize\n * @param {number} count - How many of the word exist\n * @param {PluralizeOptions|boolean} options - options for word pluralization,\n * or a boolean indicating the options.inclusive property\n * @returns {string} The word pluralized according to the number\n */\nfunction pluralize(word, count, options = {}) {\n let inclusive = false;\n if (_.isBoolean(options)) {\n // if passed in as a boolean\n inclusive = options;\n } else if (_.isBoolean(options?.inclusive)) {\n // if passed in as an options hash\n inclusive = options.inclusive;\n }\n return pluralizeLib(word, count, inclusive);\n}\n\n/**\n * @typedef EncodingOptions\n * @property {number} [maxSize=1073741824] The maximum size of\n * the resulting buffer in bytes. This is set to 1GB by default, because\n * Appium limits the maximum HTTP body size to 1GB. Also, the NodeJS heap\n * size must be enough to keep the resulting object (usually this size is\n * limited to 1.4 GB)\n */\n\n/**\n * Converts contents of a local file to an in-memory base-64 encoded buffer.\n * The operation is memory-usage friendly and should be used while encoding\n * large files to base64\n *\n * @param {string} srcPath The full path to the file being encoded\n * @param {EncodingOptions} opts\n * @returns {Promise<Buffer>} base64-encoded content of the source file as memory buffer\n * @throws {Error} if there was an error while reading the source file\n * or the source file is too\n */\nasync function toInMemoryBase64(srcPath, opts = {}) {\n if (!(await fs.exists(srcPath)) || (await fs.stat(srcPath)).isDirectory()) {\n throw new Error(`No such file: ${srcPath}`);\n }\n\n const {maxSize = 1 * GiB} = opts;\n const resultBuffers = [];\n let resultBuffersSize = 0;\n const resultWriteStream = new stream.Writable({\n write: (buffer, encoding, next) => {\n resultBuffers.push(buffer);\n resultBuffersSize += buffer.length;\n if (maxSize > 0 && resultBuffersSize > maxSize) {\n resultWriteStream.emit(\n 'error',\n new Error(\n `The size of the resulting ` +\n `buffer must not be greater than ${toReadableSizeString(maxSize)}`\n )\n );\n }\n next();\n },\n });\n\n const readerStream = fs.createReadStream(srcPath);\n const base64EncoderStream = new Base64Encode();\n const resultWriteStreamPromise = new B((resolve, reject) => {\n resultWriteStream.once('error', (e) => {\n readerStream.unpipe(base64EncoderStream);\n base64EncoderStream.unpipe(resultWriteStream);\n readerStream.destroy();\n reject(e);\n });\n resultWriteStream.once('finish', resolve);\n });\n const readStreamPromise = new B((resolve, reject) => {\n readerStream.once('close', resolve);\n readerStream.once('error', (e) =>\n reject(new Error(`Failed to read '${srcPath}': ${e.message}`))\n );\n });\n readerStream.pipe(base64EncoderStream);\n base64EncoderStream.pipe(resultWriteStream);\n\n await B.all([readStreamPromise, resultWriteStreamPromise]);\n return Buffer.concat(resultBuffers);\n}\n\n/**\n * @typedef LockFileOptions\n * @property {number} [timeout=120] The max time in seconds to wait for the lock\n * @property {boolean} [tryRecovery=false] Whether to try lock recovery if\n * the first attempt to acquire it timed out.\n */\n\n/**\n * Create an async function which, when called, will not proceed until a certain file is no\n * longer present on the system. This allows for preventing concurrent behavior across processes\n * using a known lockfile path.\n *\n * @template T\n * @param {string} lockFile The full path to the file used for the lock\n * @param {LockFileOptions} opts\n * @returns async function that takes another async function defining the locked\n * behavior\n */\nfunction getLockFileGuard(lockFile, opts = {}) {\n const {timeout = 120, tryRecovery = false} = opts;\n\n const lock = /** @type {(lockfile: string, opts: import('lockfile').Options)=>B<void>} */ (\n B.promisify(_lockfile.lock)\n );\n const check = B.promisify(_lockfile.check);\n const unlock = B.promisify(_lockfile.unlock);\n\n /**\n * @param {(...args: any[]) => T} behavior\n * @returns {Promise<T>}\n */\n const guard = async (behavior) => {\n let triedRecovery = false;\n do {\n try {\n // if the lockfile doesn't exist, lock it synchronously to make sure no other call\n // on the same spin of the event loop can also initiate a lock. If the lockfile does exist\n // then just use the regular async 'lock' method which will wait on the lock.\n if (_lockfile.checkSync(lockFile)) {\n await lock(lockFile, {wait: timeout * 1000});\n } else {\n _lockfile.lockSync(lockFile);\n }\n break;\n } catch (e) {\n if (_.includes(e.message, 'EEXIST') && tryRecovery && !triedRecovery) {\n // There could be cases where a process has been forcefully terminated\n // without a chance to clean up pending locks: https://github.com/npm/lockfile/issues/26\n _lockfile.unlockSync(lockFile);\n triedRecovery = true;\n continue;\n }\n throw new Error(\n `Could not acquire lock on '${lockFile}' after ${timeout}s. ` +\n `Original error: ${e.message}`\n );\n }\n // eslint-disable-next-line no-constant-condition\n } while (true);\n try {\n return await behavior();\n } finally {\n // whether the behavior succeeded or not, get rid of the lock\n await unlock(lockFile);\n }\n };\n\n guard.check = async () => await check(lockFile);\n\n return guard;\n}\n\nexport {\n hasValue,\n escapeSpace,\n escapeSpecialChars,\n localIp,\n cancellableDelay,\n multiResolve,\n safeJsonParse,\n wrapElement,\n unwrapElement,\n filterObject,\n toReadableSizeString,\n isSubPath,\n W3C_WEB_ELEMENT_IDENTIFIER,\n isSameDestination,\n compareVersions,\n coerceVersion,\n quote,\n unleakString,\n jsonStringify,\n pluralize,\n GiB,\n MiB,\n KiB,\n toInMemoryBase64,\n uuidV1,\n uuidV3,\n uuidV4,\n uuidV5,\n shellParse,\n getLockFileGuard,\n};\n\n/**\n * A `string` which is never `''`.\n *\n * @template {string} T\n * @typedef {T extends '' ? never : T} NonEmptyString\n */\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../lib/util.js"],"names":[],"mappings":"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"}
|