This PR allows us to code playwright integration tests that can potentially replace some of our manual tests and allow us automated testing of the app itself.
Current technical limitations:
* No app level keyboard simulation support (e.g, zoom in, zoom out, etc.)
* No code coverage support, so even though we are testing the app, the code coverage does not reflect this fact
As noted in `API.md`:
- When specifying `universal` you must be building for the `darwin`, `mas`, `mac`, or `osx` platforms. This will generate a universal (M1 and x86) app.
* Attempt to get upgrade working right; in progress
* Got it fixed in Mac
* Fix some linting errors
* Finish fixing upgrade + tests
* Integration testing for global shortcuts
* Regenerate shrinkwrap
* Get rid of deprecated rmdirSync
* Remove instead of rm for 12.x support
* Make dereferencing platform dependent
* Fix folder copy funkiness
* Whoops
* Whoops 2: Extra Whoops
* Update Electron to 13.5.1; Fix auth manual tests
* Rework relock
* Add a request for help.
* Update @types/node to 14
Previous attempt failed by design of `npm pack` / `npm publish`,
as documented at https://docs.npmjs.com/cli/v6/configuring-npm/package-lock-json :
> One key detail about package-lock.json is that it cannot be published,
> and it will be ignored if found in any place other than the toplevel
> package. It shares a format with npm-shrinkwrap.json, which is
> essentially the same file, but allows publication.
>
> This is not recommended unless deploying a CLI tool or otherwise using
> the publication process for producing production packages.
, and we are a CLI tool. Switching to shrinkwrap.