Commit Graph

8881 Commits

Author SHA1 Message Date
Mykola Mokhnach 46b7df3f77 chore(base-driver): Only parse session id when necessary 2022-04-11 08:24:55 +02:00
Mykola Mokhnach ad3b4b2c96 fix(base-driver): isErrorType import 2022-04-11 08:16:42 +02:00
Mykola Mokhnach 5d2156a06b fix(base-driver): Make sure proxyReqRes helper never throws any exceptions (#16742) 2022-04-11 07:59:30 +02:00
Renovate Bot 67c2c3b18f chore(gulp-plugins): update dependency yargs to v17.4.1 2022-04-10 12:58:57 +00:00
Renovate Bot 20daee6a24 chore(base-driver): update dependency lru-cache to v7.8.1 2022-04-10 10:46:22 +00:00
Mykola Mokhnach ff3b290c77 chore(base-driver): Update ws dependency (#16739) 2022-04-09 22:56:01 +02:00
Renovate Bot ed89b590e1 chore(base-driver): update dependency lru-cache to v7.8.0 2022-04-09 01:42:50 +00:00
Mykola Mokhnach f8a51443e4 fix(appium): Properly detect if a command is a session command (#16737) 2022-04-08 21:52:36 +02:00
Jonathan Lipps 3ec3a0efa5 Publish
- appium@2.0.0-beta.28
 - @appium/base-driver@8.4.0
 - @appium/doctor@1.16.12
 - @appium/eslint-config-appium@5.0.3
 - @appium/fake-driver@3.2.7
 - @appium/gulp-plugins@6.0.3
 - @appium/opencv@1.0.3
 - @appium/schema@0.0.1
 - @appium/support@2.57.0
 - @appium/test-support@1.3.14
 - @appium/types@0.1.0
@appium/base-driver@8.4.0 @appium/doctor@1.16.12 @appium/eslint-config-appium@5.0.3 @appium/fake-driver@3.2.7 @appium/gulp-plugins@6.0.3 @appium/opencv@1.0.3 @appium/schema@0.0.1 @appium/support@2.57.0 @appium/test-support@1.3.14 @appium/types@0.1.0 appium@2.0.0-beta.28
2022-04-07 16:12:21 -07:00
Jonathan Lipps f971aa9f1c chore(appium-monorepo): fix preversion script by removing schema reference 2022-04-07 16:09:06 -07:00
Christopher Hiller 3adf4d4283 chore: fix dev scripts 2022-04-07 14:24:10 -07:00
Christopher Hiller f33b87bbf9 chore(appium,types,schema): create @appium/schema
`@appium/schema` is a package which was extracted from `appium`.  It _only_ contains the schema.  The impetus here was to avoid cyclical dependencies, since `appium` depends on `@appium/types`, and `@appium/types` depends on the schema.  This package breaks the cycle.

The `scripts/generate-schema-json.js` (which converts the compiled JS schema file into JSON) has moved into this package, and the generated JSON file is now under version control.  This is because the `generate-schema-types.js` script (previously `generate-schema-declarations`) depends on it, and `@appium/types` depends on the generated types.  The generated types are _also_ under version control.  I do not expect the schema to change often, so I believe the tradeoff to be worth it.

## @appium/schema

`lib/appium-config-schema.js` is the "single source of truth" for the schema.

## appium

- Removed schema source
- Removed namespaces from internal types because they suck (see change to `types/index.d.ts`)
- Removed unused `continuation-local-storage`
- Add dep for `@appium/schema`
- Added a TS project dependency on `@appium/schema`

## @appium/types

- The "sources" have moved from `src` to `lib` for consistency.
- `lib/appium-config.ts` (the generated types) are now under version control.
- `lib/schema/` has been removed (it previously held the JSON schema artifact)
- `scripts/generate-schema-declarations.js` becomes `scripts/generate-schema-types.js`
- Updated scripts in `package.json`
- Added dep for `@appium/schema`
- Added a TS project dependency on `@appium/schema`

## Other

- Reorganize root `tsconfig.json`; add `schema` reference; remove unused `noEmit: true`
- Sort root `package.json`
- Remove schema JSON and schema declarations scripts, since those are now both handled in their respective packages
- Remove `lint-staged` config for schema file, since it didn't work right anyway (still need to do something about this, but probably doesn't need to be in a precommit hook)
- Remove stuff from `.gitignore`
2022-04-07 14:05:41 -07:00
Renovate Bot c8227d8ab8 chore(support): update dependency semver to v7.3.6 2022-04-07 17:58:14 +00:00
Renovate Bot 02706de19d chore(gulp-plugins): update babel monorepo to v7.17.9 2022-04-07 14:51:07 +00:00
Renovate Bot 6701251411 chore(doctor): update dependency appium-adb to v9.2.1 2022-04-07 11:37:22 +00:00
Renovate Bot bc36b8dfcc chore(gulp-plugins): update dependency eslint-plugin-import to v2.26.0 2022-04-06 13:39:35 +00:00
Renovate Bot 4060c17cc6 chore(fake-driver): update dependency @xmldom/xmldom to v0.8.2 2022-04-06 10:39:12 +00:00
Renovate Bot fa20f8058f chore(appium): update dependency winston to v3.7.2 2022-04-05 12:39:42 +00:00
Kazuaki Matsuo 8f4a5e9752 ci: drop nodejs 12, add 17 (#16703)
* ci: drop nodejs 12, add 18

* 17, not 18 yet as maximum version

* test: increase timeout
2022-04-05 15:31:25 +09:00
Renovate Bot 7c7a290cfa chore(doctor): update dependency appium-adb to v9 2022-04-04 15:30:56 -07:00
Renovate Bot 919d55d1cb chore(gulp-plugins): update dependency fancy-log to v2 2022-04-04 15:25:38 -07:00
Kazuaki Matsuo 4235f27445 docs(appium): merge from master (#16672) 2022-04-04 15:20:18 -07:00
renovate[bot] d23907def5 chore: update dependency webdriverio to v7 (#15489)
* chore(): update dependency webdriverio to v7

* chore(fake-driver,appium): upgrade webdriverio to latest

- fixed broken tests in `@appium/fake-driver` and `appium`
- remove unused `appium-base-driver` from root of monorepo

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Christopher Hiller <boneskull@boneskull.com>
2022-04-04 15:14:59 -07:00
Renovate Bot dd38c6f42c chore(base-driver): update dependency body-parser to v1.20.0 2022-04-04 15:13:29 +00:00
Renovate Bot 2a5f7c2b73 chore(support): update dependency moment to v2.29.2 2022-04-04 12:19:16 +00:00
Renovate Bot 3f388b935a chore(): update dependency @types/base64-stream to v1.0.2 2022-04-01 23:31:46 +00:00
Mykola Mokhnach a9651d3c59 fix(base-driver): Update/simplify the logic for logger prefix (#16683) 2022-04-01 22:34:57 +02:00
Renovate Bot a91d283128 chore(support): update dependency type-fest to v2.12.2 2022-04-01 11:55:17 +00:00
Mykola Mokhnach d8a9b4da36 feat(base-driver): Add more shadow root-related W3C routes (#16700) 2022-03-31 17:46:44 +02:00
Renovate Bot 4f41ec3c7a chore(base-driver): update dependency lru-cache to v7.7.3 2022-03-31 13:25:29 +00:00
Christopher Hiller 8c3d9ec347 docs: add migration information for nodeconfig, allow-insecure and deny-insecure
Closes #16593
2022-03-30 14:43:47 -07:00
Christopher Hiller 0bbec13d1e fix(appium): allow multiple drivers to be installed
Closes #16674

the problem here was the existence of the empty `package.json`.  it should exist, because if it doesn't, then `npm` may end up using a `package.json` in a parent directory.  but it can't be _empty_, because subsequent `npm install`s will essentially remove any package that it's currently not installing!  `npm` likes to "fix" `node_modules`, which is undesirable here.

to avoid this, the behavior has changed to persisting the dependency version to `package.json`.  behavior differs if we're using a local `APPIUM_HOME` or the default one.  with the default, we have more control, and choose to use `--save-dev --save-exact --no-package-lock --global-style` which gives us what we need.  if `APPIUM_HOME` is a local package, all we can do is `--save-dev` (since it's _likely_ that an extension will be a dev dependency).  in the future, we may choose to actually determine _what kind_ of dependency `appium` is and tell `npm` to use the same one.  not sure if that's needed, though.

further, in the case of a local appium dep (local `APPIUM_HOME`), updating `package.json` should cause the package hash (used by the thing that syncs `extensions.yaml` with installed packages) to update as well, so we're doing that.

modified the logic in `ExtensionCommand` to treat `--source=local` to pass the `installSpec` thru verbatim.

also fixed `BuildInfo` type to reflect reality and use `@types/teen_process`.  fixed some other broken types in `test` (files in `test` are not checked by typescript yet; we'll need a separate `tsconfig.json` for this, since we do not want to emit declarations)
2022-03-30 14:43:21 -07:00
Christopher Hiller 61b05063ee fix(support): avoid 'npm link' for local-sourced extensions
'npm link' is weird and we do not need to use it.  `npm install /path/to/some/module` will create a symbolic link, but it _won't_ create a global link.  it otherwise behaves similarly to `npm install`.

- also updated to use `@types/teen_process`
- fixed some weird types in `util.getLockFileGuard()`
2022-03-30 14:43:21 -07:00
Christopher Hiller 7a028c8d9a chore: add types for teen_process
which magically appeared. thanks definitelytyped!
2022-03-30 14:43:21 -07:00
Christopher Hiller 06f75a281c chore(base-driver): remove ts-expect-error directive from elementShadowRoot route 2022-03-30 14:42:56 -07:00
Christopher Hiller 47b0df06ec fix(types): add method for elementShadowRoot 2022-03-30 14:42:56 -07:00
Christopher Hiller b7b8b12eff chore(appium): switch type of inner drivers
This PR changes the type of inner drives from `Driver` to `ExternalDriver`, which is more accurate.
2022-03-30 14:42:22 -07:00
Renovate Bot 6fbff601b6 chore(base-driver): update dependency lru-cache to v7.7.2 2022-03-30 10:23:14 +00:00
Renovate Bot e5ad7a9fd8 chore(workflows): update actions/checkout action to v3 2022-03-29 17:46:52 -07:00
Jonathan Lipps 54f1308a36 chore: fix reinstall script and clean ordering 2022-03-29 17:46:16 -07:00
Christopher Hiller 826de8c346 chore(doctor): remove gulp
- removes gulp, builds w/ babel, tests w/ mocha
- reorg test files
2022-03-29 15:56:02 -07:00
Christopher Hiller 3833b237df chore(opencv): remove gulp
- build now happens via babel
- test now happens via mocha
- renamed/reorganized test files
2022-03-29 15:55:48 -07:00
Christopher Hiller d400405296 chore(test-support): remove gulp
- use mocha, babel
- reorg test files
2022-03-29 15:55:34 -07:00
Christopher Hiller e439387d5c docs(types): add README.md
- update keywords
2022-03-29 15:55:16 -07:00
Christopher Hiller 7498a7ab90 chore: add a script to sync LICENSE files across packages
This will be run before publish, and will copy the root `LICENSE` file to all packages, so that they appear in the published tarballs.

`packages/*/LICENSE` are ignored by Git, since they are redundant with the root `LICENSE` file.
2022-03-29 15:54:55 -07:00
Mykola Mokhnach 6973f54e06 chore: Fix indentation (#16678) 2022-03-29 08:00:54 +02:00
Mykola Mokhnach c63e9bf8e0 fix(base-driver): Make sure we never mutate incoming args (#16670) 2022-03-28 20:35:37 +02:00
Renovate Bot 25fab42940 chore(test-support): update dependency sinon to v13 2022-03-28 11:28:31 -07:00
Renovate Bot 3bfee19a66 chore(workflows): update actions/setup-node action to v3 2022-03-28 11:27:40 -07:00
Renovate Bot 6cf1590a2d chore(): update dependency @types/json-schema to v7.0.11 2022-03-26 17:39:51 +00:00