Commit Graph

9080 Commits

Author SHA1 Message Date
Jonathan Lipps 2e57fd4900 docs(appium): add placeholders for settings and mobile method guides 2022-04-22 09:41:02 -07:00
Jonathan Lipps 1201230b6a docs(appium): adjust nav with greater structure and remove dark mode since it doesn't look very good 2022-04-22 09:41:02 -07:00
Jonathan Lipps 70f9b38dd5 docs(appium): add main intro doc
resolves #16794
2022-04-22 09:41:02 -07:00
Renovate Bot c5787f7cf0 chore(gulp-plugins): update dependency @types/mocha to v9.1.1 2022-04-22 10:19:17 +00:00
Christopher Hiller 5bdc476c62 feat(eslint-config-appium): adds a warning if code attempts to assign to an object prototype
See #16829

When using ES6 `class` syntax, direct assignment to `prototype` can be a source of bugs.  Class properties seem to exacerbate the issue.  While in many cases this code will work fine, there is not always a straightforward workaround, which is why the rule just emits a warning.

The new syntax rule considers assignment to the `prototype` of any object, as well as using `Object.assign()` to do the same.
2022-04-21 16:11:04 -07:00
Christopher Hiller 9bfe482b97 test(docutils): run mike test against sources
referencing the project root pulls the root `index.js`, which requires `build/lib`, which is not what we want.
2022-04-21 16:10:39 -07:00
Renovate Bot 00f38df09a chore(): update dependency lint-staged to v12.4.0 2022-04-21 16:50:38 +00:00
Renovate Bot 19c4cd246b chore(support): update dependency npmlog to v6.0.2 2022-04-21 13:21:08 +00:00
Renovate Bot 0d7f851410 chore(docutils): update dependency jsdoc-plugin-typescript to v2.0.7 2022-04-21 06:26:03 +00:00
Jonathan Lipps f15f11bc14 Publish
- appium@2.0.0-beta.33
 - @appium/base-driver@8.5.2
 - @appium/base-plugin@1.8.4
 - @appium/doctor@1.16.17
 - @appium/docutils@0.0.3
 - @appium/eslint-config-appium@5.0.6
 - @appium/execute-driver-plugin@1.0.4
 - @appium/fake-driver@3.2.12
 - @appium/fake-plugin@1.3.3
 - @appium/gulp-plugins@6.0.8
 - @appium/images-plugin@1.1.9
 - @appium/opencv@1.0.7
 - @appium/relaxed-caps-plugin@1.0.0-beta.5
 - @appium/schema@0.0.5
 - @appium/support@2.57.4
 - @appium/test-support@1.3.18
 - @appium/types@0.2.2
 - @appium/universal-xml-plugin@1.0.0-beta.7
@appium/base-driver@8.5.2 @appium/base-plugin@1.8.4 @appium/doctor@1.16.17 @appium/docutils@0.0.3 @appium/eslint-config-appium@5.0.6 @appium/execute-driver-plugin@1.0.4 @appium/fake-driver@3.2.12 @appium/fake-plugin@1.3.3 @appium/gulp-plugins@6.0.8 @appium/images-plugin@1.1.9 @appium/opencv@1.0.7 @appium/relaxed-caps-plugin@1.0.0-beta.5 @appium/schema@0.0.5 @appium/support@2.57.4 @appium/test-support@1.3.18 @appium/types@0.2.2 @appium/universal-xml-plugin@1.0.0-beta.7 appium@2.0.0-beta.33
2022-04-20 13:29:59 -07:00
Jonathan Lipps b9d4657028 chore(fake-plugin): bump version to something we can publish 2022-04-20 13:29:32 -07:00
Jonathan Lipps 722ae145fb Publish
- appium@2.0.0-beta.32
 - @appium/base-driver@8.5.1
 - @appium/base-plugin@1.8.3
 - @appium/doctor@1.16.16
 - @appium/docutils@0.0.2
 - @appium/eslint-config-appium@5.0.5
 - @appium/execute-driver-plugin@1.0.3
 - @appium/fake-driver@3.2.11
 - @appium/fake-plugin@1.2.2
 - @appium/gulp-plugins@6.0.7
 - @appium/images-plugin@1.1.8
 - @appium/opencv@1.0.6
 - @appium/relaxed-caps-plugin@1.0.0-beta.4
 - @appium/schema@0.0.4
 - @appium/support@2.57.3
 - @appium/test-support@1.3.17
 - @appium/types@0.2.1
 - @appium/universal-xml-plugin@1.0.0-beta.6
