Commit Graph

10167 Commits

Author SHA1 Message Date
Christopher Hiller 2462e3b485 chore(types): address some shortcomings of method maps and constraints
This change:

1. Makes both `MethodMap` and `ExecuteMethodMap` considered "read only".  This is not _entirely_ true, as there's a bit of code that munges `ExecuteMethodDef` objects, but it's good enough for usage.
2. They both now accept a generic `D`, which is by default `Driver`.  Since a `Plugin` can also use `newMethodMap`, there's a conditional type here to add everything from `ExternalDriver` only if it's a `Driver`.  This generic allows proper validation of the map itself (command names must exist!)
3. `Constraints` is now also considered `Readonly`, since it is, in practice.
4. `executeMethodMap` is now actually optional
5. Renamed `Method` to `MethodDef` for consistency

looks like some formatting happened too
2022-11-22 14:32:10 -08:00
Christopher Hiller f715bb4fd8 chore(base-driver,base-plugin,execute-driver-plugin,fake-driver,fake-plugin,images-plugin): update some types for typedoc 2022-11-22 14:32:10 -08:00
Christopher Hiller 4746080e54 feat(): experimental support for typedoc generation
Run `npm run typedoc` to generate docs in `typedoc-docs` dir.

I thought I'd take a few mins and set this up.  It was _mostly_ straightforward, except:

1. Figuring out the "entry point" for each package was difficult until I realized `.js` entry points are assumed to be compiled, and thus require a `sourceMappingUrl` reference. IMO this is probably a bug in TypeDoc
2. The `sourceMappingUrl` must reference an external sourcemap file; not an inline source map.  If it's an inline source map, the system tries to `fs.open` a large data-url.
3. The babel config does not control whether external sourcemaps are created; `@babel/cli` does. So I needed to change those.
4. Practically speaking, I don't see any drawback to external sourcemaps _yet_
5. TypeDoc has poor support for cross-package type references in monorepos, and I had to add a plugin which implements a workaround
6. Per some suggestions in the docs, I modified the order of references in the root `tsconfig.json` to start with "the biggest one first"

