Commit Graph

10153 Commits

Author SHA1 Message Date
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
Christopher Hiller d958115029 chore(types): tweak/organize imports 2022-12-02 12:44:31 -08:00
Christopher Hiller f1773a8a8b chore(typedoc-plugin-appium): try to make a few things more clear
response to PR review

- "ref" is not used as a suffix in any vars. if it's a reflection its usually ending in "refl", or if it's just data, it ends in "data"
- short-circuited deep loop(s)
- many more types and type guards to attempt to simplify the crawling of reflections for data
2022-12-02 12:44:31 -08:00
Christopher Hiller be7a479b4b feat(typedoc-plugin-appium): create appium typedoc plugin
This is a typedoc plugin based on `typedoc-plugin-markdown`.

It outputs everything that plugin outputs _plus_ it outputs information about commands (API endpoints) as defined in drivers, plugins, and the builtins in `@appium/base-driver`

It's written in TS because that was the easiest way, because a) there was some sort of disagreement between Babel and TS re: exports, and b) everything it's built on is written in TS.
2022-12-02 12:44:31 -08:00
Christopher Hiller 8886b8ef23 chore(renovate): fix typo 2022-12-02 11:16:13 -08:00
renovate[bot] 2a42ccd110 fix(support): update dependency which to v3 2022-12-01 16:41:24 -08:00
Christopher Hiller 3eba685e25 chore(deps): upgrade sync-monorepo-packages to v1.0.0
This also means we can remove `packages` from `lerna.json`
2022-12-01 16:38:18 -08:00
Christopher Hiller 0db4b2e75d docs(intro): update requirements doc 2022-12-01 16:38:18 -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
Christopher Hiller 19b0684d76 chore(renovate): update semantic commit behavior
The current intended behavior (to use the "parent dir") as the scope is often or always broken.  An empty scope within parens is actually an invalid conventional commit message.  So instead of `chore():` it will be `chore:`.

We could instead pick a scope (like `deps` or something) but figured it was not important enough to do.
2022-12-01 16:38:10 -08:00
Christopher Hiller a46d86a4cc chore(renovate): move schedule away from shared config
The schedule is helpful in the context of a larger monorepo like Appium, but not so much in the context of a standalone package which consumes the shared config.
2022-12-01 11:58:49 -08:00
renovate[bot] f62db4b26d fix(driver-test-support): update definitelytyped 2022-12-01 09:39:21 +00:00
Christopher Hiller 673a4cf965 chore: format JSON files w/ prettier
JSON file formatting should be fair game, but we do not want Prettier messing with `package.json` or `package-lock.json` because I do not trust it
2022-11-30 13:04:15 -08:00
Christopher Hiller 5a4b66b82d chore: add .editorconfig
Many programs (IDEs, editors, eslint, prettier) respect editorconfig files; useful to have around
2022-11-30 13:04:15 -08:00
renovate[bot] 394d1c3e93 chore(): update dependency lerna to v6.1.0 2022-11-30 15:02:02 +00:00
renovate[bot] 3e815d2a35 fix(doctor): update dependency appium-adb to v9.10.17 2022-11-30 11:17:42 +00:00
Kazuaki Matsuo 08fc7a0577 docs(appium): add Japanese resource [skip ci] (#17803)
* append the initial jp resource

* update a few

* comment out

* add for translations

* update the index

* add <br> to void unnecessary space by GitHub

* remove new line to void unnecessary space by GitHub

* tweak translations

* tweak

* add a few in intro/index.md
2022-11-29 22:44:21 -08:00
Christopher Hiller 3b1156eb22 chore(): fix lerna config for v6 2022-11-29 15:32:46 -08:00
Christopher Hiller 6d514c54b3 fix(appium): fix problematic ExtManifestWithSchema type
This type was having trouble due to a potential bug in `type-fest`

Also fixed an issue with an unused variable
2022-11-29 13:01:55 -08:00
Christopher Hiller cf680e15b5 chore(): stop streaming lerna output
this will make test output easier to read
2022-11-29 13:01:55 -08:00
Christopher Hiller 13df5c74e0 feat(appium): implement schema migrations
This adds a module `lib/extension/manifest-migrations` which contains functions that migrate `extension.yaml` files to new versions.

- constant `CONFIG_SCHEMA_REV` renamed to `CURRENT_SCHEMA_REV` and moved into `constants` module
- removes references to removed `PluginRecord` and `DriverRecord` types
- `ExtensionFields` is now `ExtInstallReceipt`
- renamed private fields in `Manifest`; see L365-385 for logic changes
- updated test code
2022-11-29 13:01:55 -08: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
Christopher Hiller 209236023d feat(types): add declarations for versioned manifest files and their types
Contains information on how to increment the schema revision
2022-11-29 13:01:55 -08:00
Christopher Hiller 14d6cb1600 chore(support): return installation path from npm.installPackage() in addition to package.json
This is a breaking change if someone is actually using the `npm` module out of `@appium/support`.  Personally, I'm gonna go with "no"

The signature of `installPackage()` has changed from returning a parsed `package.json` to returning an `NpmInstallReceipt` object, which contains parsed `package.json` prop `pkg` and `string` prop `installPath`.
2022-11-29 13:01:55 -08:00