Commit Graph

9886 Commits

Author SHA1 Message Date
renovate[bot] 2bbac72667 chore(deps): update dependency midnight-smoker to v2.0.1 2023-01-12 02:50:11 +00:00
Jonathan Lipps f04e1171d0 docs(appium): note the breaking change in default base path (#18042) 2023-01-11 14:04:42 -08:00
Christopher Hiller 696c94f1ab fix(images-plugin,universal-xml-plugin,typedoc-plugin-appium): add missing lodash dependency 2023-01-11 11:40:13 -08:00
Ikko Eltociear Ashimine 6f846f76c9 chore(appium): fix typo in driver.e2e.spec.js (#18041)
recieve -> receive
2023-01-11 11:05:21 -08:00
Jonathan Lipps d8588e107c docs: add ExternalDriver docstrings (#17985) 2023-01-10 14:36:48 -08:00
Christopher Hiller c5bbb950ed fix: run "npm audit fix" because there was a warning 2023-01-10 14:00:11 -08:00
renovate[bot] fb4f0408dc chore(docutils): update dependency mkdocs-material to v9 (#18002)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-10 10:06:44 -08:00
Christopher Hiller 697b4427e4 fix(execute-driver-plugin): fix bad types in execute-child module 2023-01-10 09:53:18 -08:00
Christopher Hiller 6fb05b2fff docs: enable auto command generation for plugins
Also enables type checks in `execute-driver-plugins` and exports types where we weren't before
2023-01-10 09:53:18 -08:00
Christopher Hiller 7add23e418 fix(execute-driver-plugin): use correct return type annotation 2023-01-10 09:53:18 -08:00
Christopher Hiller b036dde5dd feat(typedoc-plugin-appium): add plugin support
Most of this "just works", but the additional parameters to a plugin command need special handling.  To do that, we have to understand what is a plugin and what is not.

Note that this is incompatible with the "mixin" pattern as found in `BaseDriver` and `FakeDriver`. In other words, a _Plugin_ should not use mixin classes.  I would not recommend mixin classes going forward due to its complexity and opacity.
2023-01-10 09:53:18 -08:00
Christopher Hiller 1f99c97264 chore(types): update definition of PluginCommand type
maybe some day we will even use this!
2023-01-10 09:53:18 -08:00
Christopher Hiller df31cddbe7 chore(typedoc-plugin-appium): tweaks
- `BuiltinMethodMapConverter`'s `convert()` will _always_ return a `BuiltinCommands` / removed unused import
- Verbose logging for skipped methods
- Remove useless type aliases from option declarations and add some no-op typechecks (these will be compiled away)
- Add some docstrings to guards and types
- `CallSignatureReflectionWithParams` is now `CallSignatureReflectionWithArity`, and it is specific about having a nonzero arity. Broke out `CallSignatureReflection` from this, since the guard and type didn't fully match up
2023-01-10 09:32:46 -08:00
Christopher Hiller 9d5a737daa fix(typedoc-plugin-appium): allow commands as properties referencing async methods
Instead of only inspecting `ReflectionKind.Method`, we now examine `ReflectionKind.Property`, which can be of type `ReflectionType` pointing to an async function.  Example:

```js
async function baz() {}

class Foo {
  async bar() {} // ReflectionKind.Method
  baz = baz; // ReflectionKind.Property referencing a function
}
```

Also ensures `static` methods aren't picked up; this could happen if a static method shares the same name with a known command method as defined in the builtin routes.
2023-01-10 09:32:46 -08:00
Christopher Hiller 0ca54b7994 feat(typedoc-plugin-appium): add options and 3p support
E2E tests are quasi-blocking on merge & release of https://github.com/TypeStrong/typedoc/issues/2130; it is a huge pain to test without this.

- Adds some options to control output
- Rename `CommandsReflection` to `ExtensionReflection` due to poor granular control over the display name
- Rename the custom "kinds"; add kinds for drivers and plugins (which affects display titles)
- Remove namespace from "kinds" for same reason
- Refactors, reformatting
- Rename entry point from `plugin.ts` to `index.ts`
- Update keywords in `package.json` for auto-discovery
- Remove cruft from root `typedoc.json`
- Update `README.md`
- Update peer dependencies; the other plugins must be peer deps or typedoc will be unable to auto-discover them
2023-01-10 09:32:46 -08:00
Christopher Hiller 7942118429 chore(tsconfig): strip internal stuff from declarations
typedoc respects this flag as well
2023-01-10 09:32:46 -08:00
Christopher Hiller 0aac077e30 fix(typedoc-plugin-appium): add peer dep of appium 2023-01-10 09:32:46 -08:00
Christopher Hiller 5ef4ae9206 fix(typedoc-plugin-appium): bad directory in repository url 2023-01-10 09:32:46 -08:00
renovate[bot] a22c97dbf9 chore(deps): update dependency @commitlint/cli to v17.4.1 2023-01-10 12:47:22 +00:00
renovate[bot] 57b0ee5dbb chore(deps): update dependency ws to v8.12.0 2023-01-08 13:48:18 +00:00
renovate[bot] 31a3cee0bc chore(deps): update dependency typedoc to v0.23.24 2023-01-08 11:54:20 +00:00
renovate[bot] b28a1134f0 chore(deps): update dependency prettier to v2.8.2 2023-01-08 10:00:47 +00:00
pacozaa 8f7171c42a refactor: add type for driver-command,plugin-command,doctor,docutils,execute-child (#17962) 2023-01-07 17:11:04 +01:00
renovate[bot] da230ca243 chore(deps): update dependency lerna to v6.4.0 2023-01-07 00:14:20 +00:00
Christopher Hiller edde4882f0 fix(base-driver): add missing dependency @appium/types
Closes #18006
2023-01-06 12:56:26 -08:00
renovate[bot] d8323b3d3c chore(workflows): update actions/setup-node digest to 64ed1c7 2023-01-06 18:40:00 +00:00
Mykola Mokhnach ed07ae3046 docs(appium): Document basics of application bundles caching (#18015) 2023-01-06 15:33:20 +01:00
renovate[bot] 5d1090555f chore(workflows): update actions/checkout digest to ac59398 2023-01-06 12:29:27 +00:00
renovate[bot] 4b5ab4da7b fix(types): update dependency type-fest to v3.5.1 2023-01-05 12:11:09 +00:00
Christopher Hiller f036f0a612 chore: all pkgs consume @appium/tsconfig 2023-01-04 12:09:08 -08:00
renovate[bot] 79105b59e2 chore(deps): update commitlint monorepo to v17.4.0 2023-01-04 14:56:42 +00:00
renovate[bot] 783989b56c fix(appium): update dependency ajv to v8.12.0 2023-01-04 11:54:41 +00:00
Mykola Mokhnach 49eddb4368 docs (appium): Add "Write a Test" Java tutorial (#18000) 2023-01-04 08:58:19 +01:00
Kazuaki Matsuo b4670e13f9 docs(appium): address appium 1.x uninstallation (#17999)
* docs(appium): address appium 1.x uninstallation

* Update packages/appium/docs/en/guides/migrating-1-to-2.md

Co-authored-by: Jonathan Lipps <jlipps@gmail.com>

Co-authored-by: Jonathan Lipps <jlipps@gmail.com>
2023-01-03 17:50:48 -08:00
Christopher Hiller fe7b7b6d21 chore(base-driver): do not use EmptyObject
I do not trust it
2023-01-03 12:50:53 -08:00
Christopher Hiller 7d7b510a03 feat: create @appium/tsconfig
For the TypeDoc plugin to correctly pull information from `@appium/types` and `@appium/base-driver`, they both need `tsconfig.json` files.

They currently _have_ `tsconfig.json` files, but they extend base configs in the monorepo root, which is problematic.  Moving the configs into a package seems reasonable.  Further, all packages must publish `tsconfig.json`.  There's precedent for publishing a `tsconfig.json` this way.

FWIW the `paths` and `references` fields in the `tsconfig.json` files seem to be ignored by TypeDoc, so we can get away with this.
2023-01-03 12:50:53 -08:00
Christopher Hiller 63d8f2ca2d chore(typedoc-plugin-appium): better sorting, refactors
trying to make some things less opaque.  maybe failed
2023-01-03 12:50:53 -08:00
Christopher Hiller 8b33414901 feat(typedoc-appium-plugin): implement cross-referencing of methods
This is getting pretty close, but:

- Commands from a driver will show even w/o a `newMethodMap` or `execMethodMap`; it is able to understand that it's overriding `BaseDriver`
- It's also able to understand the associated routes
- And it's able to understand the routes even if `BaseDriver` does not implement it

Still working on the parameters display, but we have the name override working at least.

Added some docstrings in `fake-driver`, `base-driver` for testing
2023-01-03 12:50:53 -08:00
renovate[bot] 949719811a chore(deps): update dependency husky to v8.0.3 2023-01-03 13:53:07 +00:00
renovate[bot] 47ec6af185 chore(deps): update dependency eslint-config-prettier to v8.6.0 2023-01-03 10:07:18 +00:00
Dor Blayzer 9ee40374f5 docs: Remove travis CI build status in appium-doctor (#17964)
* docs: update build status link

Since June 15th, 2021, the building on travis-ci.org is ceased. Please use travis-ci.com from now on.

* docs: Fix broken link

* docs: Remove Travis CI build status
2023-01-02 13:48:46 -08:00
Kazuaki Matsuo e9042b85d9 docs(appium): add ja resources more (#18001)
* docs(appium): add more JP resources

* docs: tweak

* docs: add ja more
2023-01-02 10:32:53 -08:00
renovate[bot] 7bb4e07d68 fix(support): update dependency klaw to v4.1.0 2022-12-31 18:47:53 +00:00
renovate[bot] 098ee1932d chore(deps): update dependency eslint to v8.31.0 2022-12-31 15:30:43 +00:00
renovate[bot] 7c59380e6b fix(execute-driver-plugin): update dependency webdriverio to v7.29.1 2022-12-31 12:40:01 +00:00
renovate[bot] b763880779 fix(appium): update dependency yaml to v2.2.1 2022-12-30 14:23:56 +00:00
renovate[bot] a3fad3ed28 fix(execute-driver-plugin): update dependency webdriverio to v7.29.0 2022-12-30 12:01:46 +00:00
renovate[bot] 6055f162d8 fix(types): update dependency @types/ws to v8.5.4 2022-12-30 09:11:50 +00:00
renovate[bot] 5291ca672b fix(support): update dependency axios to v1.2.2 2022-12-29 11:18:58 +00:00
Jonathan Lipps 23224cf002 fix(appium): inability to find automationName inside appium:options (#17966)
* fix(appium): inability to find automationName inside appium:options

we fixed this before but only fixed it in basedriver's createSession, which is not
actually called by Appium's createSession (though maybe it should be)

* test(base-driver): remove appium:options test
2022-12-28 10:54:39 -08:00