Commit Graph

10160 Commits

Author SHA1 Message Date
renovate[bot] b2751a9eb3 chore(gulp-plugins): update dependency @octokit/rest to v19 2022-10-18 13:47:46 -07:00
ian.zhang c0d569b05b Update migrating-1-to-2
Submit zh version
2022-10-18 13:47:17 -07:00
Christopher Hiller 125a68fe47 fix(opencv,support): override jpeg-js version
Jimp will not get upgraded so we need to do this to avoid the vuln in older versions of jpeg-js.
I also removed the relative deps from the monorepo root since they seemed to befoul the overrides. They are no longer needed due to workspaces (I think)
2022-10-18 13:33:08 -07:00
Christopher Hiller 3f047cc56f fix(universal-xml-plugin): use @xmldom/xmldom instead of xmldom
avoids vuln
2022-10-18 13:28:28 -07:00
Christopher Hiller bf8f6cda26 chore(): do not publish tsconfig.tsbuildinfo 2022-10-17 13:40:41 -07:00
renovate[bot] ff8d63c70a chore(gulp-plugins): update dependency mocha to v10.1.0 2022-10-16 09:50:58 +00:00
renovate[bot] 78e6a20ea7 chore(doctor): update dependency appium-adb to v9.10.12 2022-10-16 07:46:38 +00:00
renovate[bot] c0e0db78a8 chore(): update dependency @types/node to v16.11.66 2022-10-16 01:47:41 +00:00
renovate[bot] 55d50f614f chore(execute-driver-plugin): update dependency webdriverio to v7.25.2 2022-10-15 08:40:52 +00:00
Christopher Hiller 6b3cc1a874 Publish
- appium@2.0.0-beta.46
 - @appium/base-driver@8.7.3
 - @appium/base-plugin@1.10.5
 - @appium/doctor@1.16.28
 - @appium/docutils@0.0.13
 - @appium/fake-plugin@2.1.3
 - @appium/gulp-plugins@7.0.8
 - @appium/support@2.61.1
 - @appium/test-support@2.0.2
