* feat(base-driver): add type definition for optional commands
* update type definition
* reuse Rect in Size, Position type
* fix: actions is unwrapped
- `base-driver` gets a new `helpers` module with a `getTestPort` function; this is now used throughout the tests
- `fake-driver` can't use random ports because it depends on `appium-base-driver`'s test suite, and that is _not_ the current appium-2.0-compatible `@appium/base-driver`
This PR makes `chai` and `should()` _globals_ when using Mocha:
- `chai` is configured with `chai-as-promised`
- A `.mocharc.js` requires `./test/setup.js` _from the monorepo root_.
- Updated the ESLint config to recognize the globals.
- Updated Wallaby config
All instances of `import chai...` and the like have been removed from all test files.
Just a bunch of random (mostly path-related) fixes.
## Monorepo
- Make `npm run clean` work cross-platform
- Sort root `package.json`
- Update Babel configs to suppress warning about `@babel/plugin-proposal-private-property-in-object`
- Add `.nyc_output` and `*.lerna_backup` to `.gitignore`
- Replace references to `appium-support`
- Sync `package.json` fields
- Add a [Wallaby](https://wallabyjs.com) configuration file
## appium
- `lib/config`: `package.json` resolution
- split some tests out of `config-specs.js` and into `config-e2e-specs.js` since they are very clearly not unit tests
- Improve `PROJECT_ROOT` resolution, which is still a hack
- Copy fixtures & fix paths to fixtures in tests
## @appium/base-driver
- `lib/basedriver/driver`: `package.json` resolution
- Fix broken tests when run in isolation (`chai.should()`)
## @appium/doctor
- `lib/doctor`: `package.json` resolution
- `lib/utils`: `package.json` resolution & exposed `resetLog()` which undoes what `configureBinaryLog()` does (for testing purposes)
- `utils-specs.js`: clean up after `onLogMessage` test
- copy fixtures into `build` upon transpile
- Upgrade `@appium/gulp-plugins`
## @appium/gulp-plugins
- Ensure `postTranspile` is run when `transpile` is run before tests
- Fix `.babelrc` like `babel.config.json`
## @appium/support
- Fixture resolution
- Fix broken tests when run in isolation (`chai-as-promised`)
- Copy fixtures when transpiling
* feat: add ability for drivers and plugins to recieve cli args
* chore: fix typo
* fix: make changes based on feedback
* feat: remove driver-specific server args from appium
* fix: resolve merge conflict
* fix: make changes based on feedback
* feat: add support for driver cli args in base driver
* feat: add support for testing driver args in fake-driver
* refactor: remove support for -custom locator strategy(should be handled by plugins instead)
* fix: makes changes based on feedback
* fix: remove outdated/unused args
* fix: fix docs
* fix: make changes based on feedback
* fix: make changes based on feedback
* fix: make changes based on feedback
* fix: make changes based on feedback
* fix: make tests pass
* test: tests are passing locally but not in CI, try something different to get them to pass
* test: try uninstalling fake-driver and reinstalling fake driver from packages
* fix: revert driver-e2e-specs.js and update node.js.yml
* fix: update package.json
* fix: add special case to npm
* fix: add todo
* fix: how relative paths are resolved in linkPackage