Commit Graph

9426 Commits

Author SHA1 Message Date
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
renovate[bot] 223c784439 chore(deps): update dependency @types/node to v18.11.11 2022-12-06 10:50:35 +00:00
Christopher Hiller 406acc185e chore: do not format .ts.map files 2022-12-05 15:31:24 -08:00
renovate[bot] 062090ed91 fix(support): update dependency @types/uuid to v9 2022-12-05 11:48:44 -08:00
renovate[bot] af8560b625 chore(deps): update dependency sync-monorepo-packages to v1 2022-12-05 11:48:33 -08:00
Christopher Hiller 88defdf0fe chore: improve package-lock.json merging
So what this does is treats `package-lock.json` as a text file _except_ when attempting to merge. The result will be that if `package-lock.json` is in a conflicted state, it will not contain conflict markers within the file itself like a regular text file would; it will only have the "conflicted" flag set by git.  This means that to resolve a conflict in `package-lock.json` going forward, all one needs to do is run `npm install && git add -A package-lock.json`, as `npm` will fix `package-lock.json` itself.  In theory.
2022-12-05 11:48:04 -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] 3bf9358291 fix(typedoc-plugin-appium): update dependency type-fest to v3.3.0 2022-12-04 13:37:36 +00:00
renovate[bot] cf34e4c17a fix(gulp-plugins): update dependency eslint to v8.29.0 2022-12-04 11:52:28 +00:00
renovate[bot] 2f53e9a34a chore(docutils): update dependency mkdocs-material-extensions to v1.1.1 2022-12-04 09:55:19 +00:00
renovate[bot] 91e60fdbbd chore(docutils): update dependency mkdocs-material to v8.5.11 2022-12-03 17:29:23 +00:00
renovate[bot] 8a285cdece fix(doctor): update dependency appium-adb to v9.10.18 2022-12-03 14:38:39 +00:00
renovate[bot] d888093057 chore(docutils): update dependency mkdocs-material to v8.2.16 2022-12-03 13:02:23 +00:00
renovate[bot] f6aad9cd9b chore(docutils): update dependency mkdocs to v1.4.2 2022-12-03 10:29:02 +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
renovate[bot] b297bb8891 fix(support): update dependency klaw to v4 2022-12-02 14:03:02 -08:00
renovate[bot] 68778ca5c5 fix(support): update dependency npmlog to v7 2022-12-02 14:02:53 -08:00
Christopher Hiller f3f63f52ab chore(typedoc-plugin-appium): remove jsx cruft from tsconfig 2022-12-02 12:44:31 -08:00
Christopher Hiller 10673f95dd chore(typedoc-plugin-appium): eliminate loop 2022-12-02 12:44:31 -08:00
Christopher Hiller 73299a0026 fix(typedoc-plugin-appium): fix external driver conversion
also rename template
2022-12-02 12:44:31 -08:00
Christopher Hiller 8f8e23af45 chore(typedoc-plugin-appium): rename "Routes" to "Commands" in template 2022-12-02 12:44:31 -08:00
Christopher Hiller 5333318e59 docs(docutils): add stub section about use in extensions
Co-authored-by: Jonathan Lipps <jlipps@gmail.com>
2022-12-02 12:44:31 -08:00
Christopher Hiller bd7cee18f8 docs(docutils): update subheading
Co-authored-by: Jonathan Lipps <jlipps@gmail.com>
2022-12-02 12:44:31 -08:00
Christopher Hiller 89e694481a docs(appium): rename nav item "Reference"
Co-authored-by: Jonathan Lipps <jlipps@gmail.com>
2022-12-02 12:44:31 -08:00
Christopher Hiller 215c3977ef chore(typedoc-plugin-appium): fix intra-module links; eliminate a loop in builder 2022-12-02 12:44:31 -08:00
Christopher Hiller 3245ede564 chore(typedoc-plugin-appium): a load of cleanup 2022-12-02 12:44:31 -08:00
Christopher Hiller d9f7a33664 chore(typedoc-plugin-appium): fix smoke test 2022-12-02 12:44:31 -08:00
Christopher Hiller 3bfb4671a9 chore(typedoc-plugin-appium): refactors for peer review 2022-12-02 12:44:31 -08:00
Christopher Hiller 346556557c chore(appium,docutils): proof-of-concept for use with mkdocs 2022-12-02 12:44:31 -08:00
Christopher Hiller 072dc9cdd8 chore(typedoc): mostly comments
also made some control flow nicer
2022-12-02 12:44:31 -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