I didn't modify any types or docstrings anywhere.
2022-11-22 14:32:10 -08:00
Jonathan Lipps 3cd722c4b6 wip: add some demos of docstrings to trigger auto command docs gen 2022-11-22 14:32:10 -08:00
renovate[bot] 2a445addff fix(types): update webdriverio monorepo to v7.26.0 2022-11-22 13:34:05 -08:00
renovate[bot] 852f133052 chore(): update dependency midnight-smoker to v1.2.2 2022-11-22 13:32:42 -08:00
renovate[bot] 7fd2428816 chore(): update dependency rewiremock to v3.14.4 2022-11-21 13:03:35 -08:00
renovate[bot] 5a794ce1b6 fix(appium): update dependency ajv to v8.11.2 2022-11-21 12:28:23 -08:00
Kazuaki Matsuo 70d4601b18 docs(appium): address installing a version of a driver (#17799)
* docs(appium): address installing a version of a driver

* Update migrating-1-to-2.md

* add bash in some places
2022-11-21 11:22:13 -08:00
ian zhang 364357249e docs(appium): Update clients.md with .NET examples in zh #17804
Update clients.md with .NET examples
2022-11-20 01:21:45 -08:00
renovate[bot] 70a9c144fc fix(fake-driver): update dependency asyncbox to v2.9.4 2022-11-20 08:46:46 +00:00
Mykola Mokhnach 91901153a1 fix(base-driver): Properly validate capabilities inside appium:options map (#17781) 2022-11-20 08:52:29 +01:00
Christopher Hiller 65c8ed1adc chore(appium): fix various broken tests tests (#17787)
- update flattened schema fixture to match actual schema
- plugin/driver e2e tests were also busted

NOTE: test that checks for a symlink when doing a local install is _not_ passing in CI and I cannot reproduce locally. I have disabled the test for now.
2022-11-18 17:00:28 -08:00
Kazuaki Matsuo e2132fdae3 docs(appium): update client in ecosystem (#17786) 2022-11-17 16:14:24 -08:00
Priyansh Garg 4b504bca48 docs(appium): fix typo on appium ecosystem page. (#17789) 2022-11-17 13:38:17 -08:00
Christopher Hiller 9d3c9a2c2f chore(docutils): remove jsdoc & its ilk
`jsdoc` does not seem to be actually used anywhere.  The only export from `@appium/docutils` I see actually used is `Mike` within the `build-docs` script in `appium/docs`.

referenced by the `jsdoc` config, these have also been removed:
- `docdash`,
- `jsdoc-plugin-typescript`
2022-11-17 10:45:19 -08:00
Christopher Hiller c1bcad994b chore(renovate): group appium updates & other improvements
This PR groups all `@appium/*` packages together, but also:

- Replaces a handrolled config with some official presets
- Updates `README.md` with the correct usage and accurate information
2022-11-17 10:43:00 -08:00
Kazuaki Matsuo 6082118de0 docs(appium): update migration guide more (#17770)
* address wrap with qupte for Win env

* use the comma-delimited string

* Update migrating-1-to-2.md

* Update appium-config-schema.js

* Update migrating-1-to-2.md

* Apply suggestions from code review

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

Co-authored-by: Jonathan Lipps <jlipps@gmail.com>
2022-11-16 17:18:52 -08:00
Dor Blayzer 8f2a9084f6 docs(appium): rename C# repository to 'dotnet-client' (#17760)
* docs: fix .NET repo name in link

* docs: Rename repo in README.MD

* docs: Rename repo in ja/appium-clients.md

* docs: Rename repo in appium/README.MD
2022-11-14 13:36:56 -08:00
ian zhang 997fe5b10f docs(appium): Update migrating-1-to-2 in zh (#17771)
Update migrating-1-to-2
2022-11-14 03:29:48 +09:00
Mykola Mokhnach bce024a721 fix: Handle the case when error message is undefined (#17756) 2022-11-12 09:36:45 +01:00
Kazuaki Matsuo b93c7cf156 docs(images-plugin): remove opencv4nodejs (#17751)
* docs(images-plugin): remove opencv4nodejs

* Update README.md
2022-11-10 18:52:35 -08:00
Kazuaki Matsuo 35fefe3aa6 docs(appium): address extensions.yaml 2022-11-10 14:06:13 -08:00
Christopher Hiller 57904cca57 chore(ci): fix missing line in FOSSA workflow 2022-11-09 10:21:41 -08:00
Jonathan Lipps 22046a15df docs(appium): add log-filters guide 2022-11-09 07:07:22 -08:00
Jonathan Lipps 75dbf872ed docs(appium): add settings api doc 2022-11-08 11:10:24 -08:00
renovate[bot] 01bcbd9f0d fix(test-support): update dependency sinon to v14.0.2 2022-11-08 11:05:54 +00:00
renovate[bot] d5bf721cfa fix(driver-test-support): update dependency chai to v4.3.7 2022-11-08 10:25:38 +00:00
renovate[bot] 6dd508e5da chore(): update definitelytyped 2022-11-08 09:36:57 +00:00
Jonathan Lipps 8b5cb67fd7 docs(appium): add note about appium:options to caps doc 2022-11-07 13:55:27 -08:00
Jonathan Lipps 59b0f1d561 docs(appium): add context api doc 2022-11-07 11:42:05 -08:00
renovate[bot] 334093bfac chore(): update dependency ws to v8.11.0 2022-11-07 09:56:53 +00:00
renovate[bot] e70e672796 fix(gulp-plugins): update dependency eslint to v8.27.0 2022-11-06 10:03:23 +00:00
renovate[bot] b3e8b47089 fix(doctor): update dependency appium-adb to v9.10.16 2022-11-06 09:19:07 +00:00
renovate[bot] f5da9f31a3 fix(types): update dependency type-fest to v3.2.0 2022-11-06 08:41:14 +00:00
renovate[bot] a33e6b0438 fix(universal-xml-plugin): update dependency @xmldom/xmldom to v0.8.6 2022-11-05 12:51:47 +00:00
renovate[bot] 6e3bfb8847 fix(gulp-plugins): update babel monorepo to v7.20.2 2022-11-05 09:36:01 +00:00
renovate[bot] fc1bec327f fix(driver-test-support): update dependency @types/lodash to v4.14.188 2022-11-05 08:51:28 +00:00
Kazuaki Matsuo 881d225605 docs(appium): update the migration guide (#17722)
* docs(appium): append driver installation root

* Update migrating-1-to-2.md
2022-11-04 11:21:55 -07:00
renovate[bot] a95b2e0fe6 fix(gulp-plugins): update dependency yargs to v17.6.2 2022-11-04 08:18:09 +00:00
Jonathan Lipps ece4c61899 docs(appium): add capabilities doc 2022-11-03 15:42:42 -07:00
Christopher Hiller 792e70be83 fix(fake-plugin,support): type fixes for DT upgrade 2022-11-03 14:58:04 -07:00
renovate[bot] 6481a9f04f fix(driver-test-support): update definitelytyped 2022-11-03 14:58:04 -07:00
renovate[bot] ea1b6a3334 fix(gulp-plugins): update dependency yargs to v17.6.1 2022-11-03 09:24:31 +00:00
renovate[bot] 0d7c936b11 fix(images-plugin): update dependency lru-cache to v7.14.1 2022-11-03 08:48:00 +00:00
Christopher Hiller ed4408df22 chore(dependencies): update json-schema-to-typescript to latest
See #17115
2022-11-02 18:39:36 -07:00
Christopher Hiller b3b642778a fix(appium,support): re-enable log-filters
server option `log-filters` is now supported via embedding in Appium config files _or_ via CLI using an external JSON file.

example fixtures included.

Note that the `Rule` type has been replaced with the `LogFilter` type automatically generated from the schema (see previous commit).
2022-11-02 18:39:16 -07:00
Christopher Hiller 09c5901719 fix(schema): add definition for log filters 2022-11-02 18:39:16 -07:00
Christopher Hiller 726a7e10de feat(schema): allow root $schema prop
this allows a config file to reference the config schema for validation via editor/IDE
2022-11-02 18:39:16 -07:00
Christopher Hiller 09def0daa0 chore(): move lint-staged config to config file
this allows us more granular control over what happens on pre-commit.

Configures schema changes to trigger builds
2022-11-02 18:39:16 -07:00