Commit Graph
8634 Commits
Author SHA1 Message Date
Christopher Hiller 4a203fa876 chore: add appium-support to repo
- add `npm start` script to run appium server
- add `npm run doctor` convenience script to run doctor
- renamed `clean` script to `reinstall`
- added new `clean` script to just clean
- updated the "appium from source" doc
2021-05-17 14:17:46 -07:00
Christopher Hiller 399f3f193a fix: module/file resolution issues 2021-05-17 14:17:46 -07:00
Christopher Hiller 127589fd4d chore: add @appium/eslint-config-appium to the monorepo
this pkg is unique in that it does not use `gulp`, so for now we tell lerna to always ignore it when running `lerna exec` across packages.  it has no tests, but it's marginally useful to lint the `index.js`, so we'll do that (see `lint` script in root `package.json`).

the canonical way to handle plugin deps in a sharable config is to use `peerDependencies`, so it now uses `peerDependencies` instead of `dependencies`.  these peer deps are installed by the dependencies of `@appium-gulp-plugins`.  see [docs](https://eslint.org/docs/developer-guide/shareable-configs#publishing-a-shareable-config)

our root `.eslintrc` depends upon `@appium/eslint-config-appium` (which is not an unusual situation).  to pull this off in a monorepo, a cheat is to `file:` schema in the dependency specifier of the root `package.json`.

also tweaked `lerna.json` to _always_ run `bootstrap` with the `--no-ci` flag.  lerna will attempt to use `npm ci` if `CI` env var is present, but for that to work, we must have `package-lock.json` under version control.
2021-05-17 14:17:44 -07:00
Christopher Hiller f659d28396 fix: fix the lint:fix script; run parallel 2021-05-17 14:17:44 -07:00
Christopher Hiller 960249f010 chore: add some convenience scripts for testing individual packages 2021-05-17 14:17:44 -07:00
Christopher Hiller 06e23e74d5 chore: fixup a couple READMEs
- will need to deal w/ the `appium` pkg readme
- fix pkg name in `@appium/gulp-plugins`
2021-05-17 14:17:43 -07:00
Christopher Hiller 0e97ba16de chore: add @appium/doctor to the monorepo 2021-05-17 14:17:42 -07:00
Christopher Hiller f26bdb18d3 chore: add @appium/gulp-plugins to monorepo 2021-05-17 14:17:42 -07:00
Christopher Hiller 9e33c7ac11 fix: doc generation
I think?
2021-05-17 14:17:41 -07:00
Christopher Hiller fcb7917fb4 chore: add appium-fake-driver to monorepo; fix appium tests
- all tests changed were needed because of path issues.  I was unable to get the tests working in their entirety _without_ adding `@appium/fake-driver` to the monorepo--it would have required a separate `npm install` step in `appium-fake-driver` due to the lack of its `devDependencies` and `prepare` script--so I figured I might as well pull it in now.
- deduped `package.json` scripts somewhat
- updated ESLint configuration to include `@appium/fake-driver`'s rule override
- sorted the root `package.json` because fussy
- added `wd` as a dev dep because `@appium/fake-driver` needs it
2021-05-17 14:17:41 -07:00
Christopher Hiller 8800bc8aa3 chore: add babel config for debugging (wip) 2021-05-17 14:17:41 -07:00
Christopher Hiller 3c5fba7b38 fix: do not assume git root and package.json have the same parent dir 2021-05-17 14:17:40 -07:00
Christopher Hiller f7c9286e92 update node.js workflow for lerna 2021-05-17 14:17:40 -07:00
Christopher Hiller db8e19e965 update node.js workflow for lerna 2021-05-17 14:17:40 -07:00
Christopher Hiller a945cfcde0 chore: create appium monorepo; closes #14441
This PR supersedes PR #14562.

This is my first attempt at making this repo a monorepo and moving appium-proper into `packages/appium`.

I had tried to make this work with npm's "workspaces", but it seems lifecycle scripts don't run as you'd expect them to upon install.  Instead, I'm using Lerna, which provides more features for monorepos.

Changes include:

- The root `package.json` is now a package named `appium-monorepo`, which is `private`.  The monorepo should not be published.
- All dev dependencies remain in the root `package.json`.
- `gulpfile.js` _moved_ into `packages/appium/gulpfile.js`, but this should be **temporary**--`appium-gulp-plugins` makes certain assumptions which a monorepo violates, and I was unable to get it working without patching `appium-gulp-plugins`.
- Most of the `package.json` `scripts` moved into `packages/appium/package.json` due to the above.  This too should be considered **temporary**.
- Adds a root `postinstall` lifecycle script which calls `lerna bootstrap` to install/link packages.  I don't see a `package-lock.json` in `packages/appium/`; this needs investigating.
- Adds a root `test` lifecycle script which executes `npm run test` in all packages.  The tests do not pass, but I don't know if this is my fault.
- The `clean` script will purge all `node_modules` folders in each package, as well.
- I removed `scripts/release*.sh`, since it seems they would fail anyway--`lerna` should be used for releases instead
- The shrinkwrap-related stuff is untested.
- Renamed `tags` prop in `packages/appium/package.json` to `keywords`.  I don't know if `tags` is supported.
2021-05-17 14:17:39 -07:00
Kazuaki Matsuo f6e31765b9 feat: add --drivers to load particular drivers (#15379)
* add --drivers to load particular drivers

* tweak description

* tweak description

* tweak review

* fix typo
2021-05-16 04:56:57 +09:00
Kazuaki Matsuo ea3baf034f fix: --suppress-adb-kill-server as store_true (#15211) 2021-03-26 02:20:22 +09:00
Jonathan Lipps be0b6f67c9 chore: bump to 2.0.0-beta.12 appium@2.0.0-beta.12 2021-03-04 13:38:03 -08:00
Jonathan Lipps d0794edb35 fix: proxy detection needs to use session-relative plugins 2021-03-04 13:37:36 -08:00
Jonathan Lipps 86b45e5fd6 chore: bump to 2.0.0-beta.11 2021-02-23 14:42:55 -08:00
Jonathan Lipps c10c243760 feat: add ability for drivers to update server and add method maps like plugins
also ensure that each session gets its own plugin instances so plugins for different sessions can't share state
2021-02-23 14:41:09 -08:00
Jonathan Lipps d44b4eb7e1 chore: bump 8.0 beta to 8.0.0-beta.6 2021-02-23 14:00:31 -08:00
Jonathan Lipps f001164df3 refactor!: generalize concepts of server updater and extra method map
basedriver shouldn't really know about plugins or drivers.
it should just expose the ability to update the server or add methods
2021-02-23 13:55:58 -08:00
Jonathan Lipps a9084d150d fix: when sending driver to plugins, send umbrella driver for umbrella commands 2021-02-03 12:28:31 -08:00
Jonathan Lipps e219d973dc 2.0.0-beta.10 v2.0.0-beta.10 2021-02-03 10:38:23 -08:00
Jonathan Lipps be4b46d84e feat: allow plugins to avoid proxying certain routes 2021-02-03 10:37:08 -08:00
Jonathan Lipps 5fbcddb3dc chore: bump 2.0 to beta.5 2021-02-03 09:38:26 -08:00
Jonathan Lipps 16382f8b37 fix!: remove image element proxy check, and allow proxyRouteIsAvoided to inspect the body 2021-02-03 09:37:06 -08:00
Jonathan Lipps 0fd131c368 chore: bump to 2.0.0-beta.9 2021-01-22 09:20:58 -08:00
Jonathan Lipps 4213c5fbec fix!: move to different style of plugin command execution 2021-01-22 09:19:50 -08:00
Jonathan Lipps 67d174406e chore: bump to 8.0.0-beta.4 2021-01-20 12:28:07 -08:00
Jonathan Lipps dbf02a9c18 fix: update plugin server adjustment to use new style 2021-01-20 12:26:01 -08:00
Jonathan Lipps 01c76d3913 feat: print comparison of driver and appium basedriver versions 2021-01-19 16:30:43 -08:00
Kazuaki Matsuo 25d97de8f2 fix: update tests and parsing logic to handle new basedriver w3c reqs 2021-01-19 16:30:43 -08:00
Jonathan Lipps 8a50339242 feat: add postinstall functionality for auto installing drivers and plugins 2021-01-19 16:30:43 -08:00
Jonathan Lipps 6f413f8a5d chore: make sure we take on board any new versions of basedriver 8 beta 2021-01-19 16:30:43 -08:00
Jonathan Lipps b57833556e test: fix test that relied on old fakedriver screenshot 2021-01-19 16:30:43 -08:00
Jonathan Lipps 648d62e715 chore: require node v12 2021-01-19 16:30:43 -08:00
Jonathan Lipps 0e11ce28e8 feat: add auto-install params --drivers and --plugins 2021-01-19 16:30:43 -08:00
Jonathan Lipps c3d1308bd9 feat: make the images plugin an official appium plugin 2021-01-19 16:30:43 -08:00
Jonathan Lipps c188a3e2ab docs: redirect image docs to the image plugin site 2021-01-19 16:30:43 -08:00
Jonathan Lipps 14efad17b9 chore: bump to 8.0.0-beta.3 2021-01-19 13:59:35 -08:00
Jonathan Lipps fdd3efc8ed feat: allow retrieval of basedriver version from any inheriting driver 2021-01-19 13:58:23 -08:00
Jonathan Lipps be82550db6 chore: bump to 8.0.0-beta.2 since beta.1 is already published 2021-01-19 13:58:23 -08:00
Jonathan Lipps daaefa5a95 chore!: remove image element code since it is now handled by @appium/images-plugin 2021-01-15 10:46:52 -08:00
Jonathan Lipps e9cbd23ca5 chore: bump 2.0 to beta.8 2021-01-14 14:16:17 -08:00
Jonathan Lipps 2947ae6492 fix: plugins should get inner driver, not umbrella driver 2021-01-14 13:36:46 -08:00
Jonathan Lipps f4133d3c17 fix: ensure extension installs happen in the right place
and not up the filesystem from the appium home dir
just because someone happens to have a package.json
or a node_modules dir up there somewhere
2021-01-14 13:36:46 -08:00
Jonathan Lipps 12539b7a1a chore: bump to 2.0.0-beta.7 2021-01-14 13:36:46 -08:00
Jonathan Lipps ec389c5d08 Merge branch 'master' into 2.0 2021-01-13 14:36:42 -08:00