Commit Graph

52 Commits

Author SHA1 Message Date
Jonathan Lipps 2e76ba9607 chore: publish
- appium@2.0.0-beta.48
 - @appium/base-driver@9.1.0
 - @appium/base-plugin@2.0.1
 - @appium/doctor@2.0.1
 - @appium/docutils@0.1.1
 - @appium/driver-test-support@0.3.1
 - @appium/execute-driver-plugin@3.0.1
 - @appium/fake-plugin@3.0.1
 - @appium/images-plugin@2.0.1
 - @appium/opencv@2.0.1
 - @appium/plugin-test-support@0.3.1
 - @appium/support@3.0.1
 - @appium/test-support@3.0.1
 - @appium/typedoc-plugin-appium@0.2.1
 - @appium/types@0.7.0
2022-12-21 11:57:39 -08:00
Christopher Hiller fee1c98ee9 chore: run e2e tests in parallel
This change makes Lerna execute E2E tests across two cores.  Some of the slower E2E suites (`appium`, `support`, `opencv` and `base-driver`) also run in parallel via Mocha's `--parallel` flag.

In Appium, the main culprit was `cli.e2e.spec.js`, which I split into four files: `args` (argument handling), `cli-driver` (`driver` command), `cli-plugin` (`plugin` command) and `local` (behavior when Appium is a dependency).  This should run faster (in theory) since Mocha runs tests in parallel _per file_ and will expand to the available cores.

CI has limited cores, so this won't really help there--but it will speed up local development.  When running tests locally, you may see various delays, as Mocha buffers the output of a single test file.

This is a continuation of the work I did in #17252.
2022-12-14 13:28:31 -08:00
Jonathan Lipps 0823f0b60e chore: publish
- appium@2.0.0-beta.47
 - @appium/base-driver@9.0.0
 - @appium/base-plugin@2.0.0
 - @appium/doctor@2.0.0
 - @appium/docutils@0.1.0
 - @appium/driver-test-support@0.3.0
 - @appium/eslint-config-appium@8.0.0
 - @appium/execute-driver-plugin@3.0.0
 - @appium/fake-driver@5.0.0
 - @appium/fake-plugin@3.0.0
 - @appium/gulp-plugins@8.0.0
 - @appium/images-plugin@2.0.0
 - @appium/opencv@2.0.0
 - @appium/plugin-test-support@0.3.0
 - @appium/relaxed-caps-plugin@1.0.0-beta.14
 - @appium/schema@0.1.0
 - @appium/support@3.0.0
 - @appium/test-support@3.0.0
 - @appium/typedoc-plugin-appium@0.2.0
 - @appium/types@0.6.0
 - @appium/universal-xml-plugin@1.0.0-beta.16
2022-12-13 16:10:05 -08:00
Christopher Hiller 3c32112c20 chore: use tsc for compilation across the board
- `@appium/gulp-plugins` does not use `tsc` and continues to use...whatever it uses.
- `@appium/doctor` now has generated declarations, though I didn't bother to do anything with the types
- rewrote swaths of build scripts:
  - removed the `fix` and `lint` scripts from each workspace (package) since I don't think they get used and they are of limited value
  - for tests and autoinstallation of extensions, added `ts-node` for on-the-fly compilation
  - workspaces _can_ define their own `build` and `clean` scripts (both should be required if either is used).  these do not currently get run when running `npm run dev`, but they do occur on a bare `npm install` from the monorepo root or a `npm run reinstall`.
  - `npm run rebuild` does a fresh rebuild, but does not clean any `node_modules` dirs nor does it reinstall anything.
  - removed `prepublishOnly` since `preversion` does the same thing
  - `npm test` now runs `build`/`lint` in parallel
- postinstall script of `appium` ("autoinstall") script now must call `npm run build` if in a fresh dev environment. this is because a) lifecycle scripts of packages run before lifecycle scripts in the monorepo root, and b) `postinstall` runs before `prepare`. so there's really no way around it; even using `ts-node` fails because other modules depend on `@appium/support/index.js` which expects the pkg to be built.

Closes #17746
Closes #17807
2022-12-06 11:21:05 -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
renovate[bot] 32557f4bca fix(opencv): update definitelytyped 2022-11-29 10:32:09 +00:00
Christopher Hiller 4746080e54 feat(): experimental support for typedoc generation
Run `npm run typedoc` to generate docs in `typedoc-docs` dir.

