Compare commits

..
Author SHA1 Message Date
Jonathan Lipps 500c08f392 Publish
- appium@2.0.0-beta.42
 - @appium/base-driver@8.6.1
 - @appium/base-plugin@1.10.1
 - @appium/doctor@1.16.24
 - @appium/docutils@0.0.9
 - @appium/eslint-config-appium@6.0.4
 - @appium/execute-driver-plugin@2.0.4
 - @appium/fake-driver@4.1.0
 - @appium/fake-plugin@2.0.5
 - @appium/gulp-plugins@7.0.4
 - @appium/images-plugin@1.3.4
 - @appium/opencv@1.0.11
 - @appium/relaxed-caps-plugin@1.0.0-beta.11
 - @appium/schema@0.0.9
 - @appium/support@2.59.4
 - @appium/test-support@1.4.1
 - @appium/types@0.3.1
 - @appium/universal-xml-plugin@1.0.0-beta.13
2022-08-02 20:21:17 -07:00
Christopher Hiller 4655302239 test(appium): add smoke test for driver installation
This adds a test (which currently only runs automatically in CI) which installs the uiautomator2 driver.  This will ensure that driver installation does not only work in a dev environment!

Due to needing to support Windows and not wishing to befoul the default `APPIUM_HOME`, we need `cross-env` as a production dependency (otherwise the smoke test would fail) to set a temporary `APPIUM_HOME` (`local_appium_home`) which is relative to the temp dir used by the smoke test (see https://github.com/boneskull/nodejs-production-test-action)
2022-08-02 17:21:14 -07:00
Christopher Hiller 5efd62af08 chore(ci): fix target branch for FOSSA job 2022-08-02 16:18:39 -07:00
Christopher Hiller 27ac2fa125 fix(appium): add npm version check
Also fix duplication of error messages about engines.

Unfortunately this adds another startup delay, but I'm unsure of a better way around it.  I guess bundling our own npm might work!
2022-08-02 14:43:25 -07:00
Christopher Hiller d8d2382327 fix(appium,base-driver,base-plugin,doctor,docutils,eslint-config-appium,execute-driver-plugin,fake-driver,fake-plugin,gulp-plugins,images-plugin,opencv,relaxed-caps-plugin,schema,support,test-support,types,universal-xml-plugin): update engines
also add a missing dep in `@appium/schema`
2022-08-02 14:22:44 -07:00
Christopher Hiller faff3ce347 feat(appium): pass unknown args to extension scripts
Resolves #17250

This change passes any extra unknown arguments to extension scripts _if and only if_ `appium <extension> <name> run` is executed.  In all other cases, unknown arguments result in an error and the `appium` CLI will abort as before.

Example:

```bash
appium driver fake run fake-success --foo --bar`
```

In the `fake-success` script of the `fake` driver, `process.argv.slice(2)` will be `['--foo', '--bar']`.  Extra arguments can appear anywhere after the `appium` executable in the command and do not need to appear after the script name.

- In addition, added some missing arguments for extension subcommands to the types (`json`, `suppressOutput`).  Extra arguments are stored in property `extraArgs`.
- Fixed a type problem surfaced by the previous item
- Changed help text for the `run` subcommand to hopefully read more clearly
- Reorganized E2E tests for the `run` subcommand
- Slightly changed error output when unknown argument is provided (given that we now need to DIY this)
2022-08-02 10:55:11 -07:00
renovate[bot] 05b981afa2 chore(): update babel monorepo to v7.18.10 2022-08-02 13:51:09 +00:00
Christopher Hiller 5e047485ee chore(renovate): add "del", "get-port", "inquirer", "vinyl-paths" to exclusion list
these packages are now ESM-only
2022-08-01 14:36:28 -07:00
Christopher Hiller b7e905eaf1 fix(appium): partially revert 2a6a056187
This removes the symlink we were creating to avoid an extra install of `appium` in `APPIUM_HOME`.  Using a symlink obviously breaks stuff, because (for whatever reason) `npm` wants to run lthe `prepare` lifecycle script in the symlinked `appium`, which will not work outside of a dev environment due to missing dev depenencies.

Because npm v7+'s behavior is to install peer dependencies automatically, this will cause `appium` to be installed alongside any extensions in `APPIUM_HOME`. Each extension will have its own `appium`. This may just be the price we have to pay for using `APPIUM_HOME`, or there may be another solution to avoid the extra install (I'm not sure what it is).  I think it _also_ exposes us to future bugs where the running Appium differs from whatever the peer dependency is set to... which sort of defeats the purpose of peer dependencies.  Either way, the user will get a warning if the currently-running Appium is too new for an extension.
2022-08-01 14:36:03 -07:00
renovate[bot] 47de13c0d6 chore(types): update dependency type-fest to v2.18.0 2022-07-31 13:25:12 +00:00
renovate[bot] edc9a5e7e7 chore(): update dependency @types/node to v16.11.47 2022-07-31 11:01:36 +00:00
renovate[bot] 6c36683859 chore(docutils): update dependency jsdoc-plugin-typescript to v2.1.1 2022-07-30 11:00:12 +00:00
renovate[bot] 6db31553db chore(execute-driver-plugin): update dependency webdriverio to v7.20.9 2022-07-29 19:21:42 +00:00
renovate[bot] de273dd370 chore(doctor): update dependency appium-adb to v9.10.2 2022-07-29 11:09:34 +00:00
52 changed files with 845 additions and 473 deletions
+1 -1
View File
@@ -13,7 +13,7 @@ jobs:
steps:
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
with:
ref: '2.0'
ref: 'master'
- name: fossa analyze
run: |
npm install
+402 -329
View File
File diff suppressed because it is too large Load Diff
+7 -7
View File
@@ -101,18 +101,18 @@
},
"devDependencies": {
"@appium/fake-plugin": "1.3.1",
"@babel/cli": "7.18.9",
"@babel/core": "7.18.9",
"@babel/cli": "7.18.10",
"@babel/core": "7.18.10",
"@babel/eslint-parser": "7.18.9",
"@babel/plugin-transform-runtime": "7.18.9",
"@babel/preset-env": "7.18.9",
"@babel/plugin-transform-runtime": "7.18.10",
"@babel/preset-env": "7.18.10",
"@babel/register": "7.18.9",
"@babel/runtime": "7.18.9",
"@colors/colors": "1.5.0",
"@types/chai": "4.3.1",
"@types/chai-as-promised": "7.1.5",
"@types/mocha": "9.1.1",
"@types/node": "16.11.46",
"@types/node": "16.11.47",
"@types/semver": "7.3.10",
"@types/sinon": "10.0.13",
"@types/sinon-chai": "3.2.8",
@@ -154,13 +154,13 @@
"through2": "4.0.2",
"typescript": "4.7.4",
"validate.js": "0.13.1",
"webdriverio": "7.20.7",
"webdriverio": "7.20.9",
"ws": "8.8.1",
"yaml-js": "0.3.1"
},
"engines": {
"node": ">=14",
"npm": ">=6"
"npm": ">=8"
},
"publishConfig": {
"access": "public"
+18
View File
@@ -3,6 +3,24 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [2.0.0-beta.42](https://github.com/appium/appium/compare/appium@2.0.0-beta.41...appium@2.0.0-beta.42) (2022-08-03)
### Bug Fixes
* **appium,base-driver,base-plugin,doctor,docutils,eslint-config-appium,execute-driver-plugin,fake-driver,fake-plugin,gulp-plugins,images-plugin,opencv,relaxed-caps-plugin,schema,support,test-support,types,universal-xml-plugin:** update engines ([d8d2382](https://github.com/appium/appium/commit/d8d2382327ba7b7db8a4d1cad987c0e60184c92d))
* **appium:** add npm version check ([27ac2fa](https://github.com/appium/appium/commit/27ac2fa125bbfbe2e2ad5a3e7bf31d518510aa2d))
* **appium:** partially revert 2a6a056187ce925d5776b7acc4954b10ecf9221b ([b7e905e](https://github.com/appium/appium/commit/b7e905eaf188f0f23f279620d8ce7dfba60f0b25))
### Features
* **appium:** pass unknown args to extension scripts ([faff3ce](https://github.com/appium/appium/commit/faff3ce3471abaea24d2cb4c3e3b75b1af5ac3a1)), closes [#17250](https://github.com/appium/appium/issues/17250)
# [2.0.0-beta.41](https://github.com/appium/appium/compare/appium@2.0.0-beta.40...appium@2.0.0-beta.41) (2022-07-28)
+2 -2
View File
@@ -214,8 +214,8 @@ function makeRunArgs(type) {
default: null,
type: 'str',
help:
`Name of the script to run from the ${type}. The script name must be cached ` +
`inside the "scripts" field under "appium" inside the ${type}'s "package.json" file`,
`Name of the script to run from the ${type}. The script name must be a key ` +
`inside the "appium.scripts" field inside the ${type}'s "package.json" file`,
},
],
]);
+2 -2
View File
@@ -33,8 +33,8 @@ export default class DriverCommand extends ExtensionCommand {
return await super._update({installSpec: driver, unsafe});
}
async run({driver, scriptName}) {
return await super._run({installSpec: driver, scriptName});
async run({driver, scriptName, extraArgs}) {
return await super._run({installSpec: driver, scriptName, extraArgs});
}
getPostInstallText({extName, extData}) {
+3 -2
View File
@@ -628,7 +628,7 @@ class ExtensionCommand {
* @param {RunOptions} opts
* @return {Promise<RunOutput>}
*/
async _run({installSpec, scriptName}) {
async _run({installSpec, scriptName, extraArgs = []}) {
if (!this.config.isInstalled(installSpec)) {
throw this._createFatalError(`The ${this.type} "${installSpec}" is not installed`);
}
@@ -657,7 +657,7 @@ class ExtensionCommand {
);
}
const runner = new SubProcess(process.execPath, [extScripts[scriptName]], {
const runner = new SubProcess(process.execPath, [extScripts[scriptName], ...extraArgs], {
cwd: this.config.getInstallPath(installSpec),
});
@@ -755,6 +755,7 @@ export {ExtensionCommand};
* @typedef RunOptions
* @property {string} installSpec - name of the extension to run a script from
* @property {string} scriptName - name of the script to run
* @property {string[]} [extraArgs] - arguments to pass to the script
*/
/**
+16 -4
View File
@@ -15,9 +15,9 @@ export const commandClasses = Object.freeze(
* Run a subcommand of the 'appium driver' type. Each subcommand has its own set of arguments which
* can be represented as a JS object.
*
* @param {Object} args - JS object where the key is the parameter name (as defined in
* @param {import('appium/types').Args<import('appium/types').WithExtSubcommand>} args - JS object where the key is the parameter name (as defined in
* driver-parser.js)
* @template {import('../extension/manifest').ExtensionType} ExtType
* @template {ExtensionType} ExtType
* @param {import('../extension/extension-config').ExtensionConfig<ExtType>} config - Extension config object
*/
async function runExtensionCommand(args, config) {
@@ -30,6 +30,7 @@ async function runExtensionCommand(args, config) {
throw new TypeError(`Cannot call ${type} command without a subcommand like 'install'`);
}
let {json, suppressOutput} = args;
json = Boolean(json);
if (suppressOutput) {
json = true;
}
@@ -56,6 +57,17 @@ async function runExtensionCommand(args, config) {
export {runExtensionCommand};
/**
* @template {import('@appium/types').ExtensionType} ExtType
* @typedef {ExtType extends import('@appium/types').DriverType ? import('@appium/types').Class<DriverCommand> : ExtType extends import('@appium/types').PluginType ? import('@appium/types').Class<PluginCommand> : never} ExtCommand
* @template {ExtensionType} ExtType
* @typedef {ExtType extends DriverType ? Class<DriverCommand> : ExtType extends PluginType ? Class<PluginCommand> : never} ExtCommand
*/
/**
* @typedef {import('@appium/types').ExtensionType} ExtensionType
* @typedef {import('@appium/types').DriverType} DriverType
* @typedef {import('@appium/types').PluginType} PluginType
*/
/**
* @template T
* @typedef {import('@appium/types').Class<T>} Class
*/
+27 -5
View File
@@ -7,6 +7,8 @@ import {finalizeSchema, getArgSpec, hasArgSpec} from '../schema';
import {rootDir} from '../config';
import {getExtensionArgs, getServerArgs} from './args';
export const EXTRA_ARGS = 'extraArgs';
/**
* If the parsed args do not contain any of these values, then we
* will automatially inject the `server` subcommand.
@@ -97,8 +99,17 @@ class ArgParser {
}
try {
const parsed = this.parser.parse_args(args);
return ArgParser._transformParsedArgs(parsed);
const parsed = this.parser.parse_known_args(args);
const [knownArgs, unknownArgs] = parsed;
if (
unknownArgs?.length &&
(knownArgs.driverCommand === 'run' || knownArgs.pluginCommand === 'run')
) {
return ArgParser._transformParsedArgs(knownArgs, unknownArgs);
} else if (unknownArgs?.length) {
throw new Error(`[ERROR] Unrecognized arguments: ${unknownArgs.join(' ')}`);
}
return ArgParser._transformParsedArgs(knownArgs);
} catch (err) {
if (this.debug) {
throw err;
@@ -123,10 +134,11 @@ class ArgParser {
*
* E.g., `{'driver-foo-bar': baz}` becomes `{driver: {foo: {bar: 'baz'}}}`
* @param {object} args
* @param {string[]} [unknownArgs]
* @returns {object}
*/
static _transformParsedArgs(args) {
return _.reduce(
static _transformParsedArgs(args, unknownArgs = []) {
const result = _.reduce(
args,
(unpacked, value, key) => {
if (!_.isUndefined(value) && hasArgSpec(key)) {
@@ -140,6 +152,8 @@ class ArgParser {
},
{}
);
result[EXTRA_ARGS] = unknownArgs;
return result;
}
/**
@@ -183,7 +197,7 @@ class ArgParser {
* @param {import('argparse').SubParser} subParsers
*/
static _addExtensionCommandsToParser(subParsers) {
for (const type of [DRIVER_TYPE, PLUGIN_TYPE]) {
for (const type of /** @type {[DriverType, PluginType]} */ ([DRIVER_TYPE, PLUGIN_TYPE])) {
const extParser = subParsers.add_parser(type, {
add_help: true,
help: `Access the ${type} management CLI commands`,
@@ -195,6 +209,9 @@ class ArgParser {
dest: `${type}Command`,
});
const extensionArgs = getExtensionArgs();
/**
* @type { {command: import('appium/types').CliExtensionSubcommand, args: import('./args').ArgumentDefinitions, help: string}[] }
*/
const parserSpecs = [
{
command: 'list',
@@ -254,3 +271,8 @@ function getParser(debug) {
}
export {getParser, ArgParser};
/**
* @typedef {import('@appium/types').DriverType} DriverType
* @typedef {import('@appium/types').PluginType} PluginType
*/
+2 -2
View File
@@ -33,8 +33,8 @@ export default class PluginCommand extends ExtensionCommand {
return await super._update({installSpec: plugin, unsafe});
}
async run({plugin, scriptName}) {
return await super._run({installSpec: plugin, scriptName});
async run({plugin, scriptName, extraArgs}) {
return await super._run({installSpec: plugin, scriptName, extraArgs});
}
getPostInstallText({extName, extData}) {
+22 -2
View File
@@ -3,7 +3,6 @@ import _ from 'lodash';
import {system, fs} from '@appium/support';
import axios from 'axios';
import {exec} from 'teen_process';
import logger from './logger';
import semver from 'semver';
import findUp from 'find-up';
import {getDefaultsForSchema, getAllArgSpecs} from './schema/schema';
@@ -12,6 +11,7 @@ const npmPackage = fs.readPackageJsonFrom(__dirname);
const APPIUM_VER = npmPackage.version;
const MIN_NODE_VERSION = npmPackage.engines.node;
const MIN_NPM_VERSION = npmPackage.engines.npm;
const GIT_META_ROOT = '.git';
const GIT_BINARY = `git${system.isWindows() ? '.exe' : ''}`;
@@ -28,6 +28,15 @@ function getNodeVersion() {
return /** @type {import('semver').SemVer} */ (semver.coerce(process.version));
}
/**
* Returns version of `npm`
* @returns {Promise<string>}
*/
async function getNpmVersion() {
const {stdout} = await exec(system.isWindows() ? 'npm.cmd' : 'npm', ['--version']);
return stdout.trim();
}
/**
* @param {boolean} [useGithubApiFallback]
*/
@@ -133,7 +142,18 @@ function getBuildInfo() {
function checkNodeOk() {
const version = getNodeVersion();
if (!semver.satisfies(version, MIN_NODE_VERSION)) {
logger.errorAndThrow(`Node version must be ${MIN_NODE_VERSION}. Currently ${version.version}`);
throw new Error(
`Node version must be at least ${MIN_NODE_VERSION}; current is ${version.version}`
);
}
}
export async function checkNpmOk() {
const npmVersion = await getNpmVersion();
if (!semver.satisfies(npmVersion, MIN_NPM_VERSION)) {
throw new Error(
`npm version must be at least ${MIN_NPM_VERSION}; current is ${npmVersion}. Run "npm install -g npm" to upgrade.`
);
}
}
+21 -31
View File
@@ -4,7 +4,7 @@ import {init as logsinkInit} from './logsink'; // this import needs to come firs
import logger from './logger'; // logger needs to remain second
// @ts-ignore
import {routeConfiguringFunction as makeRouter, server as baseServer} from '@appium/base-driver';
import {logger as logFactory, util, env, fs} from '@appium/support';
import {logger as logFactory, util, env} from '@appium/support';
import {asyncify} from 'asyncbox';
import _ from 'lodash';
import {AppiumDriver} from './appium';
@@ -15,11 +15,11 @@ import {
checkNodeOk,
getGitRev,
getNonDefaultServerArgs,
rootDir,
showConfig,
showBuildInfo,
validateTmpDir,
warnNodeDeprecations,
checkNpmOk,
} from './config';
import {readConfigFile} from './config-file';
import {loadExtensions, getActivePlugins, getActiveDrivers} from './extension';
@@ -27,9 +27,8 @@ import {DRIVER_TYPE, PLUGIN_TYPE, SERVER_SUBCOMMAND} from './constants';
import registerNode from './grid-register';
import {getDefaultsForSchema, validate} from './schema/schema';
import {inspect} from './utils';
import path from 'path';
const {resolveAppiumHome, hasAppiumDependency} = env;
const {resolveAppiumHome} = env;
/**
*
@@ -39,6 +38,7 @@ const {resolveAppiumHome, hasAppiumDependency} = env;
async function preflightChecks(args, throwInsteadOfExit = false) {
try {
checkNodeOk();
await checkNpmOk();
if (args.longStacktrace) {
require('longjohn').async_trace_limit = -1;
}
@@ -172,19 +172,6 @@ function areServerCommandArgs(args) {
async function init(args) {
const appiumHome = args?.appiumHome ?? (await resolveAppiumHome());
// this is here so extensions installed in e.g., `~/.appium` can find the peer dependency
// of `appium`, which lives wherever it lives (see `rootDir`).
if (!(await hasAppiumDependency(appiumHome))) {
try {
await fs.mkdirp(path.join(appiumHome, 'node_modules'));
await fs.symlink(rootDir, path.join(appiumHome, 'node_modules', 'appium'), 'junction');
} catch (err) {
if (err.code !== 'EEXIST') {
throw new Error(`Unable to create symlink to appium: ${err.message}`);
}
}
}
const {driverConfig, pluginConfig} = await loadExtensions(appiumHome);
const parser = getParser();
@@ -222,20 +209,7 @@ async function init(args) {
// 1. command line args
// 2. config file
// 3. defaults from config file.
if (!areServerCommandArgs(preConfigArgs)) {
// if the user has requested the 'driver' CLI, don't run the normal server,
// but instead pass control to the driver CLI
if (preConfigArgs.subcommand === DRIVER_TYPE) {
await runExtensionCommand(preConfigArgs, driverConfig);
return {};
}
if (preConfigArgs.subcommand === PLUGIN_TYPE) {
await runExtensionCommand(preConfigArgs, pluginConfig);
return {};
}
/* istanbul ignore next */
return {}; // should never happen
} else {
if (areServerCommandArgs(preConfigArgs)) {
const defaults = getDefaultsForSchema(false);
/** @type {ParsedArgs} */
@@ -282,6 +256,22 @@ async function init(args) {
driverConfig,
pluginConfig,
});
} else {
const extensionCommandArgs = /** @type {Args<import('appium/types').WithExtSubcommand>} */ (
preConfigArgs
);
// if the user has requested the 'driver' CLI, don't run the normal server,
// but instead pass control to the driver CLI
if (preConfigArgs.subcommand === DRIVER_TYPE) {
await runExtensionCommand(extensionCommandArgs, driverConfig);
return {};
}
if (preConfigArgs.subcommand === PLUGIN_TYPE) {
await runExtensionCommand(extensionCommandArgs, pluginConfig);
return {};
}
/* istanbul ignore next */
return {}; // should never happen
}
}
+13 -12
View File
@@ -1,6 +1,6 @@
{
"name": "appium",
"version": "2.0.0-beta.41",
"version": "2.0.0-beta.42",
"description": "Automation for Apps.",
"keywords": [
"automation",
@@ -54,20 +54,20 @@
"postinstall": "node ./scripts/autoinstall-extensions.js",
"lint": "eslint -c ../../.eslintrc --ignore-path ../../.eslintignore .",
"prepare": "npm run build",
"publish:docs": "APPIUM_DOCS_PUBLISH=1 npm run build:docs",
"publish:docs": "cross-env APPIUM_DOCS_PUBLISH=1 npm run build:docs",
"test": "npm run test:unit",
"test:e2e": "mocha --timeout 1m --slow 30s \"./test/e2e/**/*.spec.js\"",
"test:smoke": "node ./index.js --show-build-info",
"test:smoke": "cross-env APPIUM_HOME=./local_appium_home node ./index.js driver install uiautomator2 && cross-env APPIUM_HOME=./local_appium_home node ./index.js driver list",
"test:unit": "mocha \"./test/unit/**/*.spec.js\""
},
"dependencies": {
"@appium/base-driver": "^8.6.0",
"@appium/base-plugin": "^1.10.0",
"@appium/docutils": "^0.0.8",
"@appium/schema": "^0.0.8",
"@appium/support": "^2.59.3",
"@appium/test-support": "^1.4.0",
"@appium/types": "^0.3.0",
"@appium/base-driver": "^8.6.1",
"@appium/base-plugin": "^1.10.1",
"@appium/docutils": "^0.0.9",
"@appium/schema": "^0.0.9",
"@appium/support": "^2.59.4",
"@appium/test-support": "^1.4.1",
"@appium/types": "^0.3.1",
"@babel/runtime": "7.18.9",
"@sidvind/better-ajv-errors": "2.0.0",
"@types/argparse": "2.0.10",
@@ -83,6 +83,7 @@
"asyncbox": "2.9.2",
"axios": "0.27.2",
"bluebird": "3.7.2",
"cross-env": "7.0.3",
"find-up": "5.0.0",
"lilconfig": "2.0.6",
"lodash": "4.17.21",
@@ -94,14 +95,14 @@
"semver": "7.3.7",
"source-map-support": "0.5.21",
"teen_process": "1.16.0",
"type-fest": "2.17.0",
"type-fest": "2.18.0",
"winston": "3.8.1",
"wrap-ansi": "7.0.0",
"yaml": "2.1.1"
},
"engines": {
"node": ">=14",
"npm": ">=6"
"npm": ">=8"
},
"publishConfig": {
"access": "public",
+36 -15
View File
@@ -438,28 +438,49 @@ describe('CLI behavior', function () {
});
describe('run', function () {
const driverName = 'fake';
before(async function () {
await clear();
await installLocalExtension(appiumHome, DRIVER_TYPE, FAKE_DRIVER_DIR);
});
it('should run a valid driver, valid script, and result in success', async function () {
const driverName = 'fake';
describe('when the driver and script is valid', function () {
const scriptName = 'fake-success';
const out = await runRun([driverName, scriptName]);
out.should.not.have.property('error');
describe('when the script completes successfully', function () {
it('should result in success', async function () {
const out = await runRun([driverName, scriptName]);
out.should.not.have.property('error');
});
});
describe('when the script fails', function () {
it('should return an error', async function () {
const out = await runRun([driverName, 'fake-error']);
out.should.have.property('error');
});
});
describe('when passed extra arguments', function () {
it('should pass them to the script', async function () {
const out = await runRun([driverName, scriptName, '--foo', '--bar']);
out.should.not.have.property('error');
out.output.should.match(/--foo --bar/);
});
});
});
it('should run a valid driver, valid error prone script, and return error in json', async function () {
const driverName = 'fake';
const out = await runRun([driverName, 'fake-error']);
out.should.have.property('error');
describe('when the driver is valid but the script is not', function () {
it('should throw an error', async function () {
await expect(runRun([driverName, 'foo'])).to.be.rejectedWith(Error);
});
});
it('should take a valid driver, invalid script, and throw an error', async function () {
const driverName = 'fake';
await expect(runRun([driverName, 'foo'])).to.be.rejectedWith(Error);
});
it('should take an invalid driver, invalid script, and throw an error', async function () {
const driverName = 'foo';
await expect(runRun([driverName, 'bar'])).to.be.rejectedWith(Error);
describe('when the driver and script are invalid', function () {
it('should throw an error', async function () {
const driverName = 'foo';
await expect(runRun([driverName, 'bar'])).to.be.rejectedWith(Error);
});
});
});
});
@@ -1 +1 @@
main.js: error: unrecognized arguments: --pigs=sheep
[ERROR] Unrecognized arguments: --pigs=sheep
+15
View File
@@ -92,6 +92,21 @@ export interface ExtArgs extends WithExtSubcommand {
* Subcommands of `plugin` subcommand
*/
pluginCommand?: CliExtensionSubcommand;
/**
* Output JSON instead of human-readable text
*/
json?: boolean;
/**
* Output nothing
*/
suppressOutput?: boolean;
/**
* Extra args to pass to extension scripts
*/
extraArgs?: string[];
}
/**
+11
View File
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [8.6.1](https://github.com/appium/appium/compare/@appium/base-driver@8.6.0...@appium/base-driver@8.6.1) (2022-08-03)
### Bug Fixes
* **appium,base-driver,base-plugin,doctor,docutils,eslint-config-appium,execute-driver-plugin,fake-driver,fake-plugin,gulp-plugins,images-plugin,opencv,relaxed-caps-plugin,schema,support,test-support,types,universal-xml-plugin:** update engines ([d8d2382](https://github.com/appium/appium/commit/d8d2382327ba7b7db8a4d1cad987c0e60184c92d))
# [8.6.0](https://github.com/appium/appium/compare/@appium/base-driver@8.5.7...@appium/base-driver@8.6.0) (2022-07-28)
+4 -4
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/base-driver",
"version": "8.6.0",
"version": "8.6.1",
"description": "Base driver class for Appium drivers",
"keywords": [
"automation",
@@ -45,7 +45,7 @@
"test:unit": "mocha \"./test/unit/**/*.spec.js\""
},
"dependencies": {
"@appium/support": "^2.59.3",
"@appium/support": "^2.59.4",
"@babel/runtime": "7.18.9",
"@colors/colors": "1.5.0",
"@types/async-lock": "1.1.5",
@@ -67,12 +67,12 @@
"morgan": "1.10.0",
"serve-favicon": "2.5.0",
"source-map-support": "0.5.21",
"type-fest": "2.17.0",
"type-fest": "2.18.0",
"validate.js": "0.13.1"
},
"engines": {
"node": ">=14",
"npm": ">=6"
"npm": ">=8"
},
"publishConfig": {
"access": "public"
+11
View File
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.10.1](https://github.com/appium/appium/compare/@appium/base-plugin@1.10.0...@appium/base-plugin@1.10.1) (2022-08-03)
### Bug Fixes
* **appium,base-driver,base-plugin,doctor,docutils,eslint-config-appium,execute-driver-plugin,fake-driver,fake-plugin,gulp-plugins,images-plugin,opencv,relaxed-caps-plugin,schema,support,test-support,types,universal-xml-plugin:** update engines ([d8d2382](https://github.com/appium/appium/commit/d8d2382327ba7b7db8a4d1cad987c0e60184c92d))
# [1.10.0](https://github.com/appium/appium/compare/@appium/base-plugin@1.9.2...@appium/base-plugin@1.10.0) (2022-07-28)
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/base-plugin",
"version": "1.10.0",
"version": "1.10.1",
"description": "The base plugin used to create Appium 2.0 plugins",
"bugs": {
"url": "https://github.com/appium/appium/issues"
@@ -31,11 +31,11 @@
"test:unit": "mocha \"./test/unit/**/*.spec.js\""
},
"dependencies": {
"@appium/support": "^2.59.3"
"@appium/support": "^2.59.4"
},
"engines": {
"node": ">=14",
"npm": ">=6"
"npm": ">=8"
},
"types": "./build/lib/plugin.d.ts",
"gitHead": "5c7af8ee73078018e4ec52fccf19fe3f77249d72",
+11
View File
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.16.24](https://github.com/appium/appium/compare/@appium/doctor@1.16.23...@appium/doctor@1.16.24) (2022-08-03)
### Bug Fixes
* **appium,base-driver,base-plugin,doctor,docutils,eslint-config-appium,execute-driver-plugin,fake-driver,fake-plugin,gulp-plugins,images-plugin,opencv,relaxed-caps-plugin,schema,support,test-support,types,universal-xml-plugin:** update engines ([d8d2382](https://github.com/appium/appium/commit/d8d2382327ba7b7db8a4d1cad987c0e60184c92d))
## [1.16.23](https://github.com/appium/appium/compare/@appium/doctor@1.16.22...@appium/doctor@1.16.23) (2022-07-28)
+4 -4
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/doctor",
"version": "1.16.23",
"version": "1.16.24",
"description": "Test environment for fitness to run Appium",
"keywords": [
"automation",
@@ -49,12 +49,12 @@
"test:unit": "mocha \"./test/unit/**/*.spec.js\""
},
"dependencies": {
"@appium/support": "^2.59.3",
"@appium/support": "^2.59.4",
"@babel/runtime": "7.18.9",
"@colors/colors": "1.5.0",
"@types/bluebird": "3.5.36",
"@types/teen_process": "1.16.1",
"appium-adb": "9.10.1",
"appium-adb": "9.10.2",
"bluebird": "3.7.2",
"inquirer": "8.2.4",
"lodash": "4.17.21",
@@ -64,7 +64,7 @@
},
"engines": {
"node": ">=14",
"npm": ">=6"
"npm": ">=8"
},
"publishConfig": {
"access": "public"
+11
View File
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [0.0.9](https://github.com/appium/appium/compare/@appium/docutils@0.0.8...@appium/docutils@0.0.9) (2022-08-03)
### Bug Fixes
* **appium,base-driver,base-plugin,doctor,docutils,eslint-config-appium,execute-driver-plugin,fake-driver,fake-plugin,gulp-plugins,images-plugin,opencv,relaxed-caps-plugin,schema,support,test-support,types,universal-xml-plugin:** update engines ([d8d2382](https://github.com/appium/appium/commit/d8d2382327ba7b7db8a4d1cad987c0e60184c92d))
## [0.0.8](https://github.com/appium/appium/compare/@appium/docutils@0.0.7...@appium/docutils@0.0.8) (2022-07-28)
**Note:** Version bump only for package @appium/docutils
+4 -4
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/docutils",
"version": "0.0.8",
"version": "0.0.9",
"description": "Documentation generation utilities for Appium and related projects",
"keywords": [
"appium",
@@ -41,17 +41,17 @@
"test:unit": "mocha \"./test/unit/**/*.spec.js\""
},
"dependencies": {
"@appium/support": "^2.59.3",
"@appium/support": "^2.59.4",
"@babel/runtime": "7.18.9",
"docdash": "1.2.0",
"jsdoc": "3.6.11",
"jsdoc-plugin-typescript": "2.1.0",
"jsdoc-plugin-typescript": "2.1.1",
"source-map-support": "0.5.21",
"teen_process": "1.16.0"
},
"engines": {
"node": ">=14",
"npm": ">=6"
"npm": ">=8"
},
"publishConfig": {
"access": "public"
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [6.0.4](https://github.com/appium/appium/compare/@appium/eslint-config-appium@6.0.3...@appium/eslint-config-appium@6.0.4) (2022-08-03)
### Bug Fixes
* **appium,base-driver,base-plugin,doctor,docutils,eslint-config-appium,execute-driver-plugin,fake-driver,fake-plugin,gulp-plugins,images-plugin,opencv,relaxed-caps-plugin,schema,support,test-support,types,universal-xml-plugin:** update engines ([d8d2382](https://github.com/appium/appium/commit/d8d2382327ba7b7db8a4d1cad987c0e60184c92d))
## [6.0.3](https://github.com/appium/appium/compare/@appium/eslint-config-appium@6.0.2...@appium/eslint-config-appium@6.0.3) (2022-07-28)
**Note:** Version bump only for package @appium/eslint-config-appium
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/eslint-config-appium",
"version": "6.0.3",
"version": "6.0.4",
"description": "Shared config for Appium's eslint style",
"keywords": [
"eslint",
@@ -32,7 +32,7 @@
"test:smoke": "node ./index.js"
},
"peerDependencies": {
"@babel/core": "7.18.9",
"@babel/core": "7.18.10",
"@babel/eslint-parser": "7.18.9",
"eslint": "7.32.0",
"eslint-config-prettier": "8.5.0",
@@ -42,7 +42,7 @@
},
"engines": {
"node": ">=14",
"npm": ">=6"
"npm": ">=8"
},
"publishConfig": {
"access": "public"
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [2.0.4](https://github.com/appium/appium/compare/@appium/execute-driver-plugin@2.0.3...@appium/execute-driver-plugin@2.0.4) (2022-08-03)
### Bug Fixes
* **appium,base-driver,base-plugin,doctor,docutils,eslint-config-appium,execute-driver-plugin,fake-driver,fake-plugin,gulp-plugins,images-plugin,opencv,relaxed-caps-plugin,schema,support,test-support,types,universal-xml-plugin:** update engines ([d8d2382](https://github.com/appium/appium/commit/d8d2382327ba7b7db8a4d1cad987c0e60184c92d))
## [2.0.3](https://github.com/appium/appium/compare/@appium/execute-driver-plugin@2.0.2...@appium/execute-driver-plugin@2.0.3) (2022-07-28)
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/execute-driver-plugin",
"version": "2.0.3",
"version": "2.0.4",
"description": "Plugin for batching and executing driver commands with Appiums",
"keywords": [
"appium",
@@ -41,7 +41,7 @@
"lodash": "4.17.21",
"source-map-support": "0.5.21",
"vm2": "3.9.10",
"webdriverio": "7.20.7"
"webdriverio": "7.20.9"
},
"peerDependencies": {
"appium": "^2.0.0-beta.35"
@@ -56,6 +56,6 @@
"gitHead": "5c7af8ee73078018e4ec52fccf19fe3f77249d72",
"engines": {
"node": ">=14",
"npm": ">=6"
"npm": ">=8"
}
}
+16
View File
@@ -3,6 +3,22 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [4.1.0](https://github.com/appium/appium/compare/@appium/fake-driver@4.0.2...@appium/fake-driver@4.1.0) (2022-08-03)
### Bug Fixes
* **appium,base-driver,base-plugin,doctor,docutils,eslint-config-appium,execute-driver-plugin,fake-driver,fake-plugin,gulp-plugins,images-plugin,opencv,relaxed-caps-plugin,schema,support,test-support,types,universal-xml-plugin:** update engines ([d8d2382](https://github.com/appium/appium/commit/d8d2382327ba7b7db8a4d1cad987c0e60184c92d))
### Features
* **appium:** pass unknown args to extension scripts ([faff3ce](https://github.com/appium/appium/commit/faff3ce3471abaea24d2cb4c3e3b75b1af5ac3a1)), closes [#17250](https://github.com/appium/appium/issues/17250)
## [4.0.2](https://github.com/appium/appium/compare/@appium/fake-driver@4.0.1...@appium/fake-driver@4.0.2) (2022-07-28)
@@ -1,3 +1,5 @@
import log from '../logger';
log.info('Successfully ran the script');
log.info(process.argv.slice(2).join(' '));
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/fake-driver",
"version": "4.0.2",
"version": "4.1.0",
"description": "Mock driver used internally by Appium for testing. Ignore",
"keywords": [
"automation",
@@ -61,7 +61,7 @@
},
"engines": {
"node": ">=14",
"npm": ">=6"
"npm": ">=8"
},
"publishConfig": {
"access": "public"
+11
View File
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [2.0.5](https://github.com/appium/appium/compare/@appium/fake-plugin@2.0.4...@appium/fake-plugin@2.0.5) (2022-08-03)
### Bug Fixes
* **appium,base-driver,base-plugin,doctor,docutils,eslint-config-appium,execute-driver-plugin,fake-driver,fake-plugin,gulp-plugins,images-plugin,opencv,relaxed-caps-plugin,schema,support,test-support,types,universal-xml-plugin:** update engines ([d8d2382](https://github.com/appium/appium/commit/d8d2382327ba7b7db8a4d1cad987c0e60184c92d))
## [2.0.4](https://github.com/appium/appium/compare/@appium/fake-plugin@2.0.3...@appium/fake-plugin@2.0.4) (2022-07-28)
+4 -4
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/fake-plugin",
"version": "2.0.4",
"version": "2.0.5",
"description": "A fake Appium 2.0 plugin",
"homepage": "https://appium.io",
"bugs": {
@@ -33,8 +33,8 @@
"test:unit": "mocha \"./test/unit/**/*.spec.js\""
},
"dependencies": {
"@appium/base-plugin": "^1.10.0",
"@appium/support": "^2.59.3",
"@appium/base-plugin": "^1.10.1",
"@appium/support": "^2.59.4",
"@babel/runtime": "7.18.9",
"@types/bluebird": "3.5.36",
"bluebird": "3.7.2",
@@ -46,7 +46,7 @@
},
"engines": {
"node": ">=14",
"npm": ">=6"
"npm": ">=8"
},
"appium": {
"pluginName": "fake",
+11
View File
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [7.0.4](https://github.com/appium/appium/compare/@appium/gulp-plugins@7.0.3...@appium/gulp-plugins@7.0.4) (2022-08-03)
### Bug Fixes
* **appium,base-driver,base-plugin,doctor,docutils,eslint-config-appium,execute-driver-plugin,fake-driver,fake-plugin,gulp-plugins,images-plugin,opencv,relaxed-caps-plugin,schema,support,test-support,types,universal-xml-plugin:** update engines ([d8d2382](https://github.com/appium/appium/commit/d8d2382327ba7b7db8a4d1cad987c0e60184c92d))
## [7.0.3](https://github.com/appium/appium/compare/@appium/gulp-plugins@7.0.2...@appium/gulp-plugins@7.0.3) (2022-07-28)
+6 -6
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/gulp-plugins",
"version": "7.0.3",
"version": "7.0.4",
"description": "Custom gulp plugins to be used across all appium modules",
"keywords": [
"automation",
@@ -43,11 +43,11 @@
"test:smoke": "node ./index.js"
},
"dependencies": {
"@appium/eslint-config-appium": "^6.0.3",
"@babel/core": "7.18.9",
"@appium/eslint-config-appium": "^6.0.4",
"@babel/core": "7.18.10",
"@babel/eslint-parser": "7.18.9",
"@babel/plugin-transform-runtime": "7.18.9",
"@babel/preset-env": "7.18.9",
"@babel/plugin-transform-runtime": "7.18.10",
"@babel/preset-env": "7.18.10",
"@babel/runtime": "7.18.9",
"@octokit/rest": "18.12.0",
"@types/fancy-log": "2.0.0",
@@ -101,7 +101,7 @@
},
"engines": {
"node": ">=14",
"npm": ">=6"
"npm": ">=8"
},
"publishConfig": {
"access": "public"
+11
View File
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.3.4](https://github.com/appium/appium/compare/@appium/images-plugin@1.3.3...@appium/images-plugin@1.3.4) (2022-08-03)
### Bug Fixes
* **appium,base-driver,base-plugin,doctor,docutils,eslint-config-appium,execute-driver-plugin,fake-driver,fake-plugin,gulp-plugins,images-plugin,opencv,relaxed-caps-plugin,schema,support,test-support,types,universal-xml-plugin:** update engines ([d8d2382](https://github.com/appium/appium/commit/d8d2382327ba7b7db8a4d1cad987c0e60184c92d))
## [1.3.3](https://github.com/appium/appium/compare/@appium/images-plugin@1.3.2...@appium/images-plugin@1.3.3) (2022-07-28)
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/images-plugin",
"version": "1.3.3",
"version": "1.3.4",
"description": "Plugin for working with images and image elements in Appium",
"keywords": [
"appium",
@@ -37,7 +37,7 @@
"test:unit": "mocha \"./test/unit/**/*.spec.js\""
},
"dependencies": {
"@appium/opencv": "^1.0.10",
"@appium/opencv": "^1.0.11",
"@babel/runtime": "7.18.9",
"lru-cache": "7.13.1",
"source-map-support": "0.5.21"
@@ -54,6 +54,6 @@
"homepage": "https://appium.io",
"engines": {
"node": ">=14",
"npm": ">=6"
"npm": ">=8"
}
}
+11
View File
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.0.11](https://github.com/appium/appium/compare/@appium/opencv@1.0.10...@appium/opencv@1.0.11) (2022-08-03)
### Bug Fixes
* **appium,base-driver,base-plugin,doctor,docutils,eslint-config-appium,execute-driver-plugin,fake-driver,fake-plugin,gulp-plugins,images-plugin,opencv,relaxed-caps-plugin,schema,support,test-support,types,universal-xml-plugin:** update engines ([d8d2382](https://github.com/appium/appium/commit/d8d2382327ba7b7db8a4d1cad987c0e60184c92d))
## [1.0.10](https://github.com/appium/appium/compare/@appium/opencv@1.0.9...@appium/opencv@1.0.10) (2022-07-28)
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/opencv",
"version": "1.0.10",
"version": "1.0.11",
"description": "OpenCV-related helper library",
"keywords": [
"automation",
@@ -54,7 +54,7 @@
},
"engines": {
"node": ">=14",
"npm": ">=6"
"npm": ">=8"
},
"publishConfig": {
"access": "public"
+11
View File
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [1.0.0-beta.11](https://github.com/appium/appium/compare/@appium/relaxed-caps-plugin@1.0.0-beta.10...@appium/relaxed-caps-plugin@1.0.0-beta.11) (2022-08-03)
### Bug Fixes
* **appium,base-driver,base-plugin,doctor,docutils,eslint-config-appium,execute-driver-plugin,fake-driver,fake-plugin,gulp-plugins,images-plugin,opencv,relaxed-caps-plugin,schema,support,test-support,types,universal-xml-plugin:** update engines ([d8d2382](https://github.com/appium/appium/commit/d8d2382327ba7b7db8a4d1cad987c0e60184c92d))
# [1.0.0-beta.10](https://github.com/appium/appium/compare/@appium/relaxed-caps-plugin@1.0.0-beta.9...@appium/relaxed-caps-plugin@1.0.0-beta.10) (2022-07-28)
**Note:** Version bump only for package @appium/relaxed-caps-plugin
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/relaxed-caps-plugin",
"version": "1.0.0-beta.10",
"version": "1.0.0-beta.11",
"description": "An Appium 2.0 plugin that loosens requirements for vendor prefixes on caps",
"bugs": {
"url": "https://github.com/appium/appium/issues"
@@ -40,7 +40,7 @@
},
"engines": {
"node": ">=14",
"npm": ">=6"
"npm": ">=8"
},
"appium": {
"pluginName": "relaxed-caps",
+11
View File
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [0.0.9](https://github.com/appium/appium/compare/@appium/schema@0.0.8...@appium/schema@0.0.9) (2022-08-03)
### Bug Fixes
* **appium,base-driver,base-plugin,doctor,docutils,eslint-config-appium,execute-driver-plugin,fake-driver,fake-plugin,gulp-plugins,images-plugin,opencv,relaxed-caps-plugin,schema,support,test-support,types,universal-xml-plugin:** update engines ([d8d2382](https://github.com/appium/appium/commit/d8d2382327ba7b7db8a4d1cad987c0e60184c92d))
## [0.0.8](https://github.com/appium/appium/compare/@appium/schema@0.0.7...@appium/schema@0.0.8) (2022-07-28)
+8 -7
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/schema",
"version": "0.0.8",
"version": "0.0.9",
"description": "Appium Configuration Schema",
"keywords": [
"automation",
@@ -39,16 +39,17 @@
"prepare": "npm run build",
"test:smoke": "node ./index.js"
},
"dependencies": {
"@types/json-schema": "7.0.11",
"json-schema": "0.4.0",
"source-map-support": "0.5.21"
},
"engines": {
"node": ">=14",
"npm": ">=6"
"npm": ">=8"
},
"publishConfig": {
"access": "public"
},
"gitHead": "5c7af8ee73078018e4ec52fccf19fe3f77249d72",
"dependencies": {
"@types/json-schema": "7.0.11",
"json-schema": "0.4.0"
}
"gitHead": "5c7af8ee73078018e4ec52fccf19fe3f77249d72"
}
+11
View File
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [2.59.4](https://github.com/appium/appium/compare/@appium/support@2.59.3...@appium/support@2.59.4) (2022-08-03)
### Bug Fixes
* **appium,base-driver,base-plugin,doctor,docutils,eslint-config-appium,execute-driver-plugin,fake-driver,fake-plugin,gulp-plugins,images-plugin,opencv,relaxed-caps-plugin,schema,support,test-support,types,universal-xml-plugin:** update engines ([d8d2382](https://github.com/appium/appium/commit/d8d2382327ba7b7db8a4d1cad987c0e60184c92d))
## [2.59.3](https://github.com/appium/appium/compare/@appium/support@2.59.2...@appium/support@2.59.3) (2022-07-28)
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/support",
"version": "2.59.3",
"version": "2.59.4",
"description": "Support libs used across appium packages",
"keywords": [
"automation",
@@ -97,14 +97,14 @@
"source-map-support": "0.5.21",
"supports-color": "8.1.1",
"teen_process": "1.16.0",
"type-fest": "2.17.0",
"type-fest": "2.18.0",
"uuid": "8.3.2",
"which": "2.0.2",
"yauzl": "2.10.0"
},
"engines": {
"node": ">=14",
"npm": ">=6"
"npm": ">=8"
},
"publishConfig": {
"access": "public"
+11
View File
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.4.1](https://github.com/appium/appium/compare/@appium/test-support@1.4.0...@appium/test-support@1.4.1) (2022-08-03)
### Bug Fixes
* **appium,base-driver,base-plugin,doctor,docutils,eslint-config-appium,execute-driver-plugin,fake-driver,fake-plugin,gulp-plugins,images-plugin,opencv,relaxed-caps-plugin,schema,support,test-support,types,universal-xml-plugin:** update engines ([d8d2382](https://github.com/appium/appium/commit/d8d2382327ba7b7db8a4d1cad987c0e60184c92d))
# [1.4.0](https://github.com/appium/appium/compare/@appium/test-support@1.3.22...@appium/test-support@1.4.0) (2022-07-28)
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/test-support",
"version": "1.4.0",
"version": "1.4.1",
"description": "A collection of test utilities used across Appium packages",
"keywords": [
"automation",
@@ -65,7 +65,7 @@
},
"engines": {
"node": ">=14",
"npm": ">=6"
"npm": ">=8"
},
"publishConfig": {
"access": "public"
+11
View File
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [0.3.1](https://github.com/appium/appium/compare/@appium/types@0.3.0...@appium/types@0.3.1) (2022-08-03)
### Bug Fixes
* **appium,base-driver,base-plugin,doctor,docutils,eslint-config-appium,execute-driver-plugin,fake-driver,fake-plugin,gulp-plugins,images-plugin,opencv,relaxed-caps-plugin,schema,support,test-support,types,universal-xml-plugin:** update engines ([d8d2382](https://github.com/appium/appium/commit/d8d2382327ba7b7db8a4d1cad987c0e60184c92d))
# [0.3.0](https://github.com/appium/appium/compare/@appium/types@0.2.5...@appium/types@0.3.0) (2022-07-28)
+4 -4
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/types",
"version": "0.3.0",
"version": "0.3.1",
"description": "Various type declarations used across Appium",
"keywords": [
"appium",
@@ -32,15 +32,15 @@
"test:smoke": "echo 'No smoke test for this package'"
},
"dependencies": {
"@appium/schema": "^0.0.8",
"@appium/schema": "^0.0.9",
"@types/express": "4.17.13",
"@types/npmlog": "4.1.4",
"@wdio/types": "7.20.7",
"type-fest": "2.17.0"
"type-fest": "2.18.0"
},
"engines": {
"node": ">=14",
"npm": ">=6"
"npm": ">=8"
},
"publishConfig": {
"access": "public"
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [1.0.0-beta.13](https://github.com/appium/appium-plugins/compare/@appium/universal-xml-plugin@1.0.0-beta.12...@appium/universal-xml-plugin@1.0.0-beta.13) (2022-08-03)
### Bug Fixes
* **appium,base-driver,base-plugin,doctor,docutils,eslint-config-appium,execute-driver-plugin,fake-driver,fake-plugin,gulp-plugins,images-plugin,opencv,relaxed-caps-plugin,schema,support,test-support,types,universal-xml-plugin:** update engines ([d8d2382](https://github.com/appium/appium-plugins/commit/d8d2382327ba7b7db8a4d1cad987c0e60184c92d))
# [1.0.0-beta.12](https://github.com/appium/appium-plugins/compare/@appium/universal-xml-plugin@1.0.0-beta.11...@appium/universal-xml-plugin@1.0.0-beta.12) (2022-07-28)
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@appium/universal-xml-plugin",
"version": "1.0.0-beta.12",
"version": "1.0.0-beta.13",
"description": "Appium plugin for making XML source and XPath queries the same across iOS and Android",
"keywords": [
"appium",
@@ -52,6 +52,6 @@
"gitHead": "5c7af8ee73078018e4ec52fccf19fe3f77249d72",
"engines": {
"node": ">=14",
"npm": ">=6"
"npm": ">=8"
}
}
+4
View File
@@ -13,14 +13,18 @@
{
"matchPackageNames": [
"@types/wrap-ansi",
"del",
"execa",
"find-up",
"get-port",
"globby",
"inquirer",
"log-symbols",
"read-pkg",
"strip-ansi",
"supports-color",
"term-size",
"vinyl-paths",
"wrap-ansi",
"write-pkg"
],