Commit Graph

1058 Commits

Author SHA1 Message Date
renovate[bot] 5565febc9d chore(deps): update dependency typedoc to v0.23.23 2022-12-18 11:41:04 +00:00
renovate[bot] 49a0fe164b chore(deps): update dependency @types/node to v18.11.17 2022-12-18 09:58:38 +00:00
renovate[bot] 94911eb59f chore(deps): update dependency eslint to v8.30.0 2022-12-17 14:13:16 +00:00
renovate[bot] 1b4a41bce9 chore(deps): update dependency @types/node to v18.11.16 2022-12-17 11:20:33 +00:00
renovate[bot] 5d0d4f5a44 fix(test-support): update dependency sinon to v15.0.1 2022-12-16 11:18:48 +00:00
renovate[bot] f81e2e92ef fix(execute-driver-plugin): update dependency webdriverio to v7.28.0 2022-12-16 08:50:11 +00:00
Christopher Hiller 9842e231c5 chore: remove @appium/gulp-plugins
Closes #17907
2022-12-15 16:11:58 -08:00
Christopher Hiller feeaac4713 chore: revert 840a3b4a02
This reverts a workaround which has since been fixed in `sync-monorepo-packages@1.0.2`.
2022-12-15 16:11:48 -08:00
renovate[bot] ad7e2648c1 chore(deps): update dependency sync-monorepo-packages to v1.0.2 2022-12-15 15:07:14 -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
renovate[bot] 172fcb9aff fix(types): update definitelytyped 2022-12-14 13:01:18 +00:00
Jonathan Lipps 840a3b4a02 chore: fix sync-pkgs invocation 2022-12-13 15:57:19 -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] 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] 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
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
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 4dfe1610b5 fix(fake-driver): copy screen.png on build 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 3955f5a156 chore(appium): experimental build via tsc 2022-12-06 11:21:05 -08:00
renovate[bot] 223c784439 chore(deps): update dependency @types/node to v18.11.11 2022-12-06 10:50:35 +00:00
renovate[bot] af8560b625 chore(deps): update dependency sync-monorepo-packages to v1 2022-12-05 11:48:33 -08:00
renovate[bot] 3e99ae185b chore(deps): update dependency lint-staged to v13.1.0 2022-12-05 11:03:10 +00:00
renovate[bot] 91f881410c fix(typedoc-plugin-appium): update dependency typedoc-plugin-markdown to v3.14.0 2022-12-04 16:05:20 +00:00
renovate[bot] cf34e4c17a fix(gulp-plugins): update dependency eslint to v8.29.0 2022-12-04 11:52:28 +00:00
Christopher Hiller 78a4b3488e chore(ci): add commitlint workflow 2022-12-02 15:05:32 -08:00
Christopher Hiller 9d857e429a chore: use commitlint
This adds [commitlint](https://npm.im/@commitlint/cli) to the project which validates commit messages against the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) spec via a preset.

Removed the [pre-commit](https://npm.im/pre-commit) package as it has not been updated in six (6) years; replaced with [husky](https://typicode.github.io/husky/) which is widely-used and full-featured.

Customized commitlint so that it will allow commit messages lines of arbitrary length; this is set to 100 by default, but is not in the specification.  If someone has a good reason that we _shouldn't_ disable that rule, please say something!

Closes #17844
2022-12-02 15:05:32 -08:00
Christopher Hiller a9085927ae chore(typedoc): hide breadcrumbs
- sort/format `typedoc.json`
- run `typedoc` with verbose logs
2022-12-02 12:44:31 -08:00
Christopher Hiller a1dbe6c43e chore!: set engines to minimum Node.js v14.17.0
BREAKING CHANGE: Appium now supports version range `^14.17.0 || ^16.13.0 || >=18.0.0`
2022-12-01 16:38:18 -08:00
renovate[bot] f62db4b26d fix(driver-test-support): update definitelytyped 2022-12-01 09:39:21 +00:00
renovate[bot] 394d1c3e93 chore(): update dependency lerna to v6.1.0 2022-11-30 15:02:02 +00:00
Christopher Hiller 10d1438af7 fix(appium): store path to installed extension
This uses the new v3 version of the manifest schema to add an `installPath` property to every extension in `extensions.yaml`.  This fixes an issue where extensions may not be able to be _instantiated_ within an extension dev environment.
2022-11-29 13:01:55 -08:00
renovate[bot] ebcc1d2150 fix(test-support): update dependency sinon to v15 2022-11-29 12:18:45 -08:00
renovate[bot] 8fd1893f03 chore(): update dependency lerna to v6 2022-11-29 12:18:28 -08:00
renovate[bot] 32557f4bca fix(opencv): update definitelytyped 2022-11-29 10:32:09 +00:00
Christopher Hiller 96e30ad537 fix(types): generate constraints via babel
Because `@appium/base-driver` needs `BASE_DRIVER_CAP_CONSTRAINTS`, we need to build on `prepare`. But we cannot build on `prepare` if the file this var is in needs to be built via `tsc`, because the TS project is built as a whole.  The `prepare` scripts of each package run _before_ the `prepare` script of the monorepo, so the file simply won't be available.

Anyway, that file is now a `.js` file and is compiled via `babel` like the other packages.

Also tweaked `reinstall`/`clean:packages` scripts

# Conflicts:
#	packages/types/lib/index.ts
2022-11-28 17:14:40 -08:00
renovate[bot] 02ad17bce6 fix(gulp-plugins): update dependency @babel/core to v7.20.5 2022-11-28 15:07:05 +00:00
renovate[bot] b0d6adc855 chore(): update dependency lint-staged to v13.0.4 2022-11-25 12:37:50 +00:00
renovate[bot] edb325131b fix(execute-driver-plugin): update dependency webdriverio to v7.27.0 2022-11-24 11:10:20 +00:00
renovate[bot] 9519833f0e chore(): update dependency prettier to v2.8.0 2022-11-23 14:48:31 +00:00
renovate[bot] 2d5281165b chore(): update dependency typedoc to v0.23.21 2022-11-23 13:59:30 +00:00
renovate[bot] e054f58c50 fix(gulp-plugins): update dependency eslint to v8.28.0 2022-11-23 02:11:53 +00:00
Christopher Hiller 3772c90448 fix(appium): address ajv version mismatches 2022-11-22 14:32:10 -08:00
Christopher Hiller b5be1fe93b feat(appium,support): use npm link for local installs
npm may have changed its behavior around installation of packages at local paths, but `npm install /path/to/thing` no longer seems to create a symlink.

the `installPackage()` method in `@appium/support`'s `npm` module now accepts an `installType` option.  if the value is `local` an `npm link` will be performed; otherwise an `npm install` will be performed.

- (appium) reverted some changes I made to a test in `driver.e2e.spec.js`
- `installViaNpm` now wants an `installType` option.  this is required
- removed a redundant script
2022-11-22 14:32:10 -08:00
Christopher Hiller 91333ec013 chore(): update typedoc, add typedoc-plugin-markdown 2022-11-22 14:32:10 -08:00