appium 2.0.0-beta.46 → 2.0.0-beta.47
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 +145 -44
- package/build/lib/appium.d.ts +3 -103
- package/build/lib/appium.d.ts.map +1 -1
- package/build/lib/appium.js +679 -549
- package/build/lib/appium.js.map +1 -1
- package/build/lib/cli/args.js +247 -127
- package/build/lib/cli/args.js.map +1 -1
- package/build/lib/cli/driver-command.js +63 -88
- package/build/lib/cli/driver-command.js.map +1 -1
- package/build/lib/cli/extension-command.d.ts +32 -23
- package/build/lib/cli/extension-command.d.ts.map +1 -1
- package/build/lib/cli/extension-command.js +730 -512
- package/build/lib/cli/extension-command.js.map +1 -1
- package/build/lib/cli/extension.d.ts +7 -6
- package/build/lib/cli/extension.d.ts.map +1 -1
- package/build/lib/cli/extension.js +68 -65
- package/build/lib/cli/extension.js.map +1 -1
- package/build/lib/cli/parser.d.ts +3 -3
- package/build/lib/cli/parser.d.ts.map +1 -1
- package/build/lib/cli/parser.js +234 -192
- package/build/lib/cli/parser.js.map +1 -1
- package/build/lib/cli/plugin-command.js +58 -87
- package/build/lib/cli/plugin-command.js.map +1 -1
- package/build/lib/cli/utils.js +66 -69
- package/build/lib/cli/utils.js.map +1 -1
- package/build/lib/config-file.d.ts.map +1 -1
- package/build/lib/config-file.js +189 -120
- package/build/lib/config-file.js.map +1 -1
- package/build/lib/config.d.ts.map +1 -1
- package/build/lib/config.js +254 -213
- package/build/lib/config.js.map +1 -1
- package/build/lib/constants.d.ts +5 -5
- package/build/lib/constants.d.ts.map +1 -1
- package/build/lib/constants.js +64 -59
- package/build/lib/constants.js.map +1 -1
- package/build/lib/extension/driver-config.js +199 -164
- package/build/lib/extension/driver-config.js.map +1 -1
- package/build/lib/extension/extension-config.d.ts +18 -16
- package/build/lib/extension/extension-config.d.ts.map +1 -1
- package/build/lib/extension/extension-config.js +523 -396
- package/build/lib/extension/extension-config.js.map +1 -1
- package/build/lib/extension/index.js +98 -68
- package/build/lib/extension/index.js.map +1 -1
- 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 +99 -0
- package/build/lib/extension/manifest-migrations.js.map +1 -0
- package/build/lib/extension/manifest.d.ts +7 -56
- package/build/lib/extension/manifest.d.ts.map +1 -1
- package/build/lib/extension/manifest.js +432 -240
- package/build/lib/extension/manifest.js.map +1 -1
- package/build/lib/extension/package-changed.js +57 -61
- package/build/lib/extension/package-changed.js.map +1 -1
- package/build/lib/extension/plugin-config.d.ts +2 -3
- package/build/lib/extension/plugin-config.d.ts.map +1 -1
- package/build/lib/extension/plugin-config.js +94 -70
- package/build/lib/extension/plugin-config.js.map +1 -1
- package/build/lib/grid-register.js +119 -137
- package/build/lib/grid-register.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 -15
- package/build/lib/logger.js.map +1 -1
- package/build/lib/logsink.d.ts.map +1 -1
- package/build/lib/logsink.js +189 -183
- package/build/lib/logsink.js.map +1 -1
- package/build/lib/main.d.ts +19 -12
- package/build/lib/main.d.ts.map +1 -1
- package/build/lib/main.js +330 -304
- package/build/lib/main.js.map +1 -1
- package/build/lib/schema/arg-spec.js +153 -108
- package/build/lib/schema/arg-spec.js.map +1 -1
- package/build/lib/schema/cli-args.js +203 -164
- package/build/lib/schema/cli-args.js.map +1 -1
- package/build/lib/schema/cli-transformers.js +117 -72
- package/build/lib/schema/cli-transformers.js.map +1 -1
- package/build/lib/schema/index.js +17 -32
- package/build/lib/schema/index.js.map +1 -1
- package/build/lib/schema/keywords.js +125 -67
- package/build/lib/schema/keywords.js.map +1 -1
- package/build/lib/schema/schema.d.ts.map +1 -1
- package/build/lib/schema/schema.js +582 -417
- package/build/lib/schema/schema.js.map +1 -1
- package/build/lib/utils.d.ts +41 -255
- package/build/lib/utils.d.ts.map +1 -1
- package/build/lib/utils.js +342 -193
- package/build/lib/utils.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/build/types/cli.d.ts +45 -34
- package/build/types/cli.d.ts.map +1 -1
- package/build/types/cli.js +3 -0
- package/build/types/cli.js.map +1 -0
- package/build/types/index.d.ts +1 -2
- package/build/types/index.d.ts.map +1 -1
- 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/lib/appium.js +1 -1
- package/lib/cli/args.js +1 -1
- package/lib/cli/extension-command.js +116 -61
- package/lib/cli/extension.js +9 -8
- package/lib/cli/parser.js +2 -2
- package/lib/config-file.js +2 -3
- package/lib/config.js +3 -2
- package/lib/constants.js +6 -5
- package/lib/extension/extension-config.js +24 -25
- package/lib/extension/manifest-migrations.js +99 -0
- package/lib/extension/manifest.js +79 -72
- package/lib/extension/plugin-config.js +1 -2
- package/lib/logsink.js +26 -5
- package/lib/main.js +58 -50
- package/lib/schema/schema.js +6 -1
- package/lib/utils.js +62 -0
- package/package.json +23 -24
- package/scripts/autoinstall-extensions.js +78 -26
- package/types/cli.ts +81 -42
- package/types/index.ts +1 -2
- 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/build/types/appium-manifest.d.ts +0 -59
- package/build/types/appium-manifest.d.ts.map +0 -1
- package/build/types/extension-manifest.d.ts +0 -55
- package/build/types/extension-manifest.d.ts.map +0 -1
- package/types/appium-manifest.ts +0 -73
- package/types/extension-manifest.ts +0 -64
package/build/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["W3C_APPIUM_PREFIX","STANDARD_CAPS_LOWERCASE","Set","STANDARD_CAPS","map","cap","toLowerCase","isStdoutTTY","process","stdout","isTTY","inspect","_","flow","partialRight","dump","colors","depth","compact","args","logger","info","parseCapsForInnerDriver","jsonwpCapabilities","w3cCapabilities","constraints","defaultCapabilities","hasW3CCaps","isPlainObject","has","hasJSONWPCaps","desiredCaps","processedW3CCapabilities","processedJsonwpCapabilities","protocol","PROTOCOLS","W3C","error","Error","cloneDeep","isEmpty","defaultCapKey","defaultCapValue","toPairs","isCapAlreadySet","firstMatchEntry","firstMatch","removeAppiumPrefixes","removeAppiumPrefix","alwaysMatch","processCapabilities","message","insertAppiumPrefixes","caps","mapKeys","key","includes","prefix","startsWith","substring","length","getPackageVersion","pkgName","pkgInfo","require","version","adjustNodePath","selfRoot","node","getModuleRootSync","__filename","path","dirname","nodeModulesRoot","refreshRequirePaths","Module","_initPaths","e","env","NODE_PATH","APPIUM_OMIT_PEER_DEPS","nodePathParts","split","delimiter","push","join","without","pullSettings","result","value","match","exec"],"sources":["../../lib/utils.js"],"sourcesContent":["import _ from 'lodash';\nimport logger from './logger';\nimport {processCapabilities, PROTOCOLS, STANDARD_CAPS} from '@appium/base-driver';\nimport {inspect as dump} from 'util';\nimport {node} from '@appium/support';\nimport path from 'path';\n\nconst W3C_APPIUM_PREFIX = 'appium';\nconst STANDARD_CAPS_LOWERCASE = new Set([...STANDARD_CAPS].map((cap) => cap.toLowerCase()));\n\n/**\n *\n * If `stdout` is a TTY, this is `true`.\n *\n * Used for tighter control over log output.\n * @type {boolean}\n */\nconst isStdoutTTY = process.stdout.isTTY;\n\n/**\n * Dumps to value to the console using `info` logger.\n *\n * @todo May want to force color to be `false` if {@link isStdoutTTY} is `false`.\n */\nconst inspect = _.flow(\n _.partialRight(\n /** @type {(object: any, options: import('util').InspectOptions) => string} */ (dump),\n {colors: true, depth: null, compact: !isStdoutTTY}\n ),\n (...args) => {\n logger.info(...args);\n }\n);\n\n/**\n * Takes the caps that were provided in the request and translates them\n * into caps that can be used by the inner drivers.\n *\n * @template {Constraints} C\n * @template [J=any]\n * @param {J} jsonwpCapabilities\n * @param {W3CCapabilities<C>} w3cCapabilities\n * @param {C} constraints\n * @param {NSCapabilities<C>} [defaultCapabilities]\n * @returns {ParsedDriverCaps<C,J>|InvalidCaps<C,J>}\n */\nfunction parseCapsForInnerDriver(\n jsonwpCapabilities,\n w3cCapabilities,\n constraints = /** @type {C} */ ({}),\n defaultCapabilities = {}\n) {\n // Check if the caller sent JSONWP caps, W3C caps, or both\n const hasW3CCaps =\n _.isPlainObject(w3cCapabilities) &&\n (_.has(w3cCapabilities, 'alwaysMatch') || _.has(w3cCapabilities, 'firstMatch'));\n const hasJSONWPCaps = _.isPlainObject(jsonwpCapabilities);\n let desiredCaps = /** @type {ParsedDriverCaps<C>['desiredCaps']} */ ({});\n /** @type {ParsedDriverCaps<C>['processedW3CCapabilities']} */\n let processedW3CCapabilities;\n /** @type {ParsedDriverCaps<C>['processedJsonwpCapabilities']} */\n let processedJsonwpCapabilities;\n\n if (!hasW3CCaps) {\n return /** @type {InvalidCaps<C>} */ ({\n protocol: PROTOCOLS.W3C,\n error: new Error('W3C capabilities should be provided'),\n });\n }\n\n const {W3C} = PROTOCOLS;\n const protocol = W3C;\n\n // Make sure we don't mutate the original arguments\n jsonwpCapabilities = _.cloneDeep(jsonwpCapabilities);\n w3cCapabilities = _.cloneDeep(w3cCapabilities);\n defaultCapabilities = _.cloneDeep(defaultCapabilities);\n\n if (!_.isEmpty(defaultCapabilities)) {\n if (hasW3CCaps) {\n for (const [defaultCapKey, defaultCapValue] of _.toPairs(defaultCapabilities)) {\n let isCapAlreadySet = false;\n // Check if the key is already present in firstMatch entries\n for (const firstMatchEntry of w3cCapabilities.firstMatch ?? []) {\n if (\n _.isPlainObject(firstMatchEntry) &&\n _.has(removeAppiumPrefixes(firstMatchEntry), removeAppiumPrefix(defaultCapKey))\n ) {\n isCapAlreadySet = true;\n break;\n }\n }\n // Check if the key is already present in alwaysMatch entries\n isCapAlreadySet =\n isCapAlreadySet ||\n (_.isPlainObject(w3cCapabilities.alwaysMatch) &&\n _.has(\n removeAppiumPrefixes(w3cCapabilities.alwaysMatch),\n removeAppiumPrefix(defaultCapKey)\n ));\n if (isCapAlreadySet) {\n // Skip if the key is already present in the provided caps\n continue;\n }\n\n // Only add the default capability if it is not overridden\n if (_.isEmpty(w3cCapabilities.firstMatch)) {\n w3cCapabilities.firstMatch = /** @type {W3CCapabilities<C>['firstMatch']} */ ([\n {[defaultCapKey]: defaultCapValue},\n ]);\n } else {\n w3cCapabilities.firstMatch[0][defaultCapKey] = defaultCapValue;\n }\n }\n }\n if (hasJSONWPCaps) {\n jsonwpCapabilities = {\n ...removeAppiumPrefixes(defaultCapabilities),\n ...jsonwpCapabilities,\n };\n }\n }\n\n // Get MJSONWP caps\n if (hasJSONWPCaps) {\n processedJsonwpCapabilities = {...jsonwpCapabilities};\n }\n\n // Get W3C caps\n if (hasW3CCaps) {\n // Call the process capabilities algorithm to find matching caps on the W3C\n // (see: https://github.com/jlipps/simple-wd-spec#processing-capabilities)\n try {\n desiredCaps = processCapabilities(w3cCapabilities, constraints, true);\n } catch (error) {\n logger.info(`Could not parse W3C capabilities: ${error.message}`);\n return /** @type {InvalidCaps<C,J>} */ ({\n desiredCaps,\n processedJsonwpCapabilities,\n processedW3CCapabilities,\n protocol,\n error,\n });\n }\n\n // Create a new w3c capabilities payload that contains only the matching caps in `alwaysMatch`\n processedW3CCapabilities = {\n alwaysMatch: {...insertAppiumPrefixes(desiredCaps)},\n firstMatch: [{}],\n };\n }\n\n return /** @type {ParsedDriverCaps<C,J>} */ ({\n desiredCaps,\n processedJsonwpCapabilities,\n processedW3CCapabilities,\n protocol,\n });\n}\n\n/**\n * Takes a capabilities objects and prefixes capabilities with `appium:`\n * @template {Constraints} [C={}]\n * @param {Capabilities<C>} caps - Desired capabilities object\n * @returns {NSCapabilities<C>}\n */\nfunction insertAppiumPrefixes(caps) {\n return /** @type {NSCapabilities<C>} */ (\n _.mapKeys(caps, (_, key) =>\n STANDARD_CAPS_LOWERCASE.has(key.toLowerCase()) || key.includes(':')\n ? key\n : `${W3C_APPIUM_PREFIX}:${key}`\n )\n );\n}\n\n/**\n * @template {Constraints} [C={}]\n * @param {NSCapabilities<C>} caps\n * @returns {Capabilities<C>}\n */\nfunction removeAppiumPrefixes(caps) {\n return /** @type {Capabilities<C>} */ (_.mapKeys(caps, (_, key) => removeAppiumPrefix(key)));\n}\n\n/**\n * @param {string} key\n * @returns {string}\n */\nfunction removeAppiumPrefix(key) {\n const prefix = `${W3C_APPIUM_PREFIX}:`;\n return _.startsWith(key, prefix) ? key.substring(prefix.length) : key;\n}\n\n/**\n *\n * @param {string} pkgName\n * @returns {string|undefined}\n */\nfunction getPackageVersion(pkgName) {\n const pkgInfo = require(`${pkgName}/package.json`) || {};\n return pkgInfo.version;\n}\n\n/**\n * Adjusts NODE_PATH environment variable,\n * so drivers and plugins could load their peer dependencies.\n * Read https://nodejs.org/api/modules.html#loading-from-the-global-folders\n * for more details.\n * @returns {void}\n */\nfunction adjustNodePath() {\n const selfRoot = node.getModuleRootSync('appium', __filename);\n if (!selfRoot || path.dirname(selfRoot).length >= selfRoot.length) {\n return;\n }\n const nodeModulesRoot = path.dirname(selfRoot);\n\n const refreshRequirePaths = () => {\n try {\n // ! This hack allows us to avoid modification of import\n // ! statements in client modules. It uses a private API though,\n // ! so it could break (maybe, eventually).\n // See https://gist.github.com/branneman/8048520#7-the-hack\n // @ts-ignore\n require('module').Module._initPaths();\n return true;\n } catch (e) {\n return false;\n }\n };\n\n if (!process.env.NODE_PATH) {\n process.env.NODE_PATH = nodeModulesRoot;\n if (refreshRequirePaths()) {\n process.env.APPIUM_OMIT_PEER_DEPS = '1';\n } else {\n delete process.env.NODE_PATH;\n }\n return;\n }\n\n const nodePathParts = process.env.NODE_PATH.split(path.delimiter);\n if (nodePathParts.includes(nodeModulesRoot)) {\n process.env.APPIUM_OMIT_PEER_DEPS = '1';\n return;\n }\n\n nodePathParts.push(nodeModulesRoot);\n process.env.NODE_PATH = nodePathParts.join(path.delimiter);\n if (refreshRequirePaths()) {\n process.env.APPIUM_OMIT_PEER_DEPS = '1';\n } else {\n process.env.NODE_PATH = _.without(nodePathParts, nodeModulesRoot).join(path.delimiter);\n }\n}\n\n/**\n * Pulls the initial values of Appium settings from the given capabilities argument.\n * Each setting item must satisfy the following format:\n * `setting[setting_name]: setting_value`\n * The capabilities argument itself gets mutated, so it does not contain parsed\n * settings anymore to avoid further parsing issues.\n * Check\n * https://github.com/appium/appium/blob/master/docs/en/advanced-concepts/settings.md\n * for more details on the available settings.\n *\n * @param {?Object} caps - Capabilities dictionary. It is mutated if\n * one or more settings have been pulled from it\n * @return {Object} - An empty dictionary if the given caps contains no\n * setting items or a dictionary containing parsed Appium setting names along with\n * their values.\n */\nfunction pullSettings(caps) {\n if (!_.isPlainObject(caps) || _.isEmpty(caps)) {\n return {};\n }\n\n const result = {};\n for (const [key, value] of _.toPairs(caps)) {\n const match = /\\bsettings\\[(\\S+)\\]$/.exec(key);\n if (!match) {\n continue;\n }\n\n result[match[1]] = value;\n delete caps[key];\n }\n return result;\n}\n\nexport {\n inspect,\n parseCapsForInnerDriver,\n insertAppiumPrefixes,\n getPackageVersion,\n pullSettings,\n removeAppiumPrefixes,\n adjustNodePath,\n};\n\n/**\n * @typedef {import('@appium/types').StringRecord} StringRecord\n * @typedef {import('@appium/types').BaseDriverCapConstraints} BaseDriverCapConstraints\n */\n\n/**\n * @template {Constraints} [C=BaseDriverCapConstraints]\n * @template [J=any]\n * @typedef ParsedDriverCaps\n * @property {Capabilities<C>} desiredCaps\n * @property {string} protocol\n * @property {J} [processedJsonwpCapabilities]\n * @property {W3CCapabilities<C>} [processedW3CCapabilities]\n */\n\n/**\n * @todo protocol is more specific\n * @template {Constraints} [C=BaseDriverCapConstraints]\n * @template [J=any]\n * @typedef InvalidCaps\n * @property {Error} error\n * @property {string} protocol\n * @property {Capabilities<C>} [desiredCaps]\n * @property {J} [processedJsonwpCapabilities]\n * @property {W3CCapabilities<C>} [processedW3CCapabilities]\n */\n\n/**\n * @template {Constraints} [C=BaseDriverCapConstraints]\n * @template {StringRecord|void} [Extra=void]\n * @typedef {import('@appium/types').Capabilities<C, Extra>} Capabilities\n */\n\n/**\n * @template {Constraints} [C=BaseDriverCapConstraints]\n * @template {StringRecord|void} [Extra=void]\n * @typedef {import('@appium/types').W3CCapabilities<C, Extra>} W3CCapabilities\n */\n\n/**\n * @template {Constraints} [C=BaseDriverCapConstraints]\n * @template {StringRecord|void} [Extra=void]\n * @typedef {import('@appium/types').NSCapabilities<C, Extra>} NSCapabilities\n */\n\n/**\n * @template {Constraints} C\n * @typedef {import('@appium/types').ConstraintsToCaps<C>} ConstraintsToCaps\n */\n\n/**\n * @template T\n * @typedef {import('type-fest').StringKeyOf<T>} StringKeyOf\n */\n\n/**\n * @typedef {import('@appium/types').Constraints} Constraints\n */\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.js"],"names":[],"mappings":"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"}
|