This adds a new package which consumers having TS sources can use. This does not affect current users of `@appium/eslint-config-appium`.
Due to the nature of TS, it can be a little more bold with fixes (e.g., changing let to const). I changed the following rules from the recommended settings:
no-empty-function: Reduced to a warning. It's likely we want the functions, but perhaps they should not be empty.
no-empty-interface: Disabled; we use these to merge mixin interfaces with driver classes.
no-explicit-any: Disabled; while transitioning from an untyped codebase to a typed one, we still need to use any in places. Eventually these should all be replaced.
no-non-null-assertion: Disabled; This allows us to continue use of the ! operator, which is handy when working with untyped or loosely-typed code (especially in tests).
no-var-requires: Reduced to a warning. Occasionally we may need to use require() instead of import.
Since the configuration extends our shared config, the following rules have been disabled:
import/no-unresolved: The eslint-plugin-import module cannot resolve TS modules.
no-unused-vars: This rule conflicts with typescript-eslint's rule, so it must be disabled per the documentation.
promise/no-native: In our TS-based packages, I haven't needed Bluebird, so it doesn't make sense to require it.
require-await: TS is much more aware of the return values of functions; this is not needed to avoid ambiguity (in TS code).
sometimes (when?) the smoke tests can pack the workspaces before they have actually been built, which will of course cause an error. this adds a prepack script to avoid the problem
removes pack-all script, which I added for reasons
for https://github.com/advisories/GHSA-rc47-6667-2j5j
this override should be removed when upgrading webdriver to v8+. unfortunately "npm audit" is so stupid that it does not understand overrides, so we will see warnings anyway.
anything newer than v4.7.4 fails to ignore an optional arg in `@param {T} [foo]` if `foo` has a default assignment in the function signature. removing the square brackets fixes the issue.
whether or not this is a bug, I am not entirely sure: it is marked as a bug, but it is also not something the TS team is in a hurry to fix, so whatevs.
This provides some tools for extension authors to easily setup and configure their packages to build docs and create documentation via TypeDoc & mkdocs.
The typo caused the `keywords` field in `packages/typedoc-plugin-appium/package.json` to be overwritten. Because of this, the `keywords` field lost the magic keyword that `typedoc` uses to automatically detect a plugin. Thus, `@appium/typedoc-plugin-appium` could not be found, and its specific options caused `typedoc` to fail.
E2E tests are quasi-blocking on merge & release of https://github.com/TypeStrong/typedoc/issues/2130; it is a huge pain to test without this.
- Adds some options to control output
- Rename `CommandsReflection` to `ExtensionReflection` due to poor granular control over the display name
- Rename the custom "kinds"; add kinds for drivers and plugins (which affects display titles)
- Remove namespace from "kinds" for same reason
- Refactors, reformatting
- Rename entry point from `plugin.ts` to `index.ts`
- Update keywords in `package.json` for auto-discovery
- Remove cruft from root `typedoc.json`
- Update `README.md`
- Update peer dependencies; the other plugins must be peer deps or typedoc will be unable to auto-discover them