@appium/base-driver@8.5.1 @appium/base-plugin@1.8.3 @appium/doctor@1.16.16 @appium/docutils@0.0.2 @appium/eslint-config-appium@5.0.5 @appium/execute-driver-plugin@1.0.3 @appium/fake-driver@3.2.11 @appium/fake-plugin@1.2.2 @appium/gulp-plugins@6.0.7 @appium/images-plugin@1.1.8 @appium/opencv@1.0.6 @appium/relaxed-caps-plugin@1.0.0-beta.4 @appium/schema@0.0.4 @appium/support@2.57.3 @appium/test-support@1.3.17 @appium/types@0.2.1 @appium/universal-xml-plugin@1.0.0-beta.6 appium@2.0.0-beta.32
2022-04-20 13:27:53 -07:00
Jonathan Lipps 8b7906f757 Publish
- appium@2.0.0-beta.31
 - @appium/base-driver@8.5.0
 - @appium/base-plugin@1.8.2
 - @appium/doctor@1.16.15
 - @appium/docutils@0.0.1
 - @appium/execute-driver-plugin@1.0.2
 - @appium/fake-driver@3.2.10
 - @appium/fake-plugin@1.2.1
 - @appium/gulp-plugins@6.0.6
 - @appium/images-plugin@1.1.7
 - @appium/opencv@1.0.5
 - @appium/relaxed-caps-plugin@1.0.0-beta.3
 - @appium/schema@0.0.3
 - @appium/support@2.57.2
 - @appium/test-support@1.3.16
 - @appium/types@0.2.0
 - @appium/universal-xml-plugin@1.0.0-beta.5
@appium/base-driver@8.5.0 @appium/base-plugin@1.8.2 @appium/doctor@1.16.15 @appium/docutils@0.0.1 @appium/execute-driver-plugin@1.0.2 @appium/fake-driver@3.2.10 @appium/fake-plugin@1.2.1 @appium/gulp-plugins@6.0.6 @appium/images-plugin@1.1.7 @appium/opencv@1.0.5 @appium/relaxed-caps-plugin@1.0.0-beta.3 @appium/schema@0.0.3 @appium/support@2.57.2 @appium/test-support@1.3.16 @appium/types@0.2.0 @appium/universal-xml-plugin@1.0.0-beta.5 appium@2.0.0-beta.31
2022-04-20 13:23:24 -07:00
Christopher Hiller cd08dafabc fix(appium,types): avoid call to assignServer()
Due to the way which drivers currently include `@appium/base-driver`, it's possible for a driver to become out-of-date with respect to `AppiumDriver` and fail to implement the expected interface.  This change partially reverts the addition of `Driver.assignServer()`, which is a new function that old versions of `@appium/base-driver` do not implement.
2022-04-20 11:50:40 -07:00
Christopher Hiller ab6dfb3158 fix(base-driver): supportedLogTypes does not get overwritten
Closes #16738

There's a difference between assigning things to a prototype and public class fields, evidently.

To test this would be best done via interaction between drivers and `base-driver`, but affected drivers do not necessarily run the reusable test suite.  Fundamentally, a unit test for this would be testing Babel.  Unsure of best way to add an E2E test

