Commit Graph

9508 Commits

Author SHA1 Message Date
renovate[bot] 2cb1af4357 fix(doctor): update dependency appium-adb to v9.10.19 2022-12-15 15:07:08 -08:00
Christopher Hiller 45b6aed22d chore(fossa): fix invalid .fossa.yml "revision" prop 2022-12-15 15:06:59 -08:00
Sarin Suriyakoon 26c84c9361 refactor: add type for driver install 2022-12-15 15:05:21 -08:00
Christopher Hiller ad06a0612f chore(appium): fix E2E test for update functionality
The problem was that after we published a new major of `@appium/fake-driver`, the `updateVersion` field of the response was `null`, but `unsafeUpdateVersion` was populated; the test only used the former.  Now, the test uses `updateVersion` but falls back to `unsafeUpdateVersion`.
2022-12-15 14:43:46 -08:00
Jonathan Lipps fe67e4cb2f feat(appium): add chromium driver to list of officially supported drivers (#17939) 2022-12-14 14:28:53 -08:00
Christopher Hiller fee1c98ee9 chore: run e2e tests in parallel
This change makes Lerna execute E2E tests across two cores.  Some of the slower E2E suites (`appium`, `support`, `opencv` and `base-driver`) also run in parallel via Mocha's `--parallel` flag.

In Appium, the main culprit was `cli.e2e.spec.js`, which I split into four files: `args` (argument handling), `cli-driver` (`driver` command), `cli-plugin` (`plugin` command) and `local` (behavior when Appium is a dependency).  This should run faster (in theory) since Mocha runs tests in parallel _per file_ and will expand to the available cores.

CI has limited cores, so this won't really help there--but it will speed up local development.  When running tests locally, you may see various delays, as Mocha buffers the output of a single test file.

This is a continuation of the work I did in #17252.
2022-12-14 13:28:31 -08:00
Christopher Hiller 9fea6980e5 chore(commitlint): disable DUMB RULES
This disables the rules which:

- require specific capitalization
- disallow the use of periods in subjects
- warn if there's no leading blank line in the commit body

because the above are dumb
2022-12-14 13:27:28 -08:00
renovate[bot] 37f71c327a fix(types): update dependency type-fest to v3.4.0 2022-12-14 14:57:42 +00:00
renovate[bot] 172fcb9aff fix(types): update definitelytyped 2022-12-14 13:01:18 +00:00
renovate[bot] 3993decde4 chore(workflows): update actions/checkout digest to 755da8c 2022-12-14 10:10:32 +00:00
Jonathan Lipps 0823f0b60e chore: publish
- appium@2.0.0-beta.47
 - @appium/base-driver@9.0.0
 - @appium/base-plugin@2.0.0
 - @appium/doctor@2.0.0
 - @appium/docutils@0.1.0
 - @appium/driver-test-support@0.3.0
 - @appium/eslint-config-appium@8.0.0
 - @appium/execute-driver-plugin@3.0.0
 - @appium/fake-driver@5.0.0
 - @appium/fake-plugin@3.0.0
 - @appium/gulp-plugins@8.0.0
 - @appium/images-plugin@2.0.0
 - @appium/opencv@2.0.0
 - @appium/plugin-test-support@0.3.0
 - @appium/relaxed-caps-plugin@1.0.0-beta.14
 - @appium/schema@0.1.0
 - @appium/support@3.0.0
 - @appium/test-support@3.0.0
 - @appium/typedoc-plugin-appium@0.2.0
 - @appium/types@0.6.0
 - @appium/universal-xml-plugin@1.0.0-beta.16
@appium/base-driver@9.0.0 @appium/base-plugin@2.0.0 @appium/doctor@2.0.0 @appium/docutils@0.1.0 @appium/driver-test-support@0.3.0 @appium/eslint-config-appium@8.0.0 @appium/execute-driver-plugin@3.0.0 @appium/fake-driver@5.0.0 @appium/fake-plugin@3.0.0 @appium/gulp-plugins@8.0.0 @appium/images-plugin@2.0.0 @appium/opencv@2.0.0 @appium/plugin-test-support@0.3.0 @appium/relaxed-caps-plugin@1.0.0-beta.14 @appium/schema@0.1.0 @appium/support@3.0.0 @appium/test-support@3.0.0 @appium/typedoc-plugin-appium@0.2.0 @appium/types@0.6.0 @appium/universal-xml-plugin@1.0.0-beta.16 appium@2.0.0-beta.47
2022-12-13 16:10:05 -08:00
Jonathan Lipps 840a3b4a02 chore: fix sync-pkgs invocation 2022-12-13 15:57:19 -08:00
Jonathan Lipps 14fc2d2b24 chore: don't use nx with lerna because of nx cache issues or something 2022-12-13 15:49:17 -08:00
Christopher Hiller 8f4c09c8a7 chore(ci): remove broken commitlint job 2022-12-13 15:35:30 -08:00
Christopher Hiller 8f9b57fbc2 chore(appium): pull output path from typedoc config 2022-12-13 15:35:30 -08:00
Christopher Hiller b959d7a141 chore: use commitlint via npm in pre-commit 2022-12-13 15:35:30 -08:00
Jonathan Lipps 6c61eb8f4e fix(appium): fixup 2022-12-13 15:35:30 -08:00
Jonathan Lipps 2b0b8d8d5d Update packages/appium/docs/scripts/build-reference.js
Co-authored-by: Christopher Hiller <boneskull@boneskull.com>
2022-12-13 15:35:30 -08:00
Jonathan Lipps aeb322fc96 docs(appium): update docs and reference integration 2022-12-13 15:35:30 -08:00
Jonathan Lipps 28876c19f3 fix(base-driver): update type for logExtraCaps 2022-12-13 14:51:49 -08:00
Christopher Hiller 3de553ad3a fix(appium): --show-config shouid only show CLI args if any were used 2022-12-13 12:49:49 -08:00
Christopher Hiller f4d1b817a1 fix(appium): squelch deprecation warning out of argparser 2022-12-13 12:49:49 -08:00
Christopher Hiller 5dcd2e2d30 fix(appium): do not pollute pre-config parsed args with config file & defaults 2022-12-13 12:49:49 -08:00
Christopher Hiller 8ece42e2b3 chore(appium): ensure relaxed-security: true is trivially tested 2022-12-13 12:49:49 -08:00
renovate[bot] 43e0d522db chore(deps): update dependency @types/node to v18.11.14 2022-12-13 13:30:16 +00:00
renovate[bot] cf614b84b6 chore(workflows): update actions/checkout digest to 7dd9e2a 2022-12-13 10:24:20 +00:00
renovate[bot] c787bd6fb5 fix(gulp-plugins): update dependency mocha to v10.2.0 2022-12-12 13:59:50 +00:00
renovate[bot] 664b2b0e18 chore(deps): update dependency typedoc to v0.23.22 2022-12-12 11:01:23 +00:00
renovate[bot] 0c8756b3ce chore(deps): update dependency typedoc-plugin-resolve-crossmodule-references to v0.3.3 2022-12-11 10:52:45 +00:00
renovate[bot] 7fbb4a9162 chore(deps): update dependency @types/node to v18.11.13 2022-12-11 08:57:13 +00:00
renovate[bot] 1029d68b7d fix(execute-driver-plugin): update dependency vm2 to v3.9.13 2022-12-09 23:34:06 +00:00
Christopher Hiller 0c7fb7adeb chore(vscode): fix launch configurations
- Adds a "Run Appium" launch/debug config
- Fixes the "Run Current File" launch/debug config
- Fixes the monorepo's root TS config to handle requiring `ts-node/register` when `mocha` bootstrapped via `node`.  _`node`_ must require `ts-node`; not `mocha`.

Closes #17895
2022-12-09 12:29:51 -08:00
Christopher Hiller f336d45d94 chore(gulp-plugins): fix tests; override mocha and run with babel
`@appium/gulp-plugins` needs babel to run its tests, apparently.
2022-12-09 12:29:51 -08:00
renovate[bot] 3e290ed119 chore(deps): update dependency @types/node to v18.11.12 2022-12-09 11:07:43 +00:00
Christopher Hiller 3b705e4fd0 fix: remove @appium/fake-plugin as a dep of monorepo
Fixes dependency on `@appium/fake-plugin` in the monorepo root, which was resulting in `npm` emitting some errors during various operations (e.g., `npm list`).  This is not needed b/c this module is in the list of workspaces.
2022-12-08 17:29:16 -08:00
Jonathan Lipps 5d60c45cce feat(appium): add easy access to a few more drivers and plugins (#17878) 2022-12-08 11:19:08 -08:00
renovate[bot] 9537cd3e3d chore(deps): update dependency prettier to v2.8.1 2022-12-08 08:25:20 +00:00
renovate[bot] d160e3959e chore(deps): update dependency midnight-smoker to v2 2022-12-07 10:15:41 -08:00
renovate[bot] 37ec2938d6 fix(gulp-plugins): update dependency plugin-error to v2.0.1 2022-12-07 13:09:00 +00:00
renovate[bot] 8db0122555 fix(execute-driver-plugin): update dependency vm2 to v3.9.12 2022-12-07 04:03:43 +00:00
Christopher Hiller d31aaf9916 chore: update TS configuration
This pulls in some recommended settings from `@tsconfig/node14` (a proper TS target configuration for Node.js v14; ours wasn't _wrong_ per se, but this is better) and allows us more flexible use of `ts-node`.  Use of this module is recommended by `ts-node` (which we need to run tests).

`ts-node`'s behavior changes _depending on the directory in which it's run_--and this can cause some really nonsensical bugs--so the changes here ensure that it will act the same regardless of if you're running tests from a package directory or the monorepo root.

Also:

- Ensure various `clean` scripts don't fail if they've been run before `build`
- Enable `strict` mode in `@appium/types` cause we can
- Fix a type issue found in `@appium/support`; this does not appear to have been a traditional bug but rather a type disagreement surfaced by the new config

# Conflicts:
#	package-lock.json
#	packages/typedoc-plugin-appium/tsconfig.json
2022-12-06 18:08:15 -08:00
Christopher Hiller 44283b4c4e chore(appium,docutils,ci): remove doc gen from CI
What used to be the `generate-docs` script no longer works, since the `commands-yml` directory no longer exists.

Unclear to me what should be done here at this point, but it makes the "build command documentation" job pointless.
2022-12-06 11:21:05 -08:00
Christopher Hiller 4dfe1610b5 fix(fake-driver): copy screen.png on build 2022-12-06 11:21:05 -08:00
Christopher Hiller 7247708050 chore(ci): remove old script from CI 2022-12-06 11:21:05 -08:00
Christopher Hiller 28adee66a4 chore: increase default test timeout in CI 2022-12-06 11:21:05 -08:00
Christopher Hiller 3c32112c20 chore: use tsc for compilation across the board
- `@appium/gulp-plugins` does not use `tsc` and continues to use...whatever it uses.
- `@appium/doctor` now has generated declarations, though I didn't bother to do anything with the types
- rewrote swaths of build scripts:
  - removed the `fix` and `lint` scripts from each workspace (package) since I don't think they get used and they are of limited value
  - for tests and autoinstallation of extensions, added `ts-node` for on-the-fly compilation
  - workspaces _can_ define their own `build` and `clean` scripts (both should be required if either is used).  these do not currently get run when running `npm run dev`, but they do occur on a bare `npm install` from the monorepo root or a `npm run reinstall`.
  - `npm run rebuild` does a fresh rebuild, but does not clean any `node_modules` dirs nor does it reinstall anything.
  - removed `prepublishOnly` since `preversion` does the same thing
  - `npm test` now runs `build`/`lint` in parallel
- postinstall script of `appium` ("autoinstall") script now must call `npm run build` if in a fresh dev environment. this is because a) lifecycle scripts of packages run before lifecycle scripts in the monorepo root, and b) `postinstall` runs before `prepare`. so there's really no way around it; even using `ts-node` fails because other modules depend on `@appium/support/index.js` which expects the pkg to be built.

Closes #17746
Closes #17807
2022-12-06 11:21:05 -08:00
Christopher Hiller faa92e2bb1 chore: use foreground-scripts=true in .npmrc
this will give more visibility into what is happening during install
2022-12-06 11:21:05 -08:00
Christopher Hiller a7f5f1ec33 fix(build): set target to ES2020
As per https://kangax.github.io/compat-table/es2016plus/ our soon-to-be-target lowest platform (Node.js v14.17.0) supports ES2020 in full.  Except tail call optimization, because reasons
2022-12-06 11:21:05 -08:00
Christopher Hiller 3955f5a156 chore(appium): experimental build via tsc 2022-12-06 11:21:05 -08:00
renovate[bot] 07d6ef6b8c fix(support): update dependency axios to v1.2.1 2022-12-06 14:04:30 +00:00