Commit Graph

886 Commits

Author SHA1 Message Date
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 8feb8bb442 chore(): update dependency lint-staged to v12.4.3 2022-05-31 12:46:39 +00:00
Renovate Bot 81ff2a3082 chore(): update dependency ws to v8.7.0 2022-05-27 11:08:45 +00: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 a33416dd52 chore(): update dependency typescript to v4.7.2 2022-05-26 15:29:12 -07:00
Christopher Hiller 6b224f545f feat(appium,support): extension check improvements
This PR changes a few things:

- Extension problems are now displayed correctly at `appium server` startup.  This was done by changing the default `npmlog` level, then reesetting it to `silent` when `winston` takes over (in `logsink.init()`)
- Extension problems are also displayed at install time.
- Improved performance of `appium <driver|plugin> install` in many cases by actually checking if the thing is installed _before_ installing it.
- `ExtensionCommand` uses a new console logging mechanism (`console` in `@appium/support`) tailored to CLI usage, since it is intended to be run via the CLI.  Using this, we handle the result of extension checks both at server runtime and during CLI tool usage in the appropriate manner.  The implementation is just a dumb wrapper around `console.log` and should eventually be removed when we revisit the logging architecture.
- Separated extension checks further into "errors" ("Problems") and "warnings".  As these demand distinct log levels, `ExtensionConfig` no longer accepts a `logFn` in its constructor (since this restricted to a single level ("error"))
- Generally improved specificity, helpfulness, and reduced extraneous verbosity (like this sentence) of warnings
- Removed `strip-colors`, as this functionality is present in `@colors/colors`.  The E2E test helper now automatically strips colors from child processes.
- More tests
- Change `e2e-helpers` to use `CliConsole` for command logging output during tests
- Change the "uninstall" command to use `npm uninstall`, since `rm -rf` will hose `node_modules` if the current project has a dependency on `appium` (in other words, if they are otherwise using a package manager to manage extensions).  This is slower but safer.
2022-05-26 12:07:17 -07:00
Renovate Bot 3316ba65ef chore(): update dependency type-fest to v2.13.0 2022-05-25 20:37:45 +00:00
Renovate Bot 4d6c114fe8 chore(gulp-plugins): update babel monorepo to v7.18.2 2022-05-25 14:28:48 +00:00
Renovate Bot cf7a133cc6 chore(): update dependency lint-staged to v12.4.2 2022-05-25 11:57:29 +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 45285429d6 chore(gulp-plugins): update babel monorepo to v7.17.12 2022-05-17 21:31:08 +00:00
Renovate Bot db2a4fe60b chore(): update dependency @types/node to v16.11.36 2022-05-17 11:21:50 +00:00
Renovate Bot cffaa2dcc9 chore(images-plugin): update dependency lru-cache to v7.10.1 2022-05-16 11:53:54 -07:00
Renovate Bot b359f29df5 chore(): update dependency @types/node to v16.11.35 2022-05-13 13:02:20 +00:00
Christopher Hiller 5f28ce81df chore(appium): renamed postinstall.js to autoinstall-extensions.js
...just so we're clear about what it does.  Added some more explanation
in docstrings.
2022-05-12 14:47:51 -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 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
Renovate Bot a1dff640b1 chore(test-support): update dependency sinon to v14 2022-05-10 17:55:55 -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 8f926e9bc0 chore(execute-driver-plugin): update dependency webdriverio to v7.19.7 2022-05-04 11:52:40 +00:00
Christopher Hiller 878bb6a44f feat(eslint-config-appium,gulp-plugins): add prettier
BREAKING CHANGE:

`@appium/eslint-config-appium` now requires peer dependency `eslint-config-prettier`.  Because `@appium/gulp-plugins` always uses the latest development version of `@appium/eslint-config-appium`, the dependency needs to be added there, too.

In addition, this disables some rules, so _may_ cause code which previously passed lint checks _not_ to pass lint checks.
2022-05-03 14:57:14 -07:00
Christopher Hiller c2753107c6 test(appium): e2e helpers now log executed child process commands 2022-05-03 13:12:31 -07:00
Renovate Bot 8caf18f542 chore(gulp-plugins): update dependency mocha to v10 2022-05-03 12:21:06 -07:00
Christopher Hiller 93e05a8269 fix(eslint-config-appium): revert prettier-related change
This reverts commits b34b75a80e,  88a6655253 and d89203f96c which, as a whole, was breaking.

This will fix the publish of v5.1.0, which should have been a major release.

After v5.1.1 has been released, this PR should be reverted in prep for v6.
2022-05-03 12:19:13 -07:00
Renovate Bot 38b4fa2bad chore(): update dependency ws to v8.6.0 2022-05-02 15:21:36 +00:00
Renovate Bot 67dacd87cf chore(gulp-plugins): update dependency @types/node to v16.11.33 2022-05-02 12:44:16 +00:00
Renovate Bot ec1b95b96c chore(): update dependency chai-webdriverio-async to v2.7.0 2022-04-30 15:20:46 +00:00
Renovate Bot bbce027f34 chore(): update babel monorepo to v7.17.10 2022-04-30 13:07:26 +00:00
Renovate Bot 9df8c08b09 chore(gulp-plugins): update dependency @types/node to v16.11.32 2022-04-29 15:35:36 +00:00
Renovate Bot a67ba79dba chore(): update dependency typescript to v4.6.4 2022-04-29 12:39:18 +00:00
Renovate Bot de5a96fb08 chore(gulp-plugins): update dependency @types/node to v16.11.31 2022-04-28 16:45:19 +00:00
Renovate Bot e49ab6d343 chore(): update dependency lint-staged to v12.4.1 2022-04-27 13:49:29 +00:00
Renovate Bot 2e8e7a5d65 chore(gulp-plugins): update dependency @types/node to v16.11.29 2022-04-26 12:08:33 +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
Renovate Bot b957123401 chore(gulp-plugins): update dependency @types/node to v16.11.28 2022-04-25 12:01:35 +00:00
Christopher Hiller b34b75a80e chore: add prettier
As a pre-commit hook, `.js` files will be run thru `eslint --fix` and rewritten using `prettier`.
Added `eslint-config-prettier` to disable rules incompatible with `prettier`.
2022-04-22 15:56:35 -07:00
Renovate Bot c5787f7cf0 chore(gulp-plugins): update dependency @types/mocha to v9.1.1 2022-04-22 10:19:17 +00:00
Renovate Bot 00f38df09a chore(): update dependency lint-staged to v12.4.0 2022-04-21 16:50:38 +00:00
Renovate Bot e9e2f8d42a chore(): update dependency sync-monorepo-packages to v0.3.5 2022-04-19 14:24:18 +00: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 4f43eb8f03 docs(appium): move from jsdoc to mkdocs and create docutils package 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 ad00a2c1b6 chore(test-support): update dependency sinon to v13.0.2 2022-04-17 13:21:58 +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 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
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 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
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
Christopher Hiller 60d916e6d0 chore: fix clean scripts
note that `clean:distfiles` only cleans generated .js files, `clean:types` only cleans generated types/maps, and `clean:artifacts` does both but then deletes the build dirs just in case. clean happens in correct order now
2022-04-14 14:29:15 -07:00