- Also fiddled with some types, which still aren't quite right, but better.
- Simplified a `_.reduce()` call
2022-04-20 11:50:21 -07:00
Jonathan Lipps f8526b36d4 docs(appium): add landing page and resources page docs 2022-04-20 09:03:33 -07:00
Renovate Bot 8a510edc12 chore(docutils): update dependency @babel/runtime to v7.17.9 2022-04-19 23:46:09 +00:00
Kazuaki Matsuo edaa8084dd docs: remove ios-webkit-debug stuff 2022-04-19 12:03:36 -07:00
Jonathan Lipps e236f0580a docs(appium): move event timings doc to appium 2 docs (resolves #16807) 2022-04-19 11:06:19 -07:00
Renovate Bot e9e2f8d42a chore(): update dependency sync-monorepo-packages to v0.3.5 2022-04-19 14:24:18 +00:00
Jonathan Lipps 08b2f7aa30 docs(appium): set mkdocs site url to be github pages relative for now 2022-04-18 10:55:24 -07:00
Jonathan Lipps 2fbf7ffb69 test(docutils): add a basic test so CI will do something 2022-04-18 10:55:24 -07:00
Jonathan Lipps c457dd1d97 docs(appium): add scripts for publishing docs via gh-pages 2022-04-18 10:55:24 -07:00
Jonathan Lipps 5d9dd0d518 docs(appium): use mike as the docs version provider 2022-04-18 10:55:24 -07:00
Jonathan Lipps a162cabfeb docs(appium): migrate appium history doc from appium.io repo 2022-04-18 10:55:24 -07:00
Jonathan Lipps db5b6cb4d7 docs(appium): add scripts for building html docs 2022-04-18 10:55:24 -07:00
Jonathan Lipps 50900436d2 docs(appium): hide erroneous release tag and copy generic assets into each language dir 2022-04-18 10:55:24 -07:00
Jonathan Lipps b4d6bf7f84 docs(appium): write quickstart guide for js and remove old sample code 2022-04-18 10:55:24 -07:00
Jonathan Lipps d82ba5cbdb docs(appium): remove old commands yml docs 2022-04-18 10:55:24 -07:00
Jonathan Lipps 4f43eb8f03 docs(appium): move from jsdoc to mkdocs and create docutils package 2022-04-18 10:55:24 -07:00
Jonathan Lipps a85050d544 docs(appium): migrate a bunch of docs out to drivers, and remove autogenerated command docs 2022-04-18 10:55:24 -07:00
Jonathan Lipps 69663229fa docs(appium): create new docs generator for appium 2 2022-04-18 10:55:24 -07:00
Renovate Bot 5e8fe52c76 chore(support): update dependency moment to v2.29.3 2022-04-18 13:10:43 +00:00
Renovate Bot ad00a2c1b6 chore(test-support): update dependency sinon to v13.0.2 2022-04-17 13:21:58 +00:00
Renovate Bot 98887b01c6 chore(support): update dependency archiver to v5.3.1 2022-04-17 10:16:25 +00:00
Renovate Bot cb7ef8230f chore(relaxed-caps-plugin): update dependency lodash to v4.17.21 2022-04-16 18:06:18 +00:00
Renovate Bot 98e20221b1 chore(gulp-plugins): update dependency @types/node to v16.11.27 2022-04-16 15:34:29 +00:00
Renovate Bot 4bdb30d876 chore(execute-driver-plugin): update dependency vm2 to v3.9.9 2022-04-16 13:00:35 +00:00
Renovate Bot a5d45979b9 chore(appium): update dependency yaml to v2.0.1 2022-04-16 11:03:49 +00:00
Renovate Bot 14490a0d17 chore(): update dependency lint-staged to v12.3.8 2022-04-15 16:30:47 +00:00
Renovate Bot f50f493dd5 chore(): update dependency @types/async-lock to v1.1.5 2022-04-15 13:29:52 +00:00
Renovate Bot 79f86c6bcd chore(appium): update dependency yaml to v2 2022-04-14 15:11:04 -07:00
Christopher Hiller 15439c2ae7 fix(execute-driver-plugin): upgrade webdriverio 2022-04-14 14:30:00 -07:00
Christopher Hiller dc9fa6236d fix(base-plugin): use correct 'address' prop instead of 'host' 2022-04-14 14:30:00 -07:00
Christopher Hiller 237529c1ac chore(types,base-driver): rename DriverOpts => ServerArgs
- these are first and foremost _server_ args, so go with that, except they _also_ get provided to drivers, so we can use the `DriverOpts` alias there.
- simplify `tsconfig.json` in `@appium/types`
2022-04-14 14:30:00 -07:00
Christopher Hiller 8b814c9243 fix(appium): make types actually consumable
- because we had not previously (before `base-plugin`) tried to consume the appium declarations ourselves, I found a problem where the reference to internal types (`types/`) was not referenced correctly.  this was fixed by renaming the files to `.ts` so the declarations are generated and put in `build/` along w/ `lib/`. this necessitated explictly exporting all types
- fixed a problem with `Args` not allowing an `undefined` `subcommand` prop
- added an `AppiumEnv` type
- simplify `tsconfig.json`
2022-04-14 14:30:00 -07:00
Christopher Hiller 8b010df295 chore: simplify test scripts
- `e2e-test` is now `test:e2e`
- removed `pre`/`post` lifecycle scripts because it's hard to parse what's happening
- in CI, e2e tests do _not_ run in parallel, no extra build occurs, no types are built, and no lint happens.  (types/lint happens in a diff job, and there aren't enough cores available for parallel mode to make a difference)
- removed a bunch of scripts to test individual packages. you can just `cd packages/<pkgname> && npm t`
2022-04-14 14:30:00 -07:00
Christopher Hiller 2d76923e72 fix(base-driver): do not throw if updateSettings aren't provided
BREAKING CHANGES

Some plugin tests were calling code which called the `update()` method of `DeviceSettings`, but there's apparently no code that actually sets the `onUpdateSettings` listener anywhere (maybe drivers can opt-in to this behavior?), which was causing exceptions to get thrown.

The E2E tests expected this code to reject, but the plugin tests expected it to _not_ reject, so I'm not sure what's right.

- adds unit tests for `DeviceSettings`

_Note: after further investigation, I think this was throwing simply due to `base-plugin` using an old version of `appium-fake-driver` which used an old `appium-base-driver`.  @jlipps says this change is OK._
2022-04-14 14:30:00 -07:00
Christopher Hiller b438249583 fix(base-plugin): correct version 2022-04-14 14:30:00 -07:00
Christopher Hiller 83d87213c3 chore(execute-driver-plugin): import execute-driver-plugin
yeah this is my bad.  if we really need the history I can redo this.

no significant changes; just the usual stuff about builds and types.

bonus: I figured out how to get webdriverio types working
2022-04-14 14:30:00 -07:00