@appium/base-driver@8.7.3 @appium/base-plugin@1.10.5 @appium/doctor@1.16.28 @appium/docutils@0.0.13 @appium/fake-plugin@2.1.3 @appium/gulp-plugins@7.0.8 @appium/support@2.61.1 @appium/test-support@2.0.2 appium@2.0.0-beta.46
2022-10-14 14:02:09 -07:00
Christopher Hiller 51d6d69ff1 fix(basedriver): ensure "opts" is defined at time of construction 2022-10-14 14:01:07 -07:00
renovate[bot] 8c092b1172 chore(support): update dependency shell-quote to v1.7.4 2022-10-14 11:45:38 +00:00
renovate[bot] b7bd6b426a chore(workflows): update actions/setup-node digest to 8c91899 2022-10-14 08:08:01 +00:00
Dor Blayzer 8c6f8fff44 docs: update clients.md (#17606)
Add .NET client set of Appium command example
2022-10-13 22:13:33 -07:00
renovate[bot] 55f4bdca0e chore(gulp-plugins): update dependency eslint-plugin-promise to v6.1.0 2022-10-14 02:47:23 +00:00
Jonathan Lipps f545a6cde5 Publish
- appium@2.0.0-beta.45
 - @appium/base-driver@8.7.2
 - @appium/base-plugin@1.10.4
 - @appium/doctor@1.16.27
 - @appium/docutils@0.0.12
 - @appium/driver-test-support@0.2.1
 - @appium/execute-driver-plugin@2.0.6
 - @appium/fake-driver@4.2.2
 - @appium/fake-plugin@2.1.2
 - @appium/gulp-plugins@7.0.7
 - @appium/images-plugin@1.3.7
 - @appium/opencv@1.0.13
 - @appium/plugin-test-support@0.2.1
 - @appium/relaxed-caps-plugin@1.0.0-beta.13
 - @appium/support@2.61.0
 - @appium/test-support@2.0.1
 - @appium/types@0.5.0
 - @appium/universal-xml-plugin@1.0.0-beta.15
@appium/base-driver@8.7.2 @appium/base-plugin@1.10.4 @appium/doctor@1.16.27 @appium/docutils@0.0.12 @appium/driver-test-support@0.2.1 @appium/execute-driver-plugin@2.0.6 @appium/fake-driver@4.2.2 @appium/fake-plugin@2.1.2 @appium/gulp-plugins@7.0.7 @appium/images-plugin@1.3.7 @appium/opencv@1.0.13 @appium/plugin-test-support@0.2.1 @appium/relaxed-caps-plugin@1.0.0-beta.13 @appium/support@2.61.0 @appium/test-support@2.0.1 @appium/types@0.5.0 @appium/universal-xml-plugin@1.0.0-beta.15 appium@2.0.0-beta.45
2022-10-13 16:25:16 -07:00
renovate[bot] c7072027d6 chore(workflows): update actions/checkout digest to 93ea575 2022-10-11 19:04:38 +00:00
renovate[bot] ed8b65ce72 chore(gulp-plugins): update dependency @babel/preset-env to v7.19.4 2022-10-11 18:43:03 +00:00
Mykola Mokhnach 9399654c8a docs: Delete the absolute requirements section 2022-10-11 15:19:21 +02:00
Mykola Mokhnach 1547c7535e docs: Update Appium 2 installation tutorial (#17590) 2022-10-11 15:15:32 +02:00
renovate[bot] b18ba50f8e chore(fake-driver): update dependency @xmldom/xmldom to v0.8.3 2022-10-11 09:58:42 +00:00
renovate[bot] 24a0efd695 chore(types): update dependency type-fest to v3.1.0 2022-10-10 10:13:17 +00:00
renovate[bot] 2a452cec4b chore(base-driver): update dependency express to v4.18.2 2022-10-09 08:06:46 +00:00
renovate[bot] 8c7acd52a5 chore(gulp-plugins): update dependency eslint to v8.25.0 2022-10-08 07:34:35 +00:00
renovate[bot] 5bca642efa chore(base-driver): update dependency body-parser to v1.20.1 2022-10-07 13:18:13 +00:00
Mykola Mokhnach 6c451e1f7d chore(appium): Remove logging from adjustNodePath helper (#17578) 2022-10-07 10:58:56 +02:00
Christopher Hiller 9ce09845c8 chore(): replaced a ternary 2022-10-06 15:30:22 -07:00
Christopher Hiller 4d7d8e4d38 fix(types): fix driverForSession declaration 2022-10-06 15:30:22 -07:00
Christopher Hiller a3ad768802 chore(): review fixes 2022-10-06 15:30:22 -07:00
Christopher Hiller b20d0b82a2 chore(appium,base-driver,driver-test-support,types): overhaul types for constraints and caps
The big idea here is:

1. `desiredCapConstraints` should always contain the constraints _for that driver_; it no longer contains the "base" constraints. This is the only thing that really required any logic changes (though they are somewhat spread out).  The "merged" constraints object is available via `_desiredCapConstraints`.
2. `Capabilities` and W3C-style `W3CCapabilities` are now _derived from_ constraints.  This absolves us (and extension authors) from needing to create an interface describing their capabilities.
3. Changes to caps and constraints now reflect in `DriverOpts` (`this.opts`) in drivers
4. `caps` and `originalCaps` declarations have moved from `Core` to `Driver`
5. TypeScript compiles the JS output from `@appium/types` (which is just a static "constraints" object)

Resolves #17518
2022-10-06 15:30:22 -07:00
Christopher Hiller 2fa8b2d0c1 fix(ci): do not install fake-driver; it is already present 2022-10-06 15:15:18 -07:00
Christopher Hiller b186928e60 feat(appium,support): enable detection of local extensions for improved DX
This change makes Appium recognize the existence of an extension in the current (or parent) dir, and automatically adds it to the extension manifest.

Resolution of Appium (e.g., _how_ Appium was installed) is no longer taken into account when determining if we're "in" a package that depends upon Appium.  So you can easily `npm link appium` in an extension working copy if you wish, and this will not impact Appium's behavior.

To support this change, `hasAppiumDependency()` in `@appium/support`'s `env` has changed to be a wrapper around the new `findAppiumDependency()`.  The strategy here is to use `npm list --long` to get detailed information about the current directory.  The result will have an object with a `path` property, and that property points to the current workspace root (or current project root).  We can then read the `package.json` in the `path` property--or just the CWD--to make the determination about an `appium` dependency (or lack thereof).  For extension working copies, this will return `true` because `appium` will be present in `devDependencies`, `peerDependencies`, or both.  For any other project, it will usually just be in `devDependencies`.  If there's no `package.json` in the CWD and we're not in a workspace, Appium continues to use the default `APPIUM_HOME`.

One side effect of this is that running `appium` from the monorepo itself treats the dir hierarchy as a package which has an `appium` dependency (because it does!).  To that end, the default `APPIUM_HOME` will _not_ be used when running `appium` from _anywhere in the monorepo_ unless you explicitly set `APPIUM_HOME` in an environment variable.  Generally, our tests prescribe their own temporary `APPIUM_HOME` directories, so this should have no effect on them (in the general case).  It _will_ have an effect on running `appium` manually in a development environment, as the workspace root will be treated as `APPIUM_HOME`; running `node ./packages/appium/index.js driver install uiautomator2` (or `npm start -- driver install uiautomator2`) will install that driver as a dev dependency (and save it).  I could add a special case _just for the monorepo_ if we don't want this to happen, but it may introduce complexity we/I don't want to maintain, so I left it out.  Furthermore, `npm start -- driver list` will show the `fake` driver, and `npm start -- plugin list` will show all of the plugins in `packages/`.

Regardless, I view this as a solid win for extension developers.

Bonus:

While I don't have benchmarks, this should considerably improve performance when detecting locally-installed (`node_modules/some-extension`) or extension working copies.  Instead of using `klaw` to walk the filesystem (in serial!) we can just use `glob` to look for relevant `package.json` files.  Instead of waiting until `glob` is completely finished searching, we can listen for its `match` evens and begin processing `package.json` files as soon as they are found. Because `@appium/support` only exposes a promisifed `glob()`--with no access to the `EventEmitter` it returns--`appium` depends on `glob` directly.
2022-10-06 15:15:18 -07:00
Christopher Hiller cc04e6595b chore(): remove babel-runtime
Closes #17536
2022-10-06 11:51:49 -07:00
renovate[bot] c46060cae7 chore(appium): update dependency yaml to v2.1.3 2022-10-06 11:02:59 +00:00
renovate[bot] e7c3536c15 chore(): update dependency @types/mocha to v10 2022-10-05 13:24:12 -07:00
renovate[bot] 45e653151d chore(types): update dependency type-fest to v3 2022-10-05 13:24:04 -07:00
renovate[bot] 4829984e2e chore(support): update dependency semver to v7.3.8 2022-10-05 13:43:21 +00:00
renovate[bot] 46644bc2d1 chore(test-support): update dependency sinon to v14.0.1 2022-10-04 15:08:39 +00:00
renovate[bot] 2752df1aae chore(doctor): update dependency appium-adb to v9.10.11 2022-10-04 10:09:40 +00:00
renovate[bot] daaf86220b chore(): update dependency @types/node to v16.11.64 2022-10-04 09:37:13 +00:00
renovate[bot] 4a7cab26fa chore(appium): update dependency yaml to v2.1.2 2022-10-03 11:13:04 +00:00
renovate[bot] 07c8660a50 chore(): update dependency @types/node to v16.11.63 2022-10-03 10:46:25 +00:00
renovate[bot] 04231eb833 chore(gulp-plugins): update dependency yargs to v17.6.0 2022-10-01 08:03:07 +00:00
renovate[bot] 160238e929 chore(types): update webdriverio monorepo to v7.25.1 2022-10-01 07:35:17 +00:00
renovate[bot] bda6746d7b chore(driver-test-support): update dependency @types/lodash to v4.14.186 2022-09-29 08:26:26 +00:00
renovate[bot] a77e5398f6 chore(): update babel monorepo to v7.19.3 2022-09-28 11:43:54 +00:00
renovate[bot] 08fc54b536 chore(workflows): update actions/setup-node digest to 969bd26 2022-09-28 11:11:40 +00:00
renovate[bot] 7a1ee2b173 chore(): update dependency @types/node to v16.11.62 2022-09-27 13:30:32 +00:00
renovate[bot] 9ea95a27a3 chore(support): update dependency teen_process to v2 2022-09-26 15:26:35 -07:00
renovate[bot] 86ac5f7a2b chore(support): update dependency @types/glob to v8 2022-09-26 10:52:41 -07:00