Commit Graph

677 Commits

Author SHA1 Message Date
Christopher Hiller f6e6d7234e Publish
- appium@2.0.0-beta.41
 - @appium/base-driver@8.6.0
 - @appium/base-plugin@1.10.0
 - @appium/doctor@1.16.23
 - @appium/docutils@0.0.8
 - @appium/eslint-config-appium@6.0.3
 - @appium/execute-driver-plugin@2.0.3
 - @appium/fake-driver@4.0.2
 - @appium/fake-plugin@2.0.4
 - @appium/gulp-plugins@7.0.3
 - @appium/images-plugin@1.3.3
 - @appium/opencv@1.0.10
 - @appium/relaxed-caps-plugin@1.0.0-beta.10
 - @appium/schema@0.0.8
 - @appium/support@2.59.3
 - @appium/test-support@1.4.0
 - @appium/types@0.3.0
 - @appium/universal-xml-plugin@1.0.0-beta.12
2022-07-28 14:34:54 -07:00
renovate[bot] 54908e1cae chore(types): update dependency type-fest to v2.17.0 2022-07-22 16:54:35 +00:00
renovate[bot] ae0ff136f6 chore(docutils): update dependency jsdoc to v3.6.11 2022-07-22 14:30:22 +00:00
renovate[bot] 32b9e50b3c chore(docutils): update dependency jsdoc-plugin-typescript to v2.1.0 2022-07-20 15:12:09 +00:00
renovate[bot] c256e0026b chore(doctor): update dependency appium-adb to v9.10.1 2022-07-19 15:29:26 +00:00
renovate[bot] 27ea226364 chore(): update babel monorepo to v7.18.9 2022-07-19 12:46:13 +00:00
Kazuaki Matsuo e71e4eeecb docs: add ruby (#16857)
* chore: add ruby

* append ruby more

* tweak

* update
2022-07-18 22:03:32 -07:00
Christopher Hiller 4627756c66 test(images-plugin): use appium/test 2022-07-18 15:58:21 -07:00
Christopher Hiller a96f1197a7 test(execute-driver-plugin): use appium/test 2022-07-18 15:58:21 -07:00
Christopher Hiller 5226844468 test(fake-driver): use appium/test 2022-07-18 15:58:21 -07:00
Christopher Hiller 70d88cb86f feat(appium,base-driver,base-plugin,test-support,types): move test fixtures into test-support
- `@appium/test-support` now exports the e2e setup for plugins, and e2e/unit suites for drivers from base-driver.  it also generates declarations.
- `appium` exports this as `appium/test`.
- The `capability.spec.js` unit test for basedriver now avoids spying on the "global" logger, due to test flake.  It now spies directly on the function which calls the global logger. (@mykola_mokhnach)
- removed homebrew ansi-stripping code from `test-support` and replaced with `@colors/colors`
- type fixes and refactors for `@appium/test-support`
- type fixes for `appium`
- simplify `lib/index.js` of `@appium/base-driver`
2022-07-18 15:58:21 -07:00
renovate[bot] f6ac91787d chore(types): update webdriverio monorepo to v7.20.7 2022-07-18 12:07:13 +00:00
Mykola Mokhnach 47867d248d chore(doctor): Remove the obsolete android binary check (#17219) 2022-07-17 11:34:54 +02:00
renovate[bot] 7e461650c9 chore(doctor): update dependency appium-adb to v9.10.0 2022-07-16 17:30:45 +00:00
renovate[bot] 949076c768 chore(images-plugin): update dependency lru-cache to v7.13.1 2022-07-16 15:13:32 +00:00
renovate[bot] 1fe5ec7f69 chore(execute-driver-plugin): update dependency webdriverio to v7.20.6 2022-07-15 21:05:07 +00:00
renovate[bot] f82ba22f31 chore(gulp-plugins): update dependency plugin-error to v2 2022-07-13 13:49:07 -07:00
Christopher Hiller 85c6526909 fix(support): if appium is installed extraneously, do not consider it a dependency
This can happen if someone does something like `npm install --no-save appium`, _or_ if npm changes its shrinkwrap behavior for reasons that cause `appium` to be installed in `$APPIUM_HOME/node_modules` _(cough)_
2022-07-13 13:48:21 -07:00
Christopher Hiller 2a6a056187 fix(appium,support): fix installation problems
Ref: #17073

this change uses --legacy-peer-deps for newer versions of npm to
avoid installation of appium when installing extensions in ~/.appium.  this does not work if the extension contains a shrinkwrap with appium in it, though.
in that case, an extra copy of appium will always be installed.

it creates a symlink, e.g., ~/.appium/node_modules/appium to the currently-running appium, wherever that is.  could not abuse NODE_PATH to do this.

this is rather naive and does not check that the symlink is actually the same as the running appium if it already exists. that might cause some weird problems with multiple installs of appium on the same machine, but if it does, we can fix them as they arise.
2022-07-13 13:48:21 -07:00
renovate[bot] a5700904bc chore(support): update dependency plist to v3.0.6 2022-07-13 14:02:42 +00:00
renovate[bot] efcbfe81d6 chore(images-plugin): update dependency lru-cache to v7.13.0 2022-07-13 11:16:08 +00:00
renovate[bot] 45563d0ef9 chore(appium): update dependency lilconfig to v2.0.6 2022-07-11 10:40:11 +00:00
Christopher Hiller d3f90d5ed6 fix(appium): remove references to js in typescript code
I think, perhaps, having `.ts` files hanging around so that we can make declarations out of them is bad news.  I got this idea from wdio.  Anyway, the TS alias `appium` (often used as `appium/types`) points to the `types` dir -- not the `build/types` dir. It can't point to that, because recursion. That means an import from `../lib/constants` imports from the _ESM_ `../lib/constants`, which apparently is not understandable by the compiler since there is no `.d.ts` flie living there (even if `constants.js` is typed via docstrings, which it is).  I don't know.  It was easier just to do this for now.  At some point later I'll look at using plain `.d.ts` files for this sort of thing, since it seems like it should work.
2022-07-08 13:09:28 -07:00
Christopher Hiller 7c70989f22 chore(base-driver,images-plugin): remove deprecated @types/lru-cache 2022-07-08 13:09:28 -07:00
Christopher Hiller 6fde92052b fix(schema): add missing @types/json-schema dep 2022-07-08 13:09:28 -07:00
Christopher Hiller f9129dfee3 fix(): moved type packages to deps of specific packages
When any package here is consumed as a library, the production deps installed alongside it _must_ also include depenencies related to type information. If these packages _aren't_ included, consumers will not have the requisite declarations installed and will get incomplete type information--at best--or worse; compilation errors.

Putting the onus on the consumer to install these requisite types is both user-hostile _and_ can result in the incorrect versions of type declarations being installed.

To that end, I've moved the various type declaration deps to production deps of the packages in which they are used.  Sometimes this is multiple packages (in the case of, say, `@types/teen_process`).  This results in many types being removed from the monorepo root.  Those that remain are for _dev dependencies only_.  If a packages uses, say, `ws`, but only in its tests, then the types can remain in the monorepo root along with the rest of the common dev deps.

I also saw an unused `supports-color` in `appium` and removed it.
2022-07-08 13:09:28 -07:00
Christopher Hiller 921fb1c382 fix(schema): add json-schema as a production dep 2022-07-08 13:09:28 -07:00
Christopher Hiller a0a6166738 fix(appium,types): include @appium/types in appium
This makes a small handful of fixes related to type consumption:

- `@appium/types` is now a direct dep of `appium`.  Without this, types leveraging `@appium/types`--e.g., `BaseDriver`, which is based on a `Driver` interface defined in `@appium/types`--fail to be understood fully by a consumer (such as an extension).  Extension authors would need to install `@appium/types` as their own dev dependency.  This change makes addition of `@appium/types` unneeded when consuming types exposed by `appium`, `appium/driver`, `appium/support`, etc.
- At this time, consumers will still need to add `@appium/types` if they wish to directly reference types defined in here (such as `W3CCapabilities`).
- In manual testing of the exported types, I found two issues in `appium/lib/schema/arg-spec.js` and `appium/lib/schema/schema.js` which were relative type imports and only worked in the context of the monorepo.  I fixed these.
- `@appium/types` previously re-exported types defined within `axios` (`HTTPMethod`); I just copied and pasted what we needed to avoid the production dependency on `axios`.
- `@types/express`, `@types/npmlog`, `type-fest` and `@wdio/types` were added as production deps to `@appium/types`, as these are needed.  However, these are packages _only_ containing types, unlike `axios`. There's a lesson to be learned here, but I don't know what it is.
2022-07-08 13:09:28 -07:00
Mykola Mokhnach dbc4544b72 fix: Logs format (#17156) 2022-07-08 18:56:17 +02:00
renovate[bot] ca7f2291c8 chore(support): update dependency moment to v2.29.4 2022-07-07 10:43:21 +00:00
ian zhang a20d5523f5 docs(appium): stub out chinese docs system (#17076)
* #16817 2.0 Chinese mkdocs-zh.yml
Rebase the code for mkdocs-zh

* #16817 2.0 Chinese mkdocs-zh.yml
Change the folder from cn to zh as mkdocs required

* #16817 2.0 Chinese mkdocs-zh.yml
Change the relative link from en to zh

* #16817 2.0 Chinese mkdocs-zh.yml
Translate some titles to trigger the build
2022-07-06 12:46:53 -07:00
renovate[bot] 523ebd55be chore(execute-driver-plugin): update dependency vm2 to v3.9.10 2022-07-06 12:12:31 +00:00
renovate[bot] cb36cdd957 chore(doctor): update dependency appium-adb to v9.9.0 2022-07-05 11:32:31 +00:00
renovate[bot] 1e41de4b32 chore(doctor): update dependency appium-adb to v9.8.0 2022-07-04 15:19:55 +00:00
renovate[bot] f8224f2780 chore(appium): update dependency winston to v3.8.1 2022-07-01 14:32:25 +00:00
renovate[bot] f293784b20 chore(images-plugin): update dependency lru-cache to v7.12.0 2022-06-30 15:19:11 +00:00
renovate[bot] c4a1a46df3 chore(): update babel monorepo to v7.18.6 2022-06-28 12:58:59 +00:00
renovate[bot] 863e0dbd4d chore(gulp-plugins): update dependency babel-plugin-source-map-support to v2.2.0 2022-06-27 15:52:09 +00:00
renovate[bot] 2bf673b2a8 chore(appium): update dependency winston to v3.8.0 2022-06-26 15:13:08 +00:00
renovate[bot] e3fb79864d chore(images-plugin): update dependency lru-cache to v7.10.2 2022-06-25 18:14:31 +00:00
renovate[bot] 4e93edf33b chore(base-driver): update dependency async-lock to v1.3.2 2022-06-25 12:10:51 +00:00
renovate[bot] a89e325aec chore(): update webdriverio monorepo 2022-06-25 08:57:58 +00:00
Mykola Mokhnach d2a3adc2e3 fix: Update the way build info is fetched from GitHub (#17078) 2022-06-21 08:05:54 +02:00
Renovate Bot 0f5d3f8c1d chore(gulp-plugins): update babel monorepo to v7.18.5 2022-06-16 17:35:06 +00:00
Jonathan Lipps 2ebf3a18bd docs(appium): add building drivers doc (resolves #16788) 2022-06-15 08:58:31 -07:00
Christopher Hiller 4d454d6c1a test(appium): output correct APPIUM_HOME var 2022-06-13 16:08:17 -07:00
Christopher Hiller 10421fa5ad fix(doctor): actually build bin dir, fix dev script 2022-06-13 16:08:17 -07:00
Christopher Hiller 2bd8b417a4 fix(fake-plugin): add index.js to published package
Restore (?) missing scripts
2022-06-13 16:08:17 -07:00
Christopher Hiller 485239d599 chore(ci): run smoke test in all packages
This uses the [boneskull/nodejs-production-test-action](https://github.com/boneskull/nodejs-production-test-action) GH action to run a smoke test across all packages.

The action does the following:

1. Runs `npm pack` on each package, writing the tarball to a temp dir. This tarball contains the package as a user would `npm install` it.
2. Changes into the temp dir and runs `npm install <tarball>` on each
3. Runs a specified script (in our case, `test:smoke`) in each installed package's dir in `<tmp_dir>/node_modules`

Because `devDependencies` will not be present, this should avoid a class of issues where production deps are miscategorized as dev deps.

The action should probably use a separate temp dir for each--in the case of a dependency being present but only because some other package depends on it--but it's not smart enough to figure out peer dependencies yet.
2022-06-13 16:08:17 -07:00
Christopher Hiller 965752f288 fix(appium): postinstall: never assume local appium if it is being installed globally
In addition, wrap the text to the terminal.  `wrap-ansi` is good b/c it
considers colors/emoji/etc.

Removed unused dep `word-wrap`.

Resolves #17054
2022-06-13 16:05:20 -07:00