This contains also multiple fixes to make it work.
The following is a non-exhaustive list.
When @Prop default value is a callback, then it is called
instead of set verbatim. This means, when you want a default
value to be a callback, then it needs to be `default: () => () => X`.
jest does not yet properly support WebWorkers, hence the code introduces
an indirection to provide the worker URL.
This in turn required removing the global "store" dependency from
the tests. As a consequence the new NotificatorPlugin takes store
as a dependency. And many of the tests are adjusted to not import
store directly.
Moved StoreModule definition to avoid initializing the global store.
Some of the router code was moved into store. We can later figure out
how to structure it better and move it back.
bip39 needs explicit fallbacks for some of the dependencies.
Fixes to timer mocking. jest supports it natively.
Remove sinon dependency. jest provides all the functionality we need.
Change-Id: I7af3599390c63ce9f99dbd0b1e0870e9f8ca994d
This change makes the files store fully type-safe. It builds with `npm run build` and lints with `npm run lint`, displaying no errors or warnings.
There was an issue where I was unable to use the newer web APIs for filesystem operations, I think TypesScript (and Vue?) may need to be updated - I already tried updating `@types/web`. To mitigate this, I added slim type definitions for only the parts we use. The definitions are exactly as they appear on MDN and even include links to the relevant documentation. In future they can be removed with no compatibility issues.
Change-Id: I7b8b4a5f95caabdb546157c65e9f2f42c5132a6f
We can be more precise and conservative by using the backend
satellite/analytics service. We also no longer need client-side Segment
scripts.
Change-Id: Ic5fb18bea2d388b586ad773e26027d69bde87294