Commit Graph

183 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] 27ea226364 chore(): update babel monorepo to v7.18.9 2022-07-19 12:46:13 +00: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] 949076c768 chore(images-plugin): update dependency lru-cache to v7.13.1 2022-07-16 15:13:32 +00:00
renovate[bot] efcbfe81d6 chore(images-plugin): update dependency lru-cache to v7.13.0 2022-07-13 11:16:08 +00:00
Christopher Hiller 7c70989f22 chore(base-driver,images-plugin): remove deprecated @types/lru-cache 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
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] 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
Jonathan Lipps 2ebf3a18bd docs(appium): add building drivers doc (resolves #16788) 2022-06-15 08:58:31 -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
Jonathan Lipps 4cf2cc92d0 Publish
- appium@2.0.0-beta.40
 - @appium/base-driver@8.5.7
 - @appium/base-plugin@1.9.2
 - @appium/doctor@1.16.22
 - @appium/docutils@0.0.7
 - @appium/fake-plugin@2.0.3
 - @appium/support@2.59.2
 - @appium/test-support@1.3.22
2022-06-03 19:08:16 -07:00
Jonathan Lipps 87f4b7c52c Publish
- appium@2.0.0-beta.39
 - @appium/base-driver@8.5.6
2022-06-03 13:03:38 -07:00
Jonathan Lipps eae3efd1d7 fix(base-driver): don't assign log to jwproxy from opts 2022-06-03 12:48:27 -07:00
Jonathan Lipps 62b97417fc Publish
- appium@2.0.0-beta.37
 - @appium/base-driver@8.5.5
 - @appium/base-plugin@1.9.1
 - @appium/doctor@1.16.21
 - @appium/docutils@0.0.6
 - @appium/eslint-config-appium@6.0.2
 - @appium/execute-driver-plugin@2.0.1
 - @appium/fake-driver@4.0.1
 - @appium/fake-plugin@2.0.1
 - @appium/gulp-plugins@7.0.2
 - @appium/images-plugin@1.3.1
 - @appium/opencv@1.0.9
 - @appium/relaxed-caps-plugin@1.0.0-beta.8
 - @appium/schema@0.0.7
 - @appium/support@2.59.1
 - @appium/test-support@1.3.21
 - @appium/types@0.2.5
 - @appium/universal-xml-plugin@1.0.0-beta.10
2022-05-31 16:52:23 -07:00
Jonathan Lipps f6cbfd77eb chore: publish, also set an explicit version for images since it was way off 2022-05-31 16:51:36 -07:00
Jonathan Lipps 5c7af8ee73 Publish
- appium@2.0.0-beta.36
 - @appium/base-driver@8.5.4
 - @appium/base-plugin@1.9.0
 - @appium/doctor@1.16.20
 - @appium/docutils@0.0.5
 - @appium/eslint-config-appium@6.0.1
 - @appium/execute-driver-plugin@2.0.0
 - @appium/fake-driver@4.0.0
 - @appium/fake-plugin@2.0.0
 - @appium/gulp-plugins@7.0.1
 - @appium/images-plugin@1.2.0
 - @appium/opencv@1.0.8
 - @appium/relaxed-caps-plugin@1.0.0-beta.7
 - @appium/schema@0.0.6
 - @appium/support@2.59.0
 - @appium/test-support@1.3.20
 - @appium/types@0.2.4
 - @appium/universal-xml-plugin@1.0.0-beta.9
2022-05-31 16:44:51 -07:00
Christopher Hiller ac8e0e0451 chore(appium,base-driver,base-plugin,doctor,docutils,eslint-config-appium,execute-driver-plugin,fake-driver,fake-plugin,gulp-plugins,images-plugin,opencv,relaxed-caps-plugin,schema,support,test-support,types,universal-xml-plugin): fix engines field 😂 2022-05-31 16:26:43 -07:00
Renovate Bot e5e8f9b874 chore(test-support): update dependency @babel/runtime to v7.18.3 2022-05-26 15:29:43 -07:00
Renovate Bot 4d6c114fe8 chore(gulp-plugins): update babel monorepo to v7.18.2 2022-05-25 14:28:48 +00:00
Renovate Bot 92b17d6c2e chore(gulp-plugins): update babel monorepo to v7.18.0 2022-05-20 14:59:10 -07:00
Renovate Bot cffaa2dcc9 chore(images-plugin): update dependency lru-cache to v7.10.1 2022-05-16 11:53:54 -07:00
Christopher Hiller 3e2c05d8a2 fix(appium): fix extension autoinstall postinstall script
Resolves #16924

Because the `postinstall` script of `appium` needs functions in `@appium/support`, that module must be compiled _before_ its `postinstall` script runs.  Prior to this PR, only the monorepo root would run a `postinstall` script to build the subpackages.  Now, each package has a `prepare` script which runs its own build; this happens prior to any `postinstall`.  This way, the `postinstall` script in `appium` can run successfully.
2022-05-12 14:47:51 -07:00
Christopher Hiller 59b885aa66 chore(base-driver): guard against null sessions if proxy used weirdly 2022-05-12 12:32:57 -07:00
Christopher Hiller 0676cd27c3 chore(appium,support,opencv,docutils): assorted type fixes
- Some types in `appium` were renamed
- Others avoid errors
- Some are minor tweaks to `tsconfig.json` files

# Conflicts:
#	packages/appium/lib/extension/extension-config.js
#	packages/appium/types/extension-manifest.ts
#	packages/appium/types/extension.ts
#	packages/base-driver/lib/jsonwp-proxy/proxy.js
#	packages/support/lib/logging.js
#	packages/support/test/unit/logger/logger-force.spec.js
2022-05-12 12:32:57 -07:00
Christopher Hiller e5b21b5674 chore(base-driver): enable type checks
and a bunch of associated fixes

# Conflicts:
#	packages/base-driver/lib/basedriver/core.js
#	packages/base-driver/lib/basedriver/desired-caps.js
#	packages/base-driver/lib/basedriver/helpers.js
#	packages/base-driver/lib/express/server.js
2022-05-12 12:32:57 -07:00
Christopher Hiller 133db5355f chore: reformat everything
this reformats all `.js`, `.ts`, and `.d.ts` files.
2022-05-09 19:09:50 -07:00
renovate[bot] 3d2db4538e chore(images-plugin): update dependency lru-cache to v7.9.0 (#16780)
* chore(images-plugin): update dependency lru-cache to v7.9.0

* Update cache properties

* Only set max size

* Set max cache size

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Mykola Mokhnach <mokhnach@gmail.com>
2022-05-07 15:39:15 +02:00
Jonathan Lipps 5482c921bc Publish
- appium@2.0.0-beta.34
 - @appium/base-driver@8.5.3
 - @appium/base-plugin@1.8.5
 - @appium/doctor@1.16.18
 - @appium/docutils@0.0.4
 - @appium/eslint-config-appium@5.1.0
 - @appium/execute-driver-plugin@1.0.5
 - @appium/fake-driver@3.2.13
 - @appium/fake-plugin@1.3.4
 - @appium/gulp-plugins@6.0.9
 - @appium/images-plugin@1.1.10
 - @appium/relaxed-caps-plugin@1.0.0-beta.6
 - @appium/support@2.58.0
 - @appium/test-support@1.3.19
 - @appium/types@0.2.3
 - @appium/universal-xml-plugin@1.0.0-beta.8
2022-05-02 14:47:10 -07:00
Renovate Bot f1b36cc7c5 chore(support): update dependency axios to v0.27.2 2022-04-30 18:00:05 +00:00
Renovate Bot 2e7c1bb46e chore(base-driver): update dependency express to v4.18.1 2022-04-30 11:05:43 +00:00
Renovate Bot fdee8701a6 chore(base-driver): update dependency express to v4.18.0 2022-04-26 14:27:32 +00:00
Christopher Hiller 39aab21aef chore: "lerna link convert"; replace siblings with relative "file:" links
This is a "fix" but only for the dev environment.

Further:

- add install of `mjpeg-consumer` to CI, since it may have disappeared from the environment
- remove `overrides` from `@appium/support`'s `package.json` since it no longer seems needed
2022-04-25 14:37:28 -07: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
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
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
2022-04-20 13:23:24 -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
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 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 882a5f4d5e chore: unify test setup fixture
Moved the stuff in `test/setup-babel` into `test/setup` and then removed some cruft in the `test:*` scripts of each package referencing `test/setup-babel`
2022-04-14 14:30:00 -07:00
Christopher Hiller 5b54017054 chore: relocated plugins
- left some necessary config in packages/plugins-temp which will get removed after full integration

# Conflicts:
#	packages/appium-plugins/.github/workflows/main.yml
#	packages/appium-plugins/packages/base/package-lock.json
#	packages/appium-plugins/packages/base/package.json
#	packages/appium-plugins/packages/fake/package-lock.json
#	packages/appium-plugins/packages/images/package-lock.json
#	packages/appium-plugins/packages/images/package.json
#	packages/appium-plugins/packages/relaxed-caps/package-lock.json
#	packages/appium-plugins/packages/relaxed-caps/package.json
#	packages/appium-plugins/packages/universal-xml/package-lock.json
#	packages/fake-plugin/lib/logger.js
#	packages/fake-plugin/lib/scripts/fake-error.js
#	packages/fake-plugin/lib/scripts/fake-success.js
#	packages/fake-plugin/package.json
#	packages/universal-xml-plugin/package.json
2022-04-14 14:30:00 -07:00
Mykola Mokhnach cad6272f6b chore(base-driver): Update the deprecated 'del' method name (#16765) 2022-04-13 21:30:54 +02:00
Mykola Mokhnach 78a46375ae feat(base-driver): Add a route for new window creation (#16748)
* feat(base-driver): Add a route for new window creation

* Update param name

* Update types
2022-04-12 14:51:16 -07:00
Jonathan Lipps 319f7289e7 Publish
- appium@2.0.0-beta.30
 - @appium/base-driver@8.4.2
 - @appium/doctor@1.16.14
 - @appium/eslint-config-appium@5.0.4
 - @appium/fake-driver@3.2.9
 - @appium/gulp-plugins@6.0.5
 - @appium/opencv@1.0.4
 - @appium/schema@0.0.2
 - @appium/support@2.57.1
 - @appium/test-support@1.3.15
 - @appium/types@0.1.1
2022-04-12 09:11:41 -07:00
Jonathan Lipps 0f32dad275 Publish
- appium@2.0.0-beta.29
 - @appium/base-driver@8.4.1
 - @appium/doctor@1.16.13
 - @appium/fake-driver@3.2.8
 - @appium/gulp-plugins@6.0.4
2022-04-12 08:49:03 -07:00
Mykola Mokhnach 46b7df3f77 chore(base-driver): Only parse session id when necessary 2022-04-11 08:24:55 +02:00