I thought I'd take a few mins and set this up.  It was _mostly_ straightforward, except:

1. Figuring out the "entry point" for each package was difficult until I realized `.js` entry points are assumed to be compiled, and thus require a `sourceMappingUrl` reference. IMO this is probably a bug in TypeDoc
2. The `sourceMappingUrl` must reference an external sourcemap file; not an inline source map.  If it's an inline source map, the system tries to `fs.open` a large data-url.
3. The babel config does not control whether external sourcemaps are created; `@babel/cli` does. So I needed to change those.
4. Practically speaking, I don't see any drawback to external sourcemaps _yet_
5. TypeDoc has poor support for cross-package type references in monorepos, and I had to add a plugin which implements a workaround
6. Per some suggestions in the docs, I modified the order of references in the root `tsconfig.json` to start with "the biggest one first"

I didn't modify any types or docstrings anywhere.
2022-11-22 14:32:10 -08:00
Christopher Hiller 97522a7170 chore(opencv): increase test timeout 2022-10-31 16:02:20 -07:00
Christopher Hiller 125a68fe47 fix(opencv,support): override jpeg-js version
Jimp will not get upgraded so we need to do this to avoid the vuln in older versions of jpeg-js.
I also removed the relative deps from the monorepo root since they seemed to befoul the overrides. They are no longer needed due to workspaces (I think)
2022-10-18 13:33:08 -07:00
Jonathan Lipps f545a6cde5 Publish
- appium@2.0.0-beta.45
 - @appium/base-driver@8.7.2
 - @appium/base-plugin@1.10.4
 - @appium/doctor@1.16.27
 - @appium/docutils@0.0.12
 - @appium/driver-test-support@0.2.1
 - @appium/execute-driver-plugin@2.0.6
 - @appium/fake-driver@4.2.2
 - @appium/fake-plugin@2.1.2
 - @appium/gulp-plugins@7.0.7
 - @appium/images-plugin@1.3.7
 - @appium/opencv@1.0.13
 - @appium/plugin-test-support@0.2.1
 - @appium/relaxed-caps-plugin@1.0.0-beta.13
 - @appium/support@2.61.0
 - @appium/test-support@2.0.1
 - @appium/types@0.5.0
 - @appium/universal-xml-plugin@1.0.0-beta.15
2022-10-13 16:25:16 -07:00
Christopher Hiller cc04e6595b chore(): remove babel-runtime
Closes #17536
2022-10-06 11:51:49 -07:00
renovate[bot] 0eb92e493b chore(opencv): update dependency @types/bluebird to v3.5.37 2022-09-24 11:47:38 +00:00
renovate[bot] 096f0ab2fe chore(support): update dependency jimp to v0.16.2 2022-09-16 12:10:33 +00:00
Christopher Hiller c26af8f852 Publish
- appium@2.0.0-beta.44
 - @appium/base-driver@8.7.1
 - @appium/base-plugin@1.10.3
 - @appium/doctor@1.16.26
 - @appium/docutils@0.0.11
 - @appium/driver-test-support@0.2.0
 - @appium/eslint-config-appium@7.0.0
 - @appium/execute-driver-plugin@2.0.5
 - @appium/fake-driver@4.2.1
 - @appium/fake-plugin@2.1.1
 - @appium/gulp-plugins@7.0.6
 - @appium/images-plugin@1.3.6
 - @appium/opencv@1.0.12
 - @appium/plugin-test-support@0.2.0
 - @appium/relaxed-caps-plugin@1.0.0-beta.12
 - @appium/support@2.60.0
 - @appium/test-support@2.0.0
 - @appium/types@0.4.1
 - @appium/universal-xml-plugin@1.0.0-beta.14
2022-09-07 12:40:03 -07:00
renovate[bot] bfef2db517 chore(gulp-plugins): update babel monorepo to v7.19.0 2022-09-06 19:52:27 +00:00
Jonathan Lipps 500c08f392 Publish
- appium@2.0.0-beta.42
 - @appium/base-driver@8.6.1
 - @appium/base-plugin@1.10.1
 - @appium/doctor@1.16.24
 - @appium/docutils@0.0.9
 - @appium/eslint-config-appium@6.0.4
 - @appium/execute-driver-plugin@2.0.4
 - @appium/fake-driver@4.1.0
 - @appium/fake-plugin@2.0.5
 - @appium/gulp-plugins@7.0.4
 - @appium/images-plugin@1.3.4
 - @appium/opencv@1.0.11
 - @appium/relaxed-caps-plugin@1.0.0-beta.11
 - @appium/schema@0.0.9
 - @appium/support@2.59.4
 - @appium/test-support@1.4.1
 - @appium/types@0.3.1
 - @appium/universal-xml-plugin@1.0.0-beta.13
2022-08-02 20:21:17 -07:00
Christopher Hiller d8d2382327 fix(appium,base-driver,base-plugin,doctor,docutils,eslint-config-appium,execute-driver-plugin,fake-driver,fake-plugin,gulp-plugins,images-plugin,opencv,relaxed-caps-plugin,schema,support,test-support,types,universal-xml-plugin): update engines
also add a missing dep in `@appium/schema`
2022-08-02 14:22:44 -07:00
Christopher Hiller f6e6d7234e Publish
- appium@2.0.0-beta.41
 - @appium/base-driver@8.6.0
 - @appium/base-plugin@1.10.0
 - @appium/doctor@1.16.23
 - @appium/docutils@0.0.8
 - @appium/eslint-config-appium@6.0.3
 - @appium/execute-driver-plugin@2.0.3
 - @appium/fake-driver@4.0.2
 - @appium/fake-plugin@2.0.4
 - @appium/gulp-plugins@7.0.3
 - @appium/images-plugin@1.3.3
 - @appium/opencv@1.0.10
 - @appium/relaxed-caps-plugin@1.0.0-beta.10
 - @appium/schema@0.0.8
 - @appium/support@2.59.3
 - @appium/test-support@1.4.0
 - @appium/types@0.3.0
 - @appium/universal-xml-plugin@1.0.0-beta.12
2022-07-28 14:34:54 -07:00
renovate[bot] 27ea226364 chore(): update babel monorepo to v7.18.9 2022-07-19 12:46:13 +00:00
Christopher Hiller f9129dfee3 fix(): moved type packages to deps of specific packages
When any package here is consumed as a library, the production deps installed alongside it _must_ also include depenencies related to type information. If these packages _aren't_ included, consumers will not have the requisite declarations installed and will get incomplete type information--at best--or worse; compilation errors.

Putting the onus on the consumer to install these requisite types is both user-hostile _and_ can result in the incorrect versions of type declarations being installed.

To that end, I've moved the various type declaration deps to production deps of the packages in which they are used.  Sometimes this is multiple packages (in the case of, say, `@types/teen_process`).  This results in many types being removed from the monorepo root.  Those that remain are for _dev dependencies only_.  If a packages uses, say, `ws`, but only in its tests, then the types can remain in the monorepo root along with the rest of the common dev deps.

I also saw an unused `supports-color` in `appium` and removed it.
2022-07-08 13:09:28 -07:00
renovate[bot] c4a1a46df3 chore(): update babel monorepo to v7.18.6 2022-06-28 12:58:59 +00:00
Christopher Hiller 485239d599 chore(ci): run smoke test in all packages
This uses the [boneskull/nodejs-production-test-action](https://github.com/boneskull/nodejs-production-test-action) GH action to run a smoke test across all packages.

The action does the following:

1. Runs `npm pack` on each package, writing the tarball to a temp dir. This tarball contains the package as a user would `npm install` it.
2. Changes into the temp dir and runs `npm install <tarball>` on each
3. Runs a specified script (in our case, `test:smoke`) in each installed package's dir in `<tmp_dir>/node_modules`

Because `devDependencies` will not be present, this should avoid a class of issues where production deps are miscategorized as dev deps.

The action should probably use a separate temp dir for each--in the case of a dependency being present but only because some other package depends on it--but it's not smart enough to figure out peer dependencies yet.
2022-06-13 16:08:17 -07:00
Jonathan Lipps 62b97417fc Publish
- appium@2.0.0-beta.37
 - @appium/base-driver@8.5.5
 - @appium/base-plugin@1.9.1
 - @appium/doctor@1.16.21
 - @appium/docutils@0.0.6
 - @appium/eslint-config-appium@6.0.2
 - @appium/execute-driver-plugin@2.0.1
 - @appium/fake-driver@4.0.1
 - @appium/fake-plugin@2.0.1
 - @appium/gulp-plugins@7.0.2
 - @appium/images-plugin@1.3.1
 - @appium/opencv@1.0.9
 - @appium/relaxed-caps-plugin@1.0.0-beta.8
 - @appium/schema@0.0.7
 - @appium/support@2.59.1
 - @appium/test-support@1.3.21
 - @appium/types@0.2.5
 - @appium/universal-xml-plugin@1.0.0-beta.10
2022-05-31 16:52:23 -07:00
Jonathan Lipps f6cbfd77eb chore: publish, also set an explicit version for images since it was way off 2022-05-31 16:51:36 -07:00
Jonathan Lipps 5c7af8ee73 Publish
- appium@2.0.0-beta.36
 - @appium/base-driver@8.5.4
 - @appium/base-plugin@1.9.0
 - @appium/doctor@1.16.20
 - @appium/docutils@0.0.5
 - @appium/eslint-config-appium@6.0.1
 - @appium/execute-driver-plugin@2.0.0
 - @appium/fake-driver@4.0.0
 - @appium/fake-plugin@2.0.0
 - @appium/gulp-plugins@7.0.1
 - @appium/images-plugin@1.2.0
 - @appium/opencv@1.0.8
 - @appium/relaxed-caps-plugin@1.0.0-beta.7
 - @appium/schema@0.0.6
 - @appium/support@2.59.0
 - @appium/test-support@1.3.20
 - @appium/types@0.2.4
 - @appium/universal-xml-plugin@1.0.0-beta.9
2022-05-31 16:44:51 -07:00
Christopher Hiller ac8e0e0451 chore(appium,base-driver,base-plugin,doctor,docutils,eslint-config-appium,execute-driver-plugin,fake-driver,fake-plugin,gulp-plugins,images-plugin,opencv,relaxed-caps-plugin,schema,support,test-support,types,universal-xml-plugin): fix engines field 😂 2022-05-31 16:26:43 -07:00
Renovate Bot e5e8f9b874 chore(test-support): update dependency @babel/runtime to v7.18.3 2022-05-26 15:29:43 -07:00
Renovate Bot 4d6c114fe8 chore(gulp-plugins): update babel monorepo to v7.18.2 2022-05-25 14:28:48 +00:00
Renovate Bot 92b17d6c2e chore(gulp-plugins): update babel monorepo to v7.18.0 2022-05-20 14:59:10 -07:00
Christopher Hiller 3e2c05d8a2 fix(appium): fix extension autoinstall postinstall script
Resolves #16924

Because the `postinstall` script of `appium` needs functions in `@appium/support`, that module must be compiled _before_ its `postinstall` script runs.  Prior to this PR, only the monorepo root would run a `postinstall` script to build the subpackages.  Now, each package has a `prepare` script which runs its own build; this happens prior to any `postinstall`.  This way, the `postinstall` script in `appium` can run successfully.
2022-05-12 14:47:51 -07:00
Christopher Hiller 0676cd27c3 chore(appium,support,opencv,docutils): assorted type fixes
- Some types in `appium` were renamed
- Others avoid errors
- Some are minor tweaks to `tsconfig.json` files

# Conflicts:
#	packages/appium/lib/extension/extension-config.js
#	packages/appium/types/extension-manifest.ts
#	packages/appium/types/extension.ts
#	packages/base-driver/lib/jsonwp-proxy/proxy.js
#	packages/support/lib/logging.js
#	packages/support/test/unit/logger/logger-force.spec.js
2022-05-12 12:32:57 -07:00
Christopher Hiller 133db5355f chore: reformat everything
this reformats all `.js`, `.ts`, and `.d.ts` files.
2022-05-09 19:09:50 -07:00
Jonathan Lipps f15f11bc14 Publish
- appium@2.0.0-beta.33
 - @appium/base-driver@8.5.2
 - @appium/base-plugin@1.8.4
 - @appium/doctor@1.16.17
 - @appium/docutils@0.0.3
 - @appium/eslint-config-appium@5.0.6
 - @appium/execute-driver-plugin@1.0.4
 - @appium/fake-driver@3.2.12
 - @appium/fake-plugin@1.3.3
 - @appium/gulp-plugins@6.0.8
 - @appium/images-plugin@1.1.9
 - @appium/opencv@1.0.7
 - @appium/relaxed-caps-plugin@1.0.0-beta.5
 - @appium/schema@0.0.5
 - @appium/support@2.57.4
 - @appium/test-support@1.3.18
 - @appium/types@0.2.2
 - @appium/universal-xml-plugin@1.0.0-beta.7
2022-04-20 13:29:59 -07:00
Jonathan Lipps b9d4657028 chore(fake-plugin): bump version to something we can publish 2022-04-20 13:29:32 -07:00
Jonathan Lipps 722ae145fb Publish
- appium@2.0.0-beta.32
 - @appium/base-driver@8.5.1
 - @appium/base-plugin@1.8.3
 - @appium/doctor@1.16.16
 - @appium/docutils@0.0.2
 - @appium/eslint-config-appium@5.0.5
 - @appium/execute-driver-plugin@1.0.3
 - @appium/fake-driver@3.2.11
 - @appium/fake-plugin@1.2.2
 - @appium/gulp-plugins@6.0.7
 - @appium/images-plugin@1.1.8
 - @appium/opencv@1.0.6
 - @appium/relaxed-caps-plugin@1.0.0-beta.4
 - @appium/schema@0.0.4
 - @appium/support@2.57.3
 - @appium/test-support@1.3.17
 - @appium/types@0.2.1
 - @appium/universal-xml-plugin@1.0.0-beta.6
2022-04-20 13:27:53 -07:00
Jonathan Lipps 8b7906f757 Publish
- appium@2.0.0-beta.31
 - @appium/base-driver@8.5.0
 - @appium/base-plugin@1.8.2
 - @appium/doctor@1.16.15
 - @appium/docutils@0.0.1
 - @appium/execute-driver-plugin@1.0.2
 - @appium/fake-driver@3.2.10
 - @appium/fake-plugin@1.2.1
 - @appium/gulp-plugins@6.0.6
 - @appium/images-plugin@1.1.7
 - @appium/opencv@1.0.5
 - @appium/relaxed-caps-plugin@1.0.0-beta.3
 - @appium/schema@0.0.3
 - @appium/support@2.57.2
 - @appium/test-support@1.3.16
 - @appium/types@0.2.0
 - @appium/universal-xml-plugin@1.0.0-beta.5
2022-04-20 13:23:24 -07:00
Christopher Hiller 882a5f4d5e chore: unify test setup fixture
Moved the stuff in `test/setup-babel` into `test/setup` and then removed some cruft in the `test:*` scripts of each package referencing `test/setup-babel`
2022-04-14 14:30:00 -07:00
Christopher Hiller 2520a9e3d4 chore(opencv): add some stub types 2022-04-14 14:30:00 -07:00
Jonathan Lipps 319f7289e7 Publish
- appium@2.0.0-beta.30
 - @appium/base-driver@8.4.2
 - @appium/doctor@1.16.14
 - @appium/eslint-config-appium@5.0.4
 - @appium/fake-driver@3.2.9
 - @appium/gulp-plugins@6.0.5
 - @appium/opencv@1.0.4
 - @appium/schema@0.0.2
 - @appium/support@2.57.1
 - @appium/test-support@1.3.15
 - @appium/types@0.1.1
2022-04-12 09:11:41 -07: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
2022-04-07 16:12:21 -07:00
Renovate Bot 02706de19d chore(gulp-plugins): update babel monorepo to v7.17.9 2022-04-07 14:51:07 +00: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
Jonathan Lipps f5cce0f29d Publish
- appium@2.0.0-beta.26
 - @appium/base-driver@8.3.0
 - @appium/doctor@1.16.10
 - @appium/eslint-config-appium@5.0.2
 - @appium/fake-driver@3.2.5
 - @appium/gulp-plugins@6.0.2
 - @appium/opencv@1.0.2
 - @appium/support@2.56.0
 - @appium/test-support@1.3.12
2022-03-22 13:41:57 -07:00
Renovate Bot 799fb87be3 chore(gulp-plugins): update babel monorepo to v7.17.8 2022-03-19 11:13:48 +00:00
Renovate Bot 297a307725 chore(gulp-plugins): update babel monorepo to v7.17.7 2022-03-16 10:55:01 +00:00
Renovate Bot 94fe0f2ef8 chore(): update babel monorepo 2022-03-12 14:36:43 +00:00
Renovate Bot 9608fd74af chore(support): pin dependency opencv-bindings to 4.5.5 2022-03-12 12:10:27 +00:00
Christopher Hiller 4b9bfb35aa chore: add directory prop to repository prop of package.json
I think npm uses this to link to the correct path of the package in a monorepo.
2022-03-10 11:10:35 -08:00
Christopher Hiller d9fd258eee chore: make typedefs less verbose
`@typedef {Object} Foo` is the same as `@typedef Foo`, and one of those is shorter.
2022-03-09 14:50:45 -08:00
Christopher Hiller 868517b6f4 chore: remove gulp from appium package (#16459)
This change removes `gulp` and replaces it with plain ol' `babel` and `mocha`.

## `appium`

- No gulp.
- `test/` has been re-organized.  All test files now end in the extension `.spec.js`, which is a recognized convention and understood by editors/IDEs.  The tests are further split into `unit` and `e2e` subdirs.  This makes working with both `babel` and `mocha` easier.
- The tests are _not_ run against the transpiled code; code is now transpiled on-the-fly via `@babel/register`. This only affects `appium`.
- `commands-yml/validator.js` moved to `scripts/parse-yml-commands.js`. It has been rewritten as a CJS module.  `commands-yml/` should not contain `.js` files.
- `test/setup.js` is a new test harness specific to Appium, which loads & configures `@babel/register`.  Eventually, the contents of this file can be moved into the root monorepo's `test/setup.js`, but the rest of the packages do not need `@babel/register`, so we avoid the overhead.

## `@appium/gulp-plugins`

- Unfortunately, due to the new `npm test` strategy (see below), we cannot use the `nyan` reporter.  Or rather, we _can_, but will not see the animation.  So the reporter is now set to default to `spec`.
- Modified tests so they didn't overwrite the actual `build` dir with transpiled fixtures, which is what was happening. This was causing failures depending on the transpile/test order.

## All Packages

- All packages now have their own `build`, `test`, `test:e2e` and `dev` (just build + watch mode) npm scripts. This makes running a complete build easier, since each package can now provide its own appropriate command.  This is _mostly_ just `gulp once` (where `gulp` was used before), except for `appium`, where `@babel/cli` is used directly.
- This is what happens when `npm test` is run from the monorepo (in order):
    1. All packages are built (in parallel) by running `npm run build` in each folder (via `lerna`). See `pretest`
    2. All code is linted directly via `eslint`.
    3. All _unit tests_ are run w/ `npm test` in each folder, having assumed transpilation already occurred (if necessary).
- `npm run e2e-test` runs the `npm run test:e2e` in each folder. No transpilation occurs! Careful.
- All scripts are expected to live in `packages/*/scripts`, and this directory enforces CJS via ESLint.  `postinstall.js` moved, as well as `check-npm-pack-files.js`. `generate-schema-declarations.mjs` moved from the root `scripts/` dir into `packages/appium/scripts/`; it's now CJS instead of ESM.
- I had profiled running various things with `lerna run --parallel`, but it turns out this is not faster.  I'm not sure why, but I think it may have something to do with streaming STDOUT/STDERR, or potentially the overhead of running child processes outweighs the time it takes to actually run tests and builds.
- The behavior of `lerna run` now mimicks `lerna exec`, which was "run stuff in serial, streaming the output". The default behavior of `lerna run` is "run stuff in parallel, buffering the output".  Buffered output sucks, and streaming the output from all tasks at once creates chaos.  To override this behavior, you'll see `--parallel --concurrency=8 --prefix` for tasks that can truly be parallelized, like transpilation.  The number 8 is the "maximum", and CI usually won't have more than 2 cores available anyway.
- When run in CI, Mocha runs with `--forbid-only`, which will fail if there's an `.only()` somewhere in the tests. Further, it forces color output.

## Etc.

- Updated Wallaby config, `.gitignore`, `.eslintignore`.
- Sorted `package.json` files
- Removed `watch` and `coverage` scripts which were broken anyway.

chore(appium): fix schema json path issues

- the path to the JSON schema is now correct: `lib/appium-config-schema.json`
- add `log-symbols` to devdeps for niceness. this is already a transitive dep
2022-03-09 14:50:45